Source Modification Centre - LOGO
Gość: ( Logowanie | Rejestracja )

 
MENU
 
ZASOBY
 
 
LEGENDA
 
REKLAMA
dobry fotografia ślubna Gorzów Wielkopolski

tanie hotel Gorzów Wielkopolski

Suknie ślubne gorzów wlkp


fotograf na studniówkę Szczecin

wynajem samochodów gorzów wielkopolski

Encyklopedia wiedzy o grach Valve

auto do ślubu gorzów wielkopolski

strony internetowe gorzów wielkopolski

NASZ BUTTON
SMC
 
NA FORUM
 
 
TUTORIALE - CODING [ Dodaj ]
Jak dodać nową komendę konsoli
[ 2005-07-23 18:48:55  Dodał:  mefi   Wyświetleń: 2360   Komentarzy: 1  ]
    W tym tutorialu dowiemy się jak stworzyć własną komendę konsoli. Nowa komenda będzie miała za zadanie wyświelać aktualny czas spędzony na mapie.
Aby to zrobić należy otworzyć projekt serwera, w nim plik PLAYER.CPP. Teraz szukamy funkcji CBasePlayer::GetViewModel i pod nią wklejamy poniższy kod. Oczywiście jak chcesz możesz wkleić ten kod w dowolnym miejscu pliku, też będzie działać.

CON_COMMAND( game_time, "Pokazuje ile czasu jest juz wlaczona mapa" )
{
   int time = gpGlobals->curtime;
   int seconds = (time % 60); 
   int minutes = (time / 60);           
      
   if ( engine->Cmd_Argc()>1 )
   {         
       char text[256];
       Q_snprintf( text, sizeof(text), "Czas gry: %02d:%02d\n", minutes, seconds );

       if ( FStrEq( engine->Cmd_Argv(1), "1" ) )
       UTIL_ClientPrintAll( HUD_PRINTCENTER, text );   
       else
       if ( FStrEq( engine->Cmd_Argv(1), "2" ) )
       UTIL_ClientPrintAll( HUD_PRINTCONSOLE, text );   
   }
   else
   UTIL_ClientPrintAll( HUD_PRINTCONSOLE, "Sposob uzycia: game_time (1 lub 0)\n1 - Wyswietlanie na srodku ekranu\n2 - Wyświetalnie w konsoli\n" );   
}

Teraz krótkie objaśnienie. Jak widać za dodanie nowej komendy odpowiada funkcja CON_COMMAND. Jej pierwszy parametr to nazwa nowej komendy w tym przypadku game_time, a drugi to opis, który jest zupełnie nieistotny. Dalej zmiennej time przypisywany jest aktualny czas gry. W linii: if ( engine->Cmd_Argc()>1 ) sprawdzane jest czy podaliśmy przynajmniej jeden parametr do naszej komendy. Jeżeli nie to wyświetlany jest tekst jakie parametry mamy dostępne. Dalej funkcją Q_snprintf formatujemy tekst tak, aby wyświetlić go w postaci minut i sekund. Funkcja FStrEq porónuje dwa stringi, u nas pierwszy string to pierwszy argument jaki podaliśmy i drugi string to "1". Jeżeli są sobie równe następuje wyświetlenie czasu gry na środku ekranu. Do wyświetlenia tekstu wykorzystaliśmy funkcję UTIL_ClientPrintAll, w której modyfikując pierwszy parametr możemy zmieniać sposób wyświetlania tekstu. Oto dostępne parametry dla tej funkcji:
- HUD_PRINTNOTIFY
- HUD_PRINTCONSOLE
- HUD_PRINTTALK
- HUD_PRINTCENTER
    Po skompilowaniu kodu i wczytaniu mapy wpiszcie GAME_TIME 1, aby wyświetlić czas gry na środku ekranu lub GAME_TIME 2 co spowoduje wyświetlenie czasu w konsoli. Jeżeli niechce wam się co chwile tego wpisywać możecie zrobić skrót klawiszowy. Przypisanie komendy do klawisza wykonuje polecenie BIND.  Konstrukcja wygląda następująco: BIND . Powiedzmy, że chcemy podpiąć to pod klawisz F11, piszemy więc BIND F11 "GAME_TIME 1".

Autor: mefi
Komentarze ( 1 ) / Dodaj komentarz
 
KOMENTARZE  
[ 2010-10-25 21:07:16  Dodał:  Wolf480  ]
 
Jeśli robi się moda do source 2007, to należy użyć args.ArgC() zamiast engine->Cmd_Argc() oraz args.Arg() zamiast engine->Cmd_Argv()
 
INFO
 
NAJNOWSZE
 
SHOUTBOX
MoonBlaze: ciasto is a lie
zwieracz: Przyłącz się do mnie, mam ciasto
Jodla: <kontemplujac stwierdza iz obecna rzeczywistosc jest do bani>
MoonBlaze: sm_ban @Dabu 1
Dabu: Ta strona umarła, zapraszam lepiej na heacrab.pl :D [/koniec reklamy]
Jodla: open beta nowego gmoda a tu 0 info na stronie ...może czas to zmienic zwłaszcza iż screeny z GM13 wygladaja apetycznie
Dabu: web 3.0
Elektryk: Link
Tracha: Ruski gracz!
zwieracz: Za moich czasów, to się bawilismy przy takiej gierce, gdzie zając łapaj kury za jaja. A moze to był wilk.
 
ANKIETA

[ Czas generowania strony: 0.070 secs. ]

Copyright (c) 2002-2005 by Mefi & .raven
Wszelkie prawa zastrzeżone

Fotograf studniówka
Salon sukien ślubnych gorzów



38.107.179.22138.107.179.221

Polecamy:

mpblawcenterbonprix katalogRodziceBieszczady noclegiwww.tlum.bytom.plwww.styl.powazny.kobierzyce.pl GotLink.pl Poznań Porównanie cen Konfekcja Cyk artykuły biurowe Tiens