Zasada Jest prosta – Wpisujesz /hud – wybierasz Sobie z gotowca bądź własne położenie i kolor a nawet rodzaj.
Film :
Zaczynamy!
Otwieramy Sinlik CodModa (najczęściej QTM_CodMod.sma)
przed plugin_init dodajemy
new HudGracza[33][6]; enum { Typ=0,R,G,B,X,Y}; new standardowe_ustawienia[6] = {0,0,255,0,2,23}; new Gotowiec_1[6] = {0,0,255,255,70,68}; new Gotowiec_2[6] = {0,255,0,100,70,12}; new vault_hud; new gmsgStatusText;
do plugin_init
vault_hud = nvault_open("CodHud"); gmsgStatusText = get_user_msgid("StatusText"); register_clcmd("say /hud", "ZmienHud");
do client_disconnect
ZapiszHud(id);
Do Pluginu dodajemy Funkcje.
public client_putinserver(id) { WczytajHud(id); } public ZmienHud(id) { new menu = menu_create("Opcje Huda","OpcjeHuda_h") if(!HudGracza[id][Typ]) { menu_additem(menu,"Typ : HudMsg") menu_additem(menu,"Standardowe Ustawienia") menu_additem(menu,"Zmien na Gotowiec (1)") menu_additem(menu,"Zmien na Gotowiec (2)") menu_additem(menu,"Wlasne Ustawienie Huda") } else menu_additem(menu,"Typ : Status Tekst") menu_display(id,menu) } public OpcjeHuda_h(id,menu,item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_CONTINUE; } switch(item) { case 0: { if(!HudGracza[id][Typ]) HudGracza[id][Typ]++; else HudGracza[id][Typ]--; ZmienHud(id) return PLUGIN_CONTINUE; } case 1: { for(new i = 0 ; i < 6;i++) HudGracza[id][i] = standardowe_ustawienia[i]; ZmienHud(id) return PLUGIN_CONTINUE; } case 2: { for(new i = 0 ; i < 6;i++) HudGracza[id][i] = Gotowiec_1[i]; ZmienHud(id) return PLUGIN_CONTINUE; } case 3: { for(new i = 0 ; i < 6;i++) HudGracza[id][i] = Gotowiec_2[i]; ZmienHud(id) return PLUGIN_CONTINUE; } case 4: { WlasneUstawienia(id); return PLUGIN_CONTINUE; } } return PLUGIN_CONTINUE; } public WlasneUstawienia(id) { new menu = menu_create("Zmien Huda","WlasneUstawienia_h") menu_additem(menu,"Skonczylem!"); new txt[32]; formatex(txt,31,"Czerwony + %i",HudGracza[id][R]) menu_additem(menu,txt); formatex(txt,31,"Zielony + %i",HudGracza[id][G]) menu_additem(menu,txt); formatex(txt,31,"Niebieski+ %i",HudGracza[id][B]) menu_additem(menu,txt); formatex(txt,31,"Polozenie X + %i",HudGracza[id][X]) menu_additem(menu,txt); formatex(txt,31,"Polozenie Y + %i",HudGracza[id][Y]) menu_additem(menu,txt); menu_display(id,menu); } public WlasneUstawienia_h(id,menu,item) { if(item == MENU_EXIT) { client_print(id,print_chat,"[CodMod] Wysjcie Spowodowalo standardowe ustawienia") for(new i = 0 ; i < 6;i++) HudGracza[id][i] = standardowe_ustawienia[i]; return PLUGIN_CONTINUE; } switch(item) { case 0: { ZapiszHud(id); menu_destroy(menu) return PLUGIN_CONTINUE; } case 1: { HudGracza[id][R]+=25 if(HudGracza[id][R] > 255) HudGracza[id][R]=0; WlasneUstawienia(id); } case 2: { HudGracza[id][G]+=25 if(HudGracza[id][G] > 255) HudGracza[id][G]=0; WlasneUstawienia(id); } case 3: { HudGracza[id][B]+=25 if(HudGracza[id][B] > 255) HudGracza[id][B]=0; WlasneUstawienia(id); } case 4: { HudGracza[id][X]+=5; if(HudGracza[id][X] > 72) HudGracza[id][X]=0; WlasneUstawienia(id); } case 5: { HudGracza[id][Y]+=5; if(HudGracza[id][Y] > 80) HudGracza[id][Y]=0; WlasneUstawienia(id); } } return PLUGIN_CONTINUE; } public ZapiszHud(id) { new vaultkey[128],vaultdata[256] format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", HudGracza[id][Typ],HudGracza[id][R],HudGracza[id][G],HudGracza[id][B],HudGracza[id][X],HudGracza[id][Y]) format(vaultkey, charsmax(vaultkey),"Hud-%s", nazwa_gracza[id]); nvault_set(vault_hud,vaultkey,vaultdata); } public WczytajHud(id) { new vaultkey[128],vaultdata[256] format(vaultkey, charsmax(vaultkey),"Hud-%s", nazwa_gracza[id]); if(!nvault_get(vault_hud,vaultkey,vaultdata,255)) // Jezeli nie ma danych gracza sprawdza stary zapis. { for(new i = 0 ; i < 6;i++) HudGracza[id][i] = standardowe_ustawienia[i]; return PLUGIN_CONTINUE; } replace_all(vaultdata, 255, "#", " "); new danegracza[6][32]; parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31); for(new i = 0 ; i < 6;i++) HudGracza[id][i] = str_to_num(danegracza[i]); return PLUGIN_CONTINUE; }
i ZMieniamy PokazInfrormacje Na Ten :
public PokazInformacje(id) { id -= ZADANIE_POKAZ_INFORMACJE; if(!is_user_connected(id)) { remove_task(id+ZADANIE_POKAZ_INFORMACJE); return PLUGIN_CONTINUE; } if(!is_user_alive(id)) { new target = pev(id, pev_iuser2); if(!target) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]); return PLUGIN_CONTINUE; } new status[1024] if(!HudGracza[id][Typ]) { format(status,1023," "); set_hudmessage(HudGracza[id][R], HudGracza[id][G], HudGracza[id][B], float(HudGracza[id][X])/100, float(HudGracza[id][Y])/100, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]); } else { format(status,1023,"Klasa: %s [%i] XP: %i/%i Perk: %s", nazwy_klas[klasa_gracza[id]],poziom_gracza[id], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), nazwy_perkow[perk_gracza[id]]); } message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id) write_byte(0) write_string(status) message_end() return PLUGIN_CONTINUE; }
Wsio!