To całe sma:
/* ================================================================================================ / * * RPG MOD: * ------------------ * Potrzebujesz: Ten plik do kompilacji oraz edycji klas * Działa na: Counter Strike 1.6 * * Instalacja: * ------------------ * Plik: rpgmod.amxx wrzuć do folderu * Plik: rpgmod.sma wrzuć do folderu * * Folder: models * Folder: sound * * Cvary: * ------------------ * XP_Normalne = Xp za każdego fraga (bez premii) * XP_Hs = XP za zabicie headshotem * XP_Kosa = XP za zabicia z noża * * Kontakt: * ----------------- * email: [email protected] * / ================================================================================================= */ #include <amxmodx> #include <amxmisc> #include <nvault> #include <ColorChat> #define MAXKLASY 9 new GraczXP[33] new GraczPoziom[33] new GraczKlasa[33] new XP_Normalne new XP_Kosa new XP_Hs new ZapiszXP new g_vault new const KLASY[MAXKLASY][] = { "Brak", "Spider Man", "Szybcior", "Pikachu", "Power Rangers", "Robin Hood", "Punisher (P)", "Ninja (P)", "Tytan (P)" } new const POZIOMY[7] = { 0, 100, 200, 400, 800, 1600, 3200 } public plugin_init() { register_plugin("RPG", "1.1", "Evolution") register_event("DeathMsg", "Smierc", "a") ZapiszXP = register_cvar("ZapiszXP","1") XP_Normalne=register_cvar("XP_za_zabicie", "100") XP_Hs=register_cvar("XP_bonus_za_hs","30") XP_Kosa=register_cvar("XP_bonus_za_kose","30") g_vault = nvault_open("RPG") register_clcmd("say /klasa", "ZmianaKlasy") register_clcmd("say /sklep", "sklep") register_clcmd("say /exp", "PokazWHudzie") register_menucmd(register_menuid("Mini Sklep"), 1023, "select_sklep_menu") } public Smierc() { new attacker = read_data( 1 ); new headshot = read_data( 3 ); if(GraczKlasa[attacker] == 0) { return PLUGIN_CONTINUE; } new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo); GraczXP[attacker] += get_pcvar_num(XP_Normalne) if(headshot) GraczXP[attacker] += get_pcvar_num(XP_Hs) if(weapon == CSW_KNIFE) GraczXP[attacker] += get_pcvar_num(XP_Kosa) while(GraczXP[attacker] >= POZIOMY[GraczPoziom[attacker]]) { client_print(attacker, print_chat, "[RPG] ***** wymiatasz ! Teraz wiesz wiecej o zabijaniu i posiadasz %i klasy %s!", GraczPoziom[attacker],KLASY[GraczKlasa[attacker]]) GraczPoziom[attacker] += 1 } PokazWHudzie(attacker) return PLUGIN_HANDLED; } public PokazWHudzie(id) { set_hudmessage(255, 255, 0, 0.0, 0.90, 0, 6.0, 12.0) show_hudmessage(id, "Klasa: %s^nPoziom: %i(%s)",KLASY[GraczKlasa[id]],GraczPoziom[id],GraczXP[id]) } public ZmianaKlasy(id) { new menu = menu_create("Wybierz Klase" , "Wybor_Klasy"); menu_additem(menu, "\wSpider Man", "1", 0) menu_additem(menu, "\wSzybcior", "2", 0) menu_additem(menu, "\wPikachu", "3", 0) menu_additem(menu, "\wPower Rangers", "4", 0) menu_additem(menu, "\wRobin Hood", "5", 0) menu_additem(menu, "\wPunisher (P)", "6", ADMIN_IMMUNITY) menu_additem(menu, "\wNinja (P)", "7", ADMIN_IMMUNITY) menu_additem(menu, "\wTytan (P)", "8", ADMIN_IMMUNITY) menu_setprop(menu , MPROP_EXIT , MEXIT_ALL); menu_display(id , menu , 0); return PLUGIN_CONTINUE; } public Wybor_Klasy(id , menu , item) { if(item == MENU_EXIT) { menu_destroy(menu); } new iKomenda[6] , iNazwa[64]; new access , callback; menu_item_getinfo(menu , item , access , iKomenda , 5 , iNazwa , 63 , callback); new i = str_to_num(iKomenda) if(GraczKlasa[id] != i) { GraczKlasa[id] = client_print(id,print_chat,"Teraz jestes %s",KLASY[i]) } else { ColorChat(id, RED, "^x04 [RPG] ~^x01 Wybrałeś Klase^x04 %s",KLASY[i]) } menu_destroy(menu); return PLUGIN_CONTINUE } public client_connect(id) { if(get_pcvar_num(ZapiszXP) == 1) { WczytajDane(id) } } public client_disconnect(id) { if(get_pcvar_num(ZapiszXP) == 1) { ZapiszDane(id) } } public ZapiszDane(id) { new AuthID[33] get_user_authid(id,AuthID,32) new vaultklucz[64],vaultdane[256] format(vaultklucz,63,"%s-RPG",AuthID) format(vaultdane,255,"%i#%i#",GraczXP[id],GraczPoziom[id]) nvault_set(g_vault,vaultklucz,vaultdane) return PLUGIN_CONTINUE } public WczytajDane(id) { new AuthID[33] get_user_authid(id,AuthID,32) new vaultklucz[64],vaultdane[256] format(vaultklucz,63,"%s-RPG",AuthID) format(vaultdane,255,"%i#%i#",GraczXP[id],GraczPoziom[id]) nvault_get(g_vault,vaultklucz,vaultdane,255) replace_all(vaultdane, 255, "#", " ") new graczxp[32], graczpoziom[32] parse(vaultdane, graczxp, 31, graczpoziom, 31) GraczXP[id] = str_to_num(graczxp) GraczPoziom[id] = str_to_num(graczpoziom) return PLUGIN_CONTINUE } public sklep(id) { new text[513] format(text, 512, "\yMini Sklep : ^n\w1. Exp [250] - \r5000$^n\w2. Exp [500] \r10000$^n\w3. Exp [750] \r14500$^n\w6. Exp [1000] \r16000$^n\w0. Zamknij") new keys = (1<<0)|(1<<4)|(1<<5)|(1<<9) show_menu(id, keys, text) return PLUGIN_HANDLED } public select_sklep_menu(id, key) { new kasa = cs_get_user_money(id); switch(key) { case 0: { if(kasa >= doswiadczenie { new exp = cod_get_user_xp(id); new losowy = random_num(expmin, expmax); cs_set_user_money(id, kasa-doswiadczenie); cod_set_user_xp(id, exp+losowy) ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Kupiles^x04 250^x01 expa } else ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Masz za malo ^x04kasy!"); } case 1: { if(kasa >= doswiadczenie) { new exp = cod_get_user_xp(id); new losowy = random_num(expmin, expmax); cs_set_user_money(id, kasa-doswiadczenie); cod_set_user_xp(id, exp+losowy) ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Kupiles^x04 500^x01 expa } else ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Masz za malo ^x04kasy!"); } case 2: { } case 3: { } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED }
To wycięty kod :
if(kasa >= doswiadczenie) { new exp = cod_get_user_xp(id); new losowy = random_num(expmin, expmax); cs_set_user_money(id, kasa-doswiadczenie); cod_set_user_xp(id, exp+losowy) ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Kupiles^x04 500^x01 expa } else ColorChat(id, GREEN, "^x04 [RPG] ~^x01 Masz za malo ^x04kasy!"); }Proszę o przerobienie tego kodu.