|
Member
Join Date: Oct 2011
Location: Serbia, Nish
|

11-03-2011
, 13:30
Help me FIX Some stuff
|
#1
|
PHP Code:
/* Item Shop: 60% Hero Shop: 70% Odabir Heroja: 100% Imena Heroja: 100% Talent Points & Talent System: 80% Honor Points & Honor System: 70% Leveling: 80% Respawn: 0% Ability Power: 100% Misije: 100% [|||||\\\\\] */
#include <amxmodx> #include <cstrike> #include <colorchat> #include <fakemeta> #include <fun> #include <hamsandwich> #include <nvault>
#define PLUGIN "Multi Hero Mod" #define VERSION "0.5" #define AUTHOR "MiloS -.-"
enum { Nema = 0, hero_Garex, hero_Zero_Beam, hero_Moopet, hero_OvidiuS, hero_Nocturne }
new const imena_heroja[][] = { "Nema", "Garex", "Zero-Beam", "Moopet", "OvidiuS", "Nocturne" }
new const ability_heroja[][] = { "Nema", "Vanish", //Garex "No-Clip", //Zero-Beam "Speed", //Moopet "God Mode", //OvidiuS "Low Gravity" //Nocturne }
new const shop_imena_heroja[][] = { "Nema", "\yOvidiuS \r[\wCena: \d13645 \wHonor Poena\r]", "\yNocturne \r[\wCena: \d17555 \wHonor Poena\r]" }
new const iskustvo_levelu[] = { 5, 20, 45, 80, 125, 180, 245, 320, 405, 500, 605, 720, 845, 980, 1125, 1280, 1445, 1620, 1805, 2000, 2205, 2420, 2645, 2880, 3125, 3380, 3645, 3920, 4205, 4500, 4805, 5120, 5445, 5780, 6125, 6480, 6845, 7220, 7605, 8000, 8405, 8820, 9245, 9680, 10125, 10580, 11045, 11520, 12005, 12500, 13005, 13520, 14045, 14580, 15125, 15680, 16245, 16820, 17405, 18000, 18605, 19220, 19845, 20480, 21125, 21780, 22445, 23120, 23805, 24500, 25205, 25920, 26645, 27380, 28125, 28880, 29645, 30420, 31205, 32000, 32805, 33620, 34445, 35280, 36125, 36980, 37845, 38720, 39605, 40500, 41405, 42320, 43245, 44180, 45125, 46080, 47045, 48020, 49005, 50000 }
new const personal_iskustvo_levelu[] = { 5, 20, 45, 80, 125, 180, 245, 320, 405, 500, 605, 720, 845, 980, 1125, 1280, 1445, 1620, 1805, 2000 }
new ubistva_igraca[33] new honor_poeni_igraca[33] new talent_poeni_igraca[33] new personal_level_igraca[33] new personal_iskustvo_igraca[33] new iskustvo_igraca[33] new level_igraca[33] new heroj_igraca[33] new nov_heroj_igraca[33]
new talent_prosireni_um[33] new talent_inteligentni_napad[33] new talent_dobrodusni_duh[33]
new bool:OvidiuS[33] = false new bool:Nocturne[33] = false
new bool:enable_hud[33] new bool:iskoristio_ability[33] = false
new bool:ability_Moopet[33]
new g_Vault
new ID_igraca[33][35]
new p_KillXP new p_KillHonor new p_LevelHonor new p_PersonalLevelXP
new g_CoolDown[33] static Float:f_LastUse[33]
new SyncHud new SyncHud1
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_Vault = nvault_open("MultiHero") register_message(get_user_msgid("StatusIcon"), "StatusIconRemoveBuyZone") register_clcmd("say /hero", "cmdChooseHero") register_clcmd("say /shop", "cmdShop") register_clcmd("say /statistike", "cmdStats") register_clcmd("say /talent", "cmdTalents") register_clcmd("say /misije", "cmdMisije") register_clcmd("say /test", "cmdTest") register_forward(FM_EmitSound, "EmitSound") register_event("CurWeapon", "CurWeapon", "be", "1=1") RegisterHam(Ham_TakeDamage, "player", "TakeDamage") RegisterHam(Ham_Killed, "player", "Death", 1) RegisterHam(Ham_Spawn, "player", "Spawn", 1) p_KillXP = register_cvar("mh_killxp", "35") p_KillHonor = register_cvar("mh_killhonor", "35") p_LevelHonor = register_cvar("mh_levelhonor", "50") p_PersonalLevelXP = register_cvar("mh_personal_levelxp", "20") SyncHud = CreateHudSyncObj() SyncHud1 = CreateHudSyncObj() }
public cmdTest(id) { talent_poeni_igraca[id] += 5 }
public client_putinserver(id) { set_task(0.1, "ShowStats", id + 100) set_task(60.0, "ShowUputstvo", id + 101) }
public client_authorized(id) { get_user_authid(id, ID_igraca[id], 34) }
public client_disconnect(id) { remove_task(id + 100) remove_task(id + 101) SacuvajPodatke(id) }
public StatusIconRemoveBuyZone(msgid, msgdest, id) { static szIcon[8] get_msg_arg_string(2, szIcon, 7) if(equal(szIcon, "buyzone") && get_msg_arg_int(1)) { set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE }
public KoristiAbility(id) { if(!is_user_alive(id)) { return PLUGIN_HANDLED } new Float:szServerTime = get_gametime() if(f_LastUse[id] < szServerTime) { g_CoolDown[id] = 90 f_LastUse[id] = szServerTime + g_CoolDown[id] set_task(1.0, "TaskCoolDown", id, _, _, "a", g_CoolDown[id]) } switch(heroj_igraca[id]) { case hero_Garex: { if(iskoristio_ability[id]) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!") return PLUGIN_HANDLED } else { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Iskoristio si Ability Power!") } } case hero_Zero_Beam: { if(iskoristio_ability[id]) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!") return PLUGIN_HANDLED } else { set_user_noclip(id, 1) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Iskoristio si Ability Power!") } } case hero_Moopet: { if(iskoristio_ability[id]) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!") return PLUGIN_HANDLED } else { set_user_maxspeed(id, 400.0) ability_Moopet[id] = true ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Iskoristio si Ability Power!") } } case hero_OvidiuS: { if(iskoristio_ability[id]) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!") return PLUGIN_HANDLED } else { set_user_godmode(id, 1) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Iskoristio si Ability Power!") } } case hero_Nocturne: { if(iskoristio_ability[id]) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 180. Sekunde!") return PLUGIN_HANDLED } else { set_user_gravity(id, get_user_gravity(id) - 0.7) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Iskoristio si Ability Power!") } } } set_task(5.0, "SkloniAbility", id) iskoristio_ability[id] = true return PLUGIN_CONTINUE }
public TaskCoolDown(id) { if(g_CoolDown[id] == 1) { set_hudmessage(0, 127, 255, -1.0, 0.79, 0, 6.0, 1.0) ShowSyncHudMsg(id, SyncHud1, "Sada mozes koristiti Ability Power") iskoristio_ability[id] = false } else { set_hudmessage(0, 127, 255, -1.0, 0.79, 0, 6.0, 1.0) ShowSyncHudMsg(id, SyncHud1, "[Ability Power Cooldown: %d]", g_CoolDown[id]) } g_CoolDown[id]-- }
public SkloniAbility(id) { switch(heroj_igraca[id]) { case hero_Garex: { set_user_rendering(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje") } case hero_Zero_Beam: { set_user_noclip(id, 0) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje") } case hero_Moopet: { set_user_maxspeed(id, 250.0) ability_Moopet[id] = false ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje") } case hero_OvidiuS: { set_user_godmode(id, 0) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje") } case hero_Nocturne: { set_user_gravity(id, 1.0) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje") } } }
public cmdChooseHero(id) { new cb = menu_makecallback("ChooseHero_CallBack") new menu = menu_create("\rIzaberi Heroja", "ChooseHero_Handle") new heroj[64] for(new i = 1; i < sizeof imena_heroja; i++) { UcitajPodatke(id, i) format(heroj, charsmax(heroj), "%s \r[\yLevel \d%i\r]", imena_heroja[i], level_igraca[id]) menu_additem(menu, heroj, _, _, cb) } menu_setprop(menu, MPROP_EXITNAME, "Izlaz") menu_display(id, menu) UcitajPodatke(id, heroj_igraca[id]) } public ChooseHero_CallBack(id, menu, item) { if(!OvidiuS[id] && item == 3 || !Nocturne[id] && item == 4) { return ITEM_DISABLED } else { return ITEM_ENABLED } return PLUGIN_CONTINUE } public ChooseHero_Handle(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } item ++ if(heroj_igraca[id]) { nov_heroj_igraca[id] = item ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Heroj ce biti promenjen u sledecoj rundi") } else { heroj_igraca[id] = item UcitajPodatke(id, heroj_igraca[id]) Spawn(id) } return PLUGIN_CONTINUE }
public cmdShop(id) { new ime_menija[128] format(ime_menija, charsmax(ime_menija), "\rShop:^nImas %d Honor Poena", honor_poeni_igraca[id]) new menu = menu_create(ime_menija, "Shop_Handle") menu_additem(menu, "Hero Shop") menu_additem(menu, "Item Shop") menu_setprop(menu, MPROP_EXITNAME, "Izlaz") menu_display(id, menu) } public Shop_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) } case 0: { OpenHeroShop(id) } case 1: { OpenItemShop(id) } } }
public OpenHeroShop(id) { new ime_menija[128] format(ime_menija, charsmax(ime_menija), "\rHero Shop:^nImas %d Honor Poena", honor_poeni_igraca[id]) new menu = menu_create(ime_menija, "HeroShop_Handle") for(new i = 1; i < sizeof shop_imena_heroja; i++) { menu_additem(menu, shop_imena_heroja[i]) } menu_setprop(menu, MPROP_EXITNAME, "Nazad") menu_display(id, menu) } public HeroShop_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) cmdShop(id) return PLUGIN_HANDLED } case 0: { if(honor_poeni_igraca[id] < 13645) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena da kupis ovog heroja") OpenHeroShop(id) return PLUGIN_HANDLED } if(personal_level_igraca[id] < 3) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Personal Level nije dovoljno veliki da bi kupio ovog Heroja") OpenHeroShop(id) return PLUGIN_HANDLED } else { OvidiuS[id] = true honor_poeni_igraca[id] -= 13645 SacuvajPodatke(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Kupio si Heroja: ^3OvidiuS!") } } case 1: { if(honor_poeni_igraca[id] < 17555) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena da kupis ovog heroja") OpenHeroShop(id) return PLUGIN_HANDLED } if(personal_level_igraca[id] < 5) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Tvoj Personal Level nije dovoljno veliki da bi kupio ovog Heroja") OpenHeroShop(id) return PLUGIN_HANDLED } else { Nocturne[id] = true honor_poeni_igraca[id] -= 17555 SacuvajPodatke(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Kupio si Heroja: ^3Nocturne!") } } } menu_display(id, menu) return PLUGIN_CONTINUE } public OpenItemShop(id) { new ime_menija[128] format(ime_menija, charsmax(ime_menija), "\rItem Shop:^nImas %d Honor Poena", honor_poeni_igraca[id]) new menu = menu_create(ime_menija, "OpetItemShop_Handle") menu_additem(menu, "\yMini XP Boost \r[\d100 \wXP\r] \yCena: \d300 \wHonor Points") menu_additem(menu, "\yMedium XP Boost \r[\d150 \wXP\r] \yCena: \d500 \wHonor Points") menu_additem(menu, "\yMega XP Boost \r[\d200 \wXP\r] \yCena: \d700 \wHonor Points") menu_setprop(menu, MPROP_EXITNAME, "Nazad") menu_display(id, menu) } public OpetItemShop_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) cmdShop(id) return PLUGIN_HANDLED } case 0: { if(honor_poeni_igraca[id] < 300) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena") OpenItemShop(id) return PLUGIN_HANDLED } else { iskustvo_igraca[id] += 100 honor_poeni_igraca[id] -= 300 ProveriIskustvo(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Kupio si: ^3Mini XP Boost") } } case 1: { if(honor_poeni_igraca[id] < 500) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena") OpenItemShop(id) return PLUGIN_HANDLED } else { iskustvo_igraca[id] += 150 honor_poeni_igraca[id] -= 500 ProveriIskustvo(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Kupio si: ^3Medium XP Boost") } } case 2: { if(honor_poeni_igraca[id] < 700) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena") OpenItemShop(id) return PLUGIN_HANDLED } else { iskustvo_igraca[id] += 200 honor_poeni_igraca[id] -= 700 ProveriIskustvo(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Kupio si: ^3Mega XP Boost") } } } menu_display(id, menu) return PLUGIN_CONTINUE }
public cmdStats(id) { new menu = menu_create("\rIzaberi:", "Stats_Handle") if(enable_hud[id]) { menu_additem(menu, "\yHUD Poruka \r[\wIskljuceno\r]") } else { menu_additem(menu, "\yHUD Poruka \r[\wUkljuceno\r]") } menu_additem(menu, "\yMOTD Prozor") menu_setprop(menu, MPROP_EXITNAME, "Izlaz") menu_display(id, menu) } public Stats_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) } case 0: { if(enable_hud[id]) { set_task(0.1, "ShowStats", id + 100) enable_hud[id] = false cmdStats(id) return PLUGIN_HANDLED } else { remove_task(id + 100) enable_hud[id] = true cmdStats(id) return PLUGIN_HANDLED } } case 1: { new szTextAdd[1024] new Add = sizeof(szTextAdd) - 1 format(szTextAdd, Add, "<font color='#00ffff' face='Comic Sans MS' size='4'><body bgcolor='#000000'>") format(szTextAdd, Add, "%s Heroj: %s<br>Level: %d<br>", szTextAdd, imena_heroja[heroj_igraca[id]], level_igraca[id]) format(szTextAdd, Add, "%s Personal Level: %d<br>Personal Iskustvo: %d<br>", szTextAdd, personal_level_igraca[id], personal_iskustvo_igraca[id]) format(szTextAdd, Add, "%s Honor Points: %d<br>", szTextAdd, honor_poeni_igraca[id]) format(szTextAdd, Add, "%s </font></body>", szTextAdd) show_motd(id, szTextAdd) } } menu_display(id, menu) return PLUGIN_CONTINUE }
public cmdTalents(id) { new ime_menija[128], prosireni_um[128], inteligentni_napad[128], dobrodusni_duh[128] format(ime_menija, charsmax(ime_menija), "\rNabudzi Heroja:^nImas %d Talent Poena", talent_poeni_igraca[id]) format(prosireni_um, charsmax(prosireni_um), "\yProsireni Um \r[\d+3 \wHP\r] [\d%d \w/ \d3\r]", talent_prosireni_um[id]) format(inteligentni_napad, charsmax(inteligentni_napad), "\yInteligentni Napad \r[\d+5 \wDamage\r] [\d%d \w/ \d3\r]", talent_inteligentni_napad[id]) format(dobrodusni_duh, charsmax(dobrodusni_duh), "\yDobrodusni Duh \r[\d-2 \wSec (DEATH RECALL)\r] [\d%d \w/ \d5\r]", talent_dobrodusni_duh[id]) new menu = menu_create(ime_menija, "Talents_Handle") menu_additem(menu, prosireni_um) menu_additem(menu, inteligentni_napad) menu_additem(menu, dobrodusni_duh) menu_additem(menu, "\yResetuj Talente") menu_setprop(menu, MPROP_EXITNAME, "Izlaz") menu_display(id, menu) } public Talents_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) } case 0: { if(talent_prosireni_um[id] >= 3) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Maximalni Level talenta Dostignut!") cmdTalents(id) return PLUGIN_HANDLED } if(talent_poeni_igraca[id] < 1) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Talent Poena da bi naucio ovo!") cmdTalents(id) return PLUGIN_HANDLED } else { talent_prosireni_um[id] ++ talent_poeni_igraca[id] -- ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Talent Naucen") cmdTalents(id) return PLUGIN_HANDLED } } case 1: { if(talent_inteligentni_napad[id] >= 3) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Maximalni Level talenta Dostignut!") cmdTalents(id) return PLUGIN_HANDLED } if(talent_poeni_igraca[id] < 1) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Talent Poena da bi naucio ovo!") cmdTalents(id) return PLUGIN_HANDLED } else { talent_inteligentni_napad[id] ++ talent_poeni_igraca[id] -- ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Talent Naucen") cmdTalents(id) return PLUGIN_HANDLED } } case 2: { if(talent_dobrodusni_duh[id] >= 5) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Maximalni Level talenta Dostignut!") cmdTalents(id) return PLUGIN_HANDLED } if(talent_poeni_igraca[id] < 1) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Nemas dovoljno Talent Poena da bi naucio ovo!") cmdTalents(id) return PLUGIN_HANDLED } else { talent_dobrodusni_duh[id] ++ talent_poeni_igraca[id] -- ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Talent Naucen") cmdTalents(id) return PLUGIN_HANDLED } } case 3: { talent_poeni_igraca[id] = talent_prosireni_um[id] + talent_inteligentni_napad[id] + talent_dobrodusni_duh[id] talent_prosireni_um[id] = 0 talent_inteligentni_napad[id] = 0 talent_dobrodusni_duh[id] = 0 ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Restartovao si Talente") } } menu_display(id, menu) return PLUGIN_CONTINUE }
public cmdMisije(id) { new misija1[128] format(misija1, charsmax(misija1), "\yUbij 1000 Heroja \r[\d%d\w/\d1000\r] \yNagrada: \d500 \wHonor Poena", ubistva_igraca[id]) new menu = menu_create("Misije:", "Misije_Handle") menu_additem(menu, misija1) menu_setprop(menu, MPROP_EXITNAME, "Izlaz") menu_display(id, menu) } public Misije_Handle(id, menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu) } case 0: { if(ubistva_igraca[id] < 1000) { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Jos uvek nisi zavrsio ovu misiju da bi pokupio nagradu") cmdMisije(id) return PLUGIN_HANDLED } else { ubistva_igraca[id] -= 1000 honor_poeni_igraca[id] += 500 ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Misija uspesno izvrsena") cmdMisije(id) return PLUGIN_HANDLED } } } menu_display(id, menu) return PLUGIN_CONTINUE } public ShowStats(id) { id -= 100 if(!is_user_alive(id)) { new target = pev(id, pev_iuser2) set_hudmessage(0, 127, 255, -1.0, 0.80, 0, 6.0, 0.1) ShowSyncHudMsg(id, SyncHud, "[Heroj: %s][Ability Power: %s]^n[Level Heroja: %d][Iskustvo Heroja: %d / %d]", imena_heroja[heroj_igraca[target]], ability_heroja[heroj_igraca[target]], level_igraca[target], iskustvo_igraca[target], iskustvo_levelu[level_igraca[target]]) } set_hudmessage(0, 127, 255, -1.0, 0.80, 0, 6.0, 0.1) ShowSyncHudMsg(id, SyncHud, "[Heroj: %s][Ability Power: %s]^n[Level Heroja: %d][Iskustvo Heroja: %d / %d]", imena_heroja[heroj_igraca[id]], ability_heroja[heroj_igraca[id]], level_igraca[id], iskustvo_igraca[id], iskustvo_levelu[level_igraca[id]]) set_task(0.1, "ShowStats", id + 100) }
public ShowUputstvo(id) { id -= 101 switch(random(5)) { case 0: { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Da promenis heroja, kucaj: ^3/hero") } case 1: { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Da pogledas statistike, kucaj: ^3/statistike") } case 2: { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Da nabudzis heroja, kucaj: ^3/talents") } case 3: { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Da kupujes nove heroje, iteme, kucaj: ^3/shop") } case 4: { ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Da radis misije za razne nagrade, kucaj: ^3/shop") } } set_task(60.0, "ShowUputstvo", id + 101) }
public Death(zrtva, napadac) { if(zrtva != napadac) { honor_poeni_igraca[napadac] += get_pcvar_num(p_KillHonor) iskustvo_igraca[napadac] += get_pcvar_num(p_KillXP) ProveriIskustvo(napadac) ubistva_igraca[napadac] ++ } }
public Spawn(id) { if(!is_user_alive(id)) { return PLUGIN_HANDLED } if(!heroj_igraca[id]) { cmdChooseHero(id) } if(nov_heroj_igraca[id]) { heroj_igraca[id] = nov_heroj_igraca[id] nov_heroj_igraca[id] = 0 strip_user_weapons(id) give_item(id, "weapon_knife") switch(get_user_team(id)) { case 1: { give_item(id, "weapon_glock18") } case 2: { give_item(id, "weapon_usp") } } UcitajPodatke(id, heroj_igraca[id]) } switch(heroj_igraca[id]) { case hero_Garex: { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 90) } case hero_Zero_Beam: { give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 90) } case hero_Moopet: { give_item(id, "weapon_aug") cs_set_user_bpammo(id, CSW_AUG, 90) } case hero_OvidiuS: { give_item(id, "weapon_mp5navy") cs_set_user_bpammo(id, CSW_MP5NAVY, 120) } case hero_Nocturne: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 30) } } set_user_health(id, get_user_health(id) + talent_prosireni_um[id] * 3) return PLUGIN_CONTINUE }
public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch) { if(equal(szSound, "common/wpn_denyselect.wav")) { KoristiAbility(id) return FMRES_SUPERCEDE } return FMRES_IGNORED }
public CurWeapon(id) { if(ability_Moopet[id]) { set_user_maxspeed(id, 400.0) } }
public TakeDamage(id, idinflictor, attacker, Float:damage, damagebits) { if(!is_user_alive(id) || !is_user_connected(id) || !is_user_connected(attacker) || get_user_team(id) == get_user_team(attacker) || !heroj_igraca[attacker]) { return PLUGIN_HANDLED } damage += talent_inteligentni_napad[id] * 5 return PLUGIN_CONTINUE }
public ProveriIskustvo(id) { if(level_igraca[id] <= 100) { while(iskustvo_igraca[id] >= iskustvo_levelu[level_igraca[id]]) { level_igraca[id] ++ talent_poeni_igraca[id] ++ honor_poeni_igraca[id] += get_pcvar_num(p_LevelHonor) personal_iskustvo_igraca[id] += get_pcvar_num(p_PersonalLevelXP) ProveriPersonalIskustvo(id) SacuvajPodatke(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Dobrodosao na Level %d", level_igraca[id]) } } } public ProveriPersonalIskustvo(id) { if(personal_level_igraca[id] <= 20) { while(personal_iskustvo_igraca[id] >= personal_iskustvo_levelu[personal_level_igraca[id]]) { personal_level_igraca[id] ++ SacuvajPodatke(id) ColorChat(id, GREEN, "[^3Multi Hero^4] ^1Dobrodosao na Personal Level %d", level_igraca[id]) } } }
public SacuvajPodatke(id) { new vaultkey[64], vaultdata[1024] format(vaultkey, 63, "%s-%i-mh", ID_igraca[id], heroj_igraca[id]) format(vaultdata, 1023, "%i#%i#%i#%i#%i#%i#%i#%i#%i", honor_poeni_igraca[id], talent_poeni_igraca[id], iskustvo_igraca[id], level_igraca[id], personal_level_igraca[id], personal_iskustvo_igraca[id], ubistva_igraca[id], OvidiuS[id], Nocturne[id]) nvault_set(g_Vault, vaultkey, vaultdata) } public UcitajPodatke(id, heroj) { new vaultkey[64], vaultdata[1024] format(vaultkey, 63, "%s-%i-mh", ID_igraca[id], heroj) format(vaultdata, 1023, "%i#%i#%i#%i#%i#%i#%i#%i#%i", honor_poeni_igraca[id], talent_poeni_igraca[id], iskustvo_igraca[id], level_igraca[id], personal_level_igraca[id], personal_iskustvo_igraca[id], ubistva_igraca[id], OvidiuS[id], Nocturne[id]) nvault_get(g_Vault, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", " ") new honorpoeniigraca[32], talentpoeniigraca[32], iskustvoigraca[32], leveligraca[32], personalleveligraca[32], personaliskustvoigraca[32], ubistvaigraca[32], ovidius[32], nocturne[32] parse(vaultdata, honorpoeniigraca, 31, talentpoeniigraca, 31, iskustvoigraca, 31, leveligraca, 31, personalleveligraca, 31, personaliskustvoigraca, 31, ubistvaigraca, 31, ovidius, 31, nocturne, 31) //Level, XP, Poeni honor_poeni_igraca[id] = str_to_num(honorpoeniigraca) talent_poeni_igraca[id] = str_to_num(talentpoeniigraca) iskustvo_igraca[id] = str_to_num(iskustvoigraca) level_igraca[id] = str_to_num(leveligraca) personal_level_igraca[id] = str_to_num(personalleveligraca) personal_iskustvo_igraca[id] = str_to_num(personaliskustvoigraca) ubistva_igraca[id] = str_to_num(ubistvaigraca) //Heroji OvidiuS[id] = str_to_num(ovidius) ? false:true Nocturne[id] = str_to_num(nocturne) ? false:true //Talenti }
public plugin_end() { nvault_close(g_Vault) }
This is my plugin (well thanks to my friends that helped me for the ideas for hero's names and other ideas)
I have few problems and few things that i would like to have in my plugin, but i don't know how to make that:
TO HELP ME TO DO:
- How to make No round end ?
- Auto Respawner after couple of seconds (seconds depends on hero level) [DONE]
BUGS:
- I saved OvidiuS and Noctourne Bools to nVault... After player buys a hero, that bool becomes true, so he can choose that hero...
The problem is, after i put bools in nVault, heroes are always available to play, without buying them... [FIXED, BUT BUGGED :S]
Please help me fix this it will mean a lot to me
__________________
Last edited by MiloSx7; 11-04-2011 at 05:38.
|
|