Witam wszystkich forumowiczów,
Ostatniego czasu analizowałem silnik niedawno wydanego moda GWM. Napotkałem tam dwie funkcje, które bardzo mnie zainteresowały. Chciałbym aby znalazły one miejsce w moim Call Of Duty mod. Potrzebna jest tutaj jednak wasza pomoc. Z amxx dopiero zaczynam, co nieco umiem już zrobić, ale czasami brakuje wiedzy i umiejętności.
Tutaj jest funkcja, która dodaje serwer do gamemenu gracza jednocześnie dając mu za to nagrodę:
Na początku pluginu:
register_clcmd( "say /dodaj" , "dodajFunc" );
public dodajFunc
public dodajFunc( id ){ new szKey[ 256 ] , szValue[ 16 ]; #if defined SAVE_BOTH new szAuth[64]; get_user_authid(id,szAuth,charsmax(szAuth)) if(is_steam(szAuth)) formatex( szKey , charsmax( szKey ) , "%s" , szAuth); else formatex( szKey , charsmax( szKey ) , "%s" , nazwa_gracza[id]); #endif nvault_get( gVaultDodaj , szKey , szValue , charsmax( szValue ) ); new iValue = str_to_num( szValue ); if( !iValue ){ num_to_str( 1 , szValue , charsmax( szValue ) ); nvault_set( gVaultDodaj , szKey , szValue ); giveExp( id , 1000 ); ColorChat( id , GREEN , "[GWM]^x01 Dodales serwer do gamemenu dlatego otrzymales 1000 expa" ); } else{ ColorChat( id , GREEN , "[GWM]^x01 Juz tego uzywales" ); } server_cmd( "addMenu %d" , id ); server_exec(); }
A tutaj funkcja, która wyłącza HUD.
Na początku:
register_clcmd("say /hud","hud")
public hud
public hud(id) { bHud[id] = !bHud[id]; return PLUGIN_HANDLED; }
I tutaj jeszcze znalazłem takie coś w public PokazInformacje. Jeżeli dobrze kojarzę, to if(!bHud[id]) jest tutaj bardzo znaczące.
if(!bHud[id]) { new ileMa = doswiadczenie_gracza[id],ilePotrzeba = doswiadczenie_poziomu[poziom_gracza[id]],ilePotrzebaBylo = poziom_gracza[id]-1 >= 0 ? doswiadczenie_poziomu[poziom_gracza[id]-1] : 0 new Float:fProcent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0; new szTmp[64]; formatex(szTmp,charsmax(szTmp),"[Zdrowie: %d]",get_user_health(id)); set_hudmessage(0, 255, 0, 0.21, 0.02, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i %0.1f %%]^n[Poziom : %i]^n[Perk : %s]^n[Wytrzymalosc : %i]^n%s",nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]],fProcent,poziom_gracza[id],nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]],iWytrzymaloscItemu[id],get_user_health(id) > 255 ? szTmp : "") }
I teraz małe podsumowanie. Chciałbym abyście pomogli złożyć mi plugin lub dostosować owe funkcje do silnika nowego COD'a. Jeżeli ktoś będzie potrafił, to niech mi wytłumaczy działanie owych funkcji. Nie chcę dostać wyłącznie gotowca, oprócz niego chciałbym nabyć jakąś wiedzę.
P.S Jeżeli nie ten dział, to najmocniej przepraszam.
Z poważaniem,