Offline |
 |
 |
Csatlakozott:2016.03.05. 20:56 Hozzászólások:666 Megköszönt másnak: 27 alkalommal Megköszönték neki: 124 alkalommal
|
Sziasztok.
Elkezdtem készíteni egy Statrak Skin Menüt, ami statrakos fegyverekből áll és ölni kell, hogy a következő fegyvert megszerezhesd. Aki CS:GO-zik annak nem kell bemutatnom miis az a statrak. (Röviden: Csak az adott fegyverrel számolja az ölést)
Nos a probléma az lenne, hogy bármilyen fegyvert felszerelek ha megvan a szükséges ölés a 2. AK47 skinnél kiirja, hogy 40 ölés szükséges. Ha van mindeggyikből 900 statrak pontom és felszerelek valamilyen skint akkor a 2. skinnél ez történik(De a statrak pontjaim nem vesznek el).
Legalább 1-1.5órája nézegetem ezt de nemtudok rájönni mi lehet a probléma.
Aki esetleg megtalálja legyen szíves segíteni.UI: A kész plugin kiadásra fog kerülni a fórumon, mert még ilyen plugint nemigen láttam. SMA: #include <amxmodx> #include <fakemeta> #include <dhudmessage> #include <fvault> #include <colorchat> new const PLUGIN[] = "Statrak Skin Menu" new const VERZIO[] = "1.0" new const KESZITO[] = "exodus" new const PREFIX[] = "Statrak Skin Menu" new const file[] = "statrak" //Fájl neve amibe ment, ne nyújl hozzá enum _:valami { Neve[32], Oles[8] } new const FEGYOK[][valami] = { //"Fegyver neve", Szükséges Ölés { "AK47 | Default", 0 }, { "AK47 | Aquamarine", 40 }, { "AK47 | Point Disarray", 80 }, { "AK47 | Asiimov", 160 } } new const SZOVEG[][] = { { "A Skin Felszerelése" }, { "A \yStatrak* \wNullázása" }, { "Ölés szükséges" }, { "\yStatrak*:" }, { "Sikeresen felszerelted ezt:" } } new skin[0][33] new ak47_st1[33], ak47_st2[33], ak47_st3[33], ak47_st4[33] public plugin_init() { register_plugin(PLUGIN,VERZIO,KESZITO) register_event("CurWeapon", "csere", "be", "1=1") register_event("DeathMsg", "Halal", "a") register_clcmd("say /menu", "FoMenu") register_clcmd("say /add", "TesztAdd") } public TesztAdd(id) { for(new i; i < 1; i++) { ak47_st1[id] += 30 ak47_st2[id] += 30 ak47_st3[id] += 30 ak47_st4[id] += 30 } } public plugin_precache() { precache_model("models/exodus/Default/AK_DF.mdl") precache_model("models/exodus/Ak47/Aquamarine.mdl") precache_model("models/exodus/Ak47/Point.mdl") precache_model("models/exodus/Ak47/Asiimov.mdl") } public csere(id) { new fegyver = get_user_weapon(id) if(skin[0][id] == 0 && fegyver == CSW_AK47) { set_pev(id, pev_viewmodel2, "models/exodus/Default/AK_DF.mdl") } if(skin[0][id] == 1 && fegyver == CSW_AK47) { set_pev(id, pev_viewmodel2, "models/exodus/Ak47/Aquamarine.mdl") } if(skin[0][id] == 2 && fegyver == CSW_AK47) { set_pev(id, pev_viewmodel2, "models/exodus/Ak47/Point.mdl") } if(skin[0][id] == 3 && fegyver == CSW_AK47) { set_pev(id, pev_viewmodel2, "models/exodus/Ak47/Asiimov.mdl") } } public Halal() { new id = read_data(1) if(id == read_data(2) || id == 0) return PLUGIN_HANDLED if(get_user_weapon(id) == CSW_AK47 && skin[0][id] == 0) { ak47_st1[id]++ set_dhudmessage(random(255), random(255), random(255), -1.0, 0.15, 0, 6.0, 2.0) show_dhudmessage(id, "+1 Statrak* Kills") } if(get_user_weapon(id) == CSW_AK47 && skin[0][id] == 1) { ak47_st2[id]++ set_dhudmessage(random(255), random(255), random(255), -1.0, 0.15, 0, 6.0, 2.0) show_dhudmessage(id, "+1 Statrak* Kills") } if(get_user_weapon(id) == CSW_AK47 && skin[0][id] == 2) { ak47_st3[id]++ set_dhudmessage(random(255), random(255), random(255), -1.0, 0.15, 0, 6.0, 2.0) show_dhudmessage(id, "+1 Statrak* Kills") } if(get_user_weapon(id) == CSW_AK47 && skin[0][id] == 3) { ak47_st4[id]++ set_dhudmessage(random(255), random(255), random(255), -1.0, 0.15, 0, 6.0, 2.0) show_dhudmessage(id, "+1 Statrak* Kills") } return PLUGIN_CONTINUE } public client_disconnect(id) { Save(id) skin[0][id] = 0 } public FoMenu(id) { new String[121] formatex(String, charsmax(String), "%s",PREFIX) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "AK47 Skinek") menu_additem(menu, String, "m1",0) menu_display(id, menu, 0) return PLUGIN_HANDLED } public ak47menu(id) { new String[121] formatex(String, charsmax(String), "%s \d>> \rAK47 Menü",PREFIX) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "%s %s %d",FEGYOK[0][Neve],SZOVEG[3],ak47_st1[id]) menu_additem(menu, String, "a1",0) if(ak47_st1[id] >= FEGYOK[1][Oles]) { formatex(String, charsmax(String), "%s %s %d",FEGYOK[1][Neve],SZOVEG[3],ak47_st2[id]) menu_additem(menu, String, "a2",0) } else { formatex(String, charsmax(String), "%d %s",FEGYOK[1][Oles],SZOVEG[2]) menu_additem(menu, String, "v1",0) } if(ak47_st2[id] >= FEGYOK[2][Oles]) { formatex(String, charsmax(String), "%s %s %d",FEGYOK[2][Neve],SZOVEG[3],ak47_st3[id]) menu_additem(menu, String, "a3",0) } else { formatex(String, charsmax(String), "%d %s",FEGYOK[2][Oles],SZOVEG[2]) menu_additem(menu, String, "v1",0) } if(ak47_st3[id] >= FEGYOK[3][Oles]) { formatex(String, charsmax(String), "%s %s %d",FEGYOK[3][Neve],SZOVEG[3],ak47_st4[id]) menu_additem(menu, String, "a4",0) } else { formatex(String, charsmax(String), "%d %s", FEGYOK[3][Oles], SZOVEG[2]) menu_additem(menu, String, "v1",0) } menu_display(id, menu, 0) return PLUGIN_HANDLED } public ak47defmenu(id) { new String[121] formatex(String, charsmax(String), "%s \d>> %s^n^n%s %d",PREFIX,FEGYOK[0][Neve],SZOVEG[3],ak47_st1[id]) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "%s",SZOVEG[1]) menu_additem(menu, String, "f3",0) menu_display(id, menu, 0) return PLUGIN_HANDLED } public aquamenu(id) { new String[121] formatex(String, charsmax(String), "%s \d>> %s^n^n%s %d",PREFIX,FEGYOK[1][Neve],SZOVEG[3],ak47_st2[id]) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "%s",SZOVEG[0]) menu_additem(menu, String, "f1",0) formatex(String, charsmax(String), "%s",SZOVEG[1]) menu_additem(menu, String, "f4",0) menu_display(id, menu, 0) return PLUGIN_HANDLED; } public pointmenu(id) { new String[121] formatex(String, charsmax(String), "%s \d>> %s^n^n%s %d",PREFIX,FEGYOK[2][Neve],SZOVEG[3],ak47_st3[id]) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "%s",SZOVEG[0]) menu_additem(menu, String, "f2",0) formatex(String, charsmax(String), "%s",SZOVEG[1]) menu_additem(menu, String, "f5",0) menu_display(id, menu, 0) return PLUGIN_HANDLED } public ak47asi(id) { new String[121] formatex(String, charsmax(String), "%s \d>> %s^n^n%s %d",PREFIX,FEGYOK[3][Neve],SZOVEG[3],ak47_st4[id]) new menu = menu_create(String, "menu_handler") formatex(String, charsmax(String), "%s",SZOVEG[0]) menu_additem(menu, String, "f6",0) formatex(String, charsmax(String), "%s",SZOVEG[1]) menu_additem(menu, String, "f7",0) menu_display(id, menu, 0) return PLUGIN_HANDLED } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data[1]); switch(data[0]) { case 'a': { switch(key) { case 1: ak47defmenu(id) case 2: aquamenu(id) case 3: pointmenu(id) case 4: ak47asi(id) } } case 'm': { switch(key) { case 1: ak47menu(id) } } case 'f': { switch(key) { case 1: { skin[0][id] = 1 ColorChat(id, GREEN, "[%s] » ^1%s ^4%s",PREFIX,SZOVEG[4],FEGYOK[1][Neve]) } case 2: { skin[0][id] = 2 ColorChat(id, GREEN, "[%s] » ^1%s ^4%s",PREFIX,SZOVEG[4],FEGYOK[2][Neve]) } case 3: { ak47_st1[id] = 0 } case 4: { ak47_st2[id] = 0 } case 5: { ak47_st3[id] = 0 } case 6: { skin[0][id] = 3 ColorChat(id, GREEN, "[%s] » ^1%s ^4%s",PREFIX,SZOVEG[4],FEGYOK[3][Neve]) } case 7: { ak47_st4[id] = 0 } } } case 'v': { switch(key) { case 1: ak47menu(id) } } } menu_destroy(menu) return PLUGIN_HANDLED } public client_authorized(id) { if( !is_user_hltv(id) && !is_user_bot(id) ) { Load(id) } } Load(id) { new nev[35] get_user_name(id, nev, sizeof(nev)-1) new mentes[512] format(mentes, 511, "%i %i %i %i", ak47_st1[id], ak47_st2[id], ak47_st3[id], ak47_st4[id]); if(fvault_get_data(file, nev, mentes, 511)) { new st1[32], st2[32], st3[32], st4[32] parse(mentes, st1, 31, st2, 31, st3, 31, st4, 31); ak47_st1[id] = str_to_num(st1) ak47_st2[id] = str_to_num(st2) ak47_st3[id] = str_to_num(st3) ak47_st4[id] = str_to_num(st4) } else { ak47_st1[id] = 0 ak47_st2[id] = 0 ak47_st3[id] = 0 ak47_st4[id] = 0 } } Save(id) { new nev[35] get_user_name(id, nev, sizeof(nev)-1) new mentes[512] format(mentes, 511, "%i %i %i %i", ak47_st1[id], ak47_st2[id], ak47_st3[id], ak47_st4[id]); fvault_set_data(file, nev, mentes) }
|
|