Raised This Month: $ Target: $400
 0% 

Save Bools to nVault ?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
MiloSx7
Member
Join Date: Oct 2011
Location: Serbia, Nish
Old 11-04-2011 , 05:51   Save Bools to nVault ?
Reply With Quote #1

PHP Code:
public SacuvajPodatke(id)
{
    new 
vaultkey[64], vaultdata[1024], valutbool[2]
    
    
format(valutbool1"%d#%d#%d"Ovidius[id] ? 1:0Bugatron[id] ? 1:0Nocturne[id] ? 1:0)
    
format(vaultkey63"%s-%i-mh"ID_igraca[id], heroj_igraca[id])
    
format(vaultdata1023"%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], talent_prosireni_um[id], talent_inteligentni_napad[id])
    
nvault_set(g_Vaultvaultkeyvaultdata)
}
public 
UcitajPodatke(idheroj)
{
    new 
vaultkey[64], vaultdata[1024], vaultbool[2]
    
    
format(vaultkey63"%s-%i-mh"ID_igraca[id], heroj)
    
format(vaultdata1023"%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], talent_prosireni_um[id], talent_inteligentni_napad[id])
    
nvault_get(g_Vaultvaultkeyvaultdata255)
    
    
replace_all(vaultdata255"#"" ")
    
    new 
honorpoeniigraca[32], talentpoeniigraca[32], iskustvoigraca[32], leveligraca[32], personalleveligraca[32], personaliskustvoigraca[32], ubistvaigraca[32], talentprosirenium[32], talentinteligentninapad[32]
    
    
parse(vaultdatahonorpoeniigraca31talentpoeniigraca31iskustvoigraca31leveligraca31personalleveligraca31personaliskustvoigraca31ubistvaigraca31talentprosirenium31talentinteligentninapad31)
    
    
//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 (bools)
    
Ovidius[id] =    (str_to_num(vaultbool) == 1) ? true:false
    Bugatron
[id] =    (str_to_num(vaultbool) == 1) ? true:false
    Nocturne
[id] =    (str_to_num(vaultbool) == 1) ? true:false
    
    
//Talenti
    
talent_prosireni_um[id] =    str_to_num(talentprosirenium)
    
talent_inteligentni_napad[id] =    str_to_num(talentinteligentninapad)

I have closed the nVault at the end of the plugin, and bools appear to be true every time...
They should be always false, but it seems to be bugged, now they're true...

FULL CODE (Hope Mix97 won't steal it -.-)

PHP Code:
/*
Item Shop: 100%
Hero Shop: 100%
Odabir Heroja: 100%
Imena Heroja: 100%
Talent Points & Talent System: 100%
Honor Points & Honor System: 100%
Leveling: 100%
Respawn: 50%
nVault: 80%
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.8b"
#define AUTHOR "MiloS -.-"

enum {
    
Nema 0,
    
hero_Garex,
    
hero_Zero_Beam,
    
hero_Moopet,
    
hero_Ovidius,
    
hero_Bugatron,
    
hero_Nocturne
}

new const 
imena_heroja[][] = {
    
"Nema",
    
"Garex",
    
"Zero-Beam",
    
"Moopet",
    
"Ovidius",
    
"Bugatron",
    
"Nocturne"
}

new const 
ability_heroja[][] = {
    
"Nema",
    
"Vanish",    //Garex
    
"No-Clip",    //Zero-Beam
    
"Speed",    //Moopet
    
"God Mode",    //Ovidius
    
"Heal",        //Bugatron
    
"Low Gravity"    //Nocturne
}

new const 
opis_heroja[][] = {
    
"Nema",
    
"^1Heroj: ^4Garex ^3| ^1Ability: ^4Vanish (Nevidljivost)",
    
"^1Heroj: ^4Zero-Beam ^3| ^1Ability: ^4No-Clip (Prolazi kroz zidove)",
    
"^1Heroj: ^4Moopet ^3| ^1Ability: ^4Speed (Ubrzanje)",
    
"^1Heroj: ^4Ovidius ^3| ^1Ability: ^4God Mode (Neunistivost)",
    
"^1Heroj: ^4Bugatron ^3| ^1Ability: ^4Heal (Leci HP)",
    
"^1Heroj: ^4Nocturne ^3| ^1Ability: ^4Low Gravity (Veci Skok)"
}

new const 
shop_imena_heroja[][] = {
    
"Nema",
    
"\yOvidius \r[\wCena: \d13645 \wHonor Poena\r]",
    
"\yBugatron \r[\wCena: \d15560 \wHonor Poena\r]",
    
"\yNocturne \r[\wCena: \d17555 \wHonor Poena\r]"
}

new const 
iskustvo_levelu[] = {
    
520458012518024532040550060572084598011251280144516201805,
    
200022052420264528803125338036453920420545004805512054455780,
    
61256480684572207605800084058820924596801012510580110451152012005,
    
12500130051352014045145801512515680162451682017405180001860519220,
    
19845204802112521780224452312023805245002520525920266452738028125,
    
28880296453042031205320003280533620344453528036125369803784538720,
    
396054050041405423204324544180451254608047045480204900550000
}

new const 
personal_iskustvo_levelu[] = {
    
5204580125180245320405500605720845980112512801445162018052000
}

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 
bool:Ovidius[33] = false
new bool:Bugatron[33]
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]
new 
g_RespawnMeter[33]

static 
Float:f_LastUse[33]
static 
Float:f_Respawn[33]

new 
SyncHud
new SyncHud1

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
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 /opis""cmdOpis")
    
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
    honor_poeni_igraca
[id] += 50000
    personal_level_igraca
[id] += 20
}

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(idID_igraca[id], 34)
}


public 
client_disconnect(id)
{
    
remove_task(id 100)
    
remove_task(id 101)
    
SacuvajPodatke(id)
}


public 
StatusIconRemoveBuyZone(msgidmsgdestid)
{
    static 
szIcon[8]
    
get_msg_arg_string(2szIcon7)
    
    if(
equal(szIcon"buyzone") && get_msg_arg_int(1))
    {
        
set_pdata_int(id235get_pdata_int(id235) & ~(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(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_user_rendering(idkRenderFxGlowShell000kRenderTransAlpha0)
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Iskoristio si Ability Power!")
            }
        }
        
        case 
hero_Zero_Beam:
        {
            if(
iskoristio_ability[id])
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_user_noclip(id1)
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Iskoristio si Ability Power!")
            }
        }
        
        case 
hero_Moopet:
        {
            if(
iskoristio_ability[id])
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_user_maxspeed(id400.0)
                
ability_Moopet[id] = true
                ColorChat
(idGREEN"[^3Multi Hero^4] ^1Iskoristio si Ability Power!")
            }
        }
        
        case 
hero_Ovidius:
        {
            if(
iskoristio_ability[id])
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_user_godmode(id1)
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Iskoristio si Ability Power!")
            }
        }
        
        case 
hero_Bugatron:
        {
            if(
iskoristio_ability[id])
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 90. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_task(1.0"Bugatron_Heal"id 102)
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Iskoristio si Ability Power!")
            }
        }
        
        case 
hero_Nocturne:
        {
            if(
iskoristio_ability[id])
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Ability Power Mozes Koristiti Svake 180. Sekunde!")
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
set_user_gravity(idget_user_gravity(id) - 0.7)
                
ColorChat(idGREEN"[^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(0127255, -1.00.7706.01.0)
        
ShowSyncHudMsg(idSyncHud1"Sada mozes koristiti Ability Power")
        
iskoristio_ability[id] = false
    
}
    else
    {
        
set_hudmessage(0127255, -1.00.7706.01.0)
        
ShowSyncHudMsg(idSyncHud1"[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(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
        case 
hero_Zero_Beam:
        {
            
set_user_noclip(id0)
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
        case 
hero_Moopet:
        {
            
set_user_maxspeed(id250.0)
            
ability_Moopet[id] = false
            ColorChat
(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
        case 
hero_Ovidius:
        {
            
set_user_godmode(id0)
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
        case 
hero_Bugatron:
        {
            
remove_task(id 102)
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
        case 
hero_Nocturne:
        {
            
set_user_gravity(id1.0)
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Tvoj Ability Power vise ne traje")
        }
    }
}
public 
Bugatron_Heal(id)
{
    
id -= 102
    set_user_health
(idget_user_health(id) + 10)
    
    
set_task(1.0"Bugatron_Heal"id)
}


public 
cmdChooseHero(id)
{
    new 
cb menu_makecallback("ChooseHero_CallBack")
    new 
menu menu_create("\rIzaberi Heroja""ChooseHero_Handle")
    
    new 
heroj[64]
    
    for(new 
1sizeof imena_herojai++)
    {
        
UcitajPodatke(idi)
        
format(herojcharsmax(heroj), "%s \r[\yLevel \d%i\r]"imena_heroja[i], level_igraca[id])
        
menu_additem(menuheroj__cb)
    }
    
    
menu_setprop(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
    
    
UcitajPodatke(idheroj_igraca[id])
}
public 
ChooseHero_CallBack(idmenuitem)
{
    if(!
Ovidius[id] && item == || !Bugatron[id] && item == || !Nocturne[id] && item == 5)
    {
        return 
ITEM_DISABLED
    
}
    else
    {
        return 
ITEM_ENABLED
    
}
    
    return 
PLUGIN_CONTINUE
}
public 
ChooseHero_Handle(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    
item ++
    
    
    if(
heroj_igraca[id])
    {
        
nov_heroj_igraca[id] = item
        ColorChat
(idGREEN"[^3Multi Hero^4] ^1Heroj ce biti promenjen u sledecoj rundi")
    }
    else
    {
        
heroj_igraca[id] = item
        UcitajPodatke
(idheroj_igraca[id])
        
Spawn(id)
    }
    
    return 
PLUGIN_CONTINUE
}


public 
cmdOpis(id)
{
    new 
menu menu_create("\rIzaberi Heroja""Opis_Handle")
    
    new 
heroj[64]
    
    for(new 
1sizeof imena_herojai++)
    {
        
format(herojcharsmax(heroj), "%s"imena_heroja[i])
        
menu_additem(menuheroj)
    }
    
    
menu_setprop(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
}
public 
Opis_Handle(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
    }
    
    
menu_display(idmenu)
    
item ++
    
    
ColorChat(idGREEN"[^3Multi Hero^4] %s"opis_heroja[item])
}


public 
cmdShop(id)
{
    new 
ime_menija[128]
    
format(ime_menijacharsmax(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(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
}
public 
Shop_Handle(idmenuitem)
{
    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_menijacharsmax(ime_menija), "\rHero Shop:^nImas %d Honor Poena"honor_poeni_igraca[id])
    
    new 
menu menu_create(ime_menija"HeroShop_Handle")
    
    for(new 
1sizeof shop_imena_herojai++)
    {
        
menu_additem(menushop_imena_heroja[i])
    }
    
    
menu_setprop(menuMPROP_EXITNAME"Nazad")
    
menu_display(idmenu)
}
public 
HeroShop_Handle(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXIT:
        {
            
menu_destroy(menu)
            
cmdShop(id)
            return 
PLUGIN_HANDLED
        
}
        case 
0:
        {
            if(
honor_poeni_igraca[id] < 13645)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena da kupis ovog heroja")
                
OpenHeroShop(id)
                return 
PLUGIN_HANDLED
            
}
            if(
personal_level_igraca[id] < 3)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Kupio si Heroja: ^3Ovidius!")
            }
        }
        case 
1:
        {
            if(
honor_poeni_igraca[id] < 15560)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena da kupis ovog heroja")
                
OpenHeroShop(id)
                return 
PLUGIN_HANDLED
            
}
            if(
personal_level_igraca[id] < 3)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Tvoj Personal Level nije dovoljno veliki da bi kupio ovog Heroja")
                
OpenHeroShop(id)
                return 
PLUGIN_HANDLED
            
}
            else
            {
                
Bugatron[id] = true
                honor_poeni_igraca
[id] -= 15560
                SacuvajPodatke
(id)
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Kupio si Heroja: ^3OBugatron!")
            }
        }
        case 
2:
        {
            if(
honor_poeni_igraca[id] < 17555)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Nemas dovoljno Honor Poena da kupis ovog heroja")
                
OpenHeroShop(id)
                return 
PLUGIN_HANDLED
            
}
            if(
personal_level_igraca[id] < 5)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Kupio si Heroja: ^3Nocturne!")
            }
        }
    }
    
    
menu_display(idmenu)
    
    return 
PLUGIN_CONTINUE
}
public 
OpenItemShop(id)
{
    new 
ime_menija[128]
    
format(ime_menijacharsmax(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(menuMPROP_EXITNAME"Nazad")
    
menu_display(idmenu)
}
public 
OpetItemShop_Handle(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXIT:
        {
            
menu_destroy(menu)
            
cmdShop(id)
            return 
PLUGIN_HANDLED
        
}
        case 
0:
        {
            if(
honor_poeni_igraca[id] < 300)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Kupio si: ^3Mini XP Boost")
            }
        }
        case 
1:
        {
            if(
honor_poeni_igraca[id] < 500)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Kupio si: ^3Medium XP Boost")
            }
        }
        case 
2:
        {
            if(
honor_poeni_igraca[id] < 700)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Kupio si: ^3Mega XP Boost")
            }
        }
    }
    
    
menu_display(idmenu)
    
    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(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
}
public 
Stats_Handle(idmenuitem)
{
    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
(szTextAddAdd"<font color='#00ffff' face='Comic Sans MS' size='4'><body bgcolor='#000000'>")
            
format(szTextAddAdd"%s Heroj: %s<br>Level: %d<br>"szTextAddimena_heroja[heroj_igraca[id]], level_igraca[id])
            
format(szTextAddAdd"%s Personal Level: %d<br>Personal Iskustvo: %d<br>"szTextAddpersonal_level_igraca[id], personal_iskustvo_igraca[id])
            
format(szTextAddAdd"%s Honor Points: %d<br>"szTextAddhonor_poeni_igraca[id])
            
format(szTextAddAdd"%s </font></body>"szTextAdd)
            
            
show_motd(idszTextAdd)
        }
    }
    
    
menu_display(idmenu)
    
    return 
PLUGIN_CONTINUE
}


public 
cmdTalents(id)
{
    new 
ime_menija[128], prosireni_um[128], inteligentni_napad[128]
    
format(ime_menijacharsmax(ime_menija), "\rNabudzi Heroja:^nImas %d Talent Poena"talent_poeni_igraca[id])
    
format(prosireni_umcharsmax(prosireni_um), "\yProsireni Um \r[\d+3 \wHP\r] [\d%d \w/ \d3\r]"talent_prosireni_um[id])
    
format(inteligentni_napadcharsmax(inteligentni_napad), "\yInteligentni Napad \r[\d+5 \wDamage\r] [\d%d \w/ \d3\r]"talent_inteligentni_napad[id])
    
    new 
menu menu_create(ime_menija"Talents_Handle")
    
menu_additem(menuprosireni_um)
    
menu_additem(menuinteligentni_napad)
    
menu_additem(menu"\yResetuj Talente")
    
menu_setprop(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
}
public 
Talents_Handle(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXIT:
        {
            
menu_destroy(menu)
        }
        case 
0:
        {
            if(
talent_prosireni_um[id] >= 3)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Maximalni Level talenta Dostignut!")
                
cmdTalents(id)
                return 
PLUGIN_HANDLED
            
}
            if(
talent_poeni_igraca[id] < 1)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Talent Naucen")
                
cmdTalents(id)
                return 
PLUGIN_HANDLED
            
}
        }
        case 
1:
        {
            if(
talent_inteligentni_napad[id] >= 3)
            {
                
ColorChat(idGREEN"[^3Multi Hero^4] ^1Maximalni Level talenta Dostignut!")
                
cmdTalents(id)
                return 
PLUGIN_HANDLED
            
}
            if(
talent_poeni_igraca[id] < 1)
            {
                
ColorChat(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Talent Naucen")
                
cmdTalents(id)
                return 
PLUGIN_HANDLED
            
}
        }
        case 
2:
        {
            
talent_poeni_igraca[id] = talent_prosireni_um[id] + talent_inteligentni_napad[id]
            
talent_prosireni_um[id] = 0
            talent_inteligentni_napad
[id] = 0
            ColorChat
(idGREEN"[^3Multi Hero^4] ^1Restartovao si Talente")
        }
    }
    
    
menu_display(idmenu)
    
    return 
PLUGIN_CONTINUE
}


public 
cmdMisije(id)
{
    new 
misija1[128]
    
format(misija1charsmax(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(menumisija1)
    
menu_setprop(menuMPROP_EXITNAME"Izlaz")
    
menu_display(idmenu)
}
public 
Misije_Handle(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXIT:
        {
            
menu_destroy(menu)
        }
        case 
0:
        {
            if(
ubistva_igraca[id] < 1000)
            {
                
ColorChat(idGREEN"[^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
(idGREEN"[^3Multi Hero^4] ^1Misija uspesno izvrsena")
                
cmdMisije(id)
                return 
PLUGIN_HANDLED
            
}
        }
    }
    
    
menu_display(idmenu)
    
    return 
PLUGIN_CONTINUE
}

public 
ShowStats(id)
{
    
id -= 100
    
/*
    if(!is_user_alive(id))
    {
        new target = pev(id, pev_iuser2)
        
        if(target == 0)
        {
            return PLUGIN_HANDLED
        }
        
        if(level_igraca[target] < 100)
        {
            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]])
        }
        
        if(level_igraca[target] >= 100)
        {
            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: 100][Iskustvo Heroja: 50000 / 50000]", imena_heroja[heroj_igraca[target]], ability_heroja[heroj_igraca[target]])
        }
        
        return PLUGIN_CONTINUE
    }
    */
    
if(level_igraca[id] < 100)
    {
        
set_hudmessage(0127255, -1.00.8006.00.1)
        
ShowSyncHudMsg(idSyncHud"[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]])
    }
    
    if(
level_igraca[id] >= 100)
    {
        
set_hudmessage(0127255, -1.00.8006.00.1)
        
ShowSyncHudMsg(idSyncHud"[Heroj: %s][Ability Power: %s]^n[Level Heroja: 100][Iskustvo Heroja: 50000 / 50000]"imena_heroja[heroj_igraca[id]], ability_heroja[heroj_igraca[id]])
    }
    
    
set_task(0.1"ShowStats"id 100)
    
    return 
PLUGIN_CONTINUE
}


public 
ShowUputstvo(id)
{
    
id -= 101
    
    
switch(random(7))
    {
        case 
0:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Da promenis heroja, kucaj: ^3/hero")
        }
        case 
1:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Da pogledas statistike, kucaj: ^3/statistike")
        }
        case 
2:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Da nabudzis heroja, kucaj: ^3/talent")
        }
        case 
3:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Da kupujes nove heroje, iteme, kucaj: ^3/shop")
        }
        case 
4:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^1Da radis misije za razne nagrade, kucaj: ^3/misije")
        }
        case 
5:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^3Multi Hero Mod ^1by ^4MiloS -.-")
        }
        case 
6:
        {
            
ColorChat(idGREEN"[^3Multi Hero^4] ^3Da vidis opise Heroja, kucaj: ^3/opis")
        }
    }
    
    
set_task(60.0"ShowUputstvo"id 101)
}

public 
Death(zrtvanapadac)
{
    if(
zrtva != napadac)
    {
        if(!
heroj_igraca[napadac])
        {
            return 
PLUGIN_HANDLED
        
}
        
        
honor_poeni_igraca[napadac] += get_pcvar_num(p_KillHonor)
        
iskustvo_igraca[napadac] += get_pcvar_num(p_KillXP)
        
ProveriIskustvo(napadac)
        
        
ubistva_igraca[napadac] ++
    }
    
    new 
Float:szServerTime get_gametime()
    
    
g_RespawnMeter[zrtva] = level_igraca[zrtva]
    
f_Respawn[zrtva] = szServerTime g_RespawnMeter[zrtva]
    
    
set_task(1.0"RespawnMeter"zrtva__"a"g_RespawnMeter[zrtva])
    
    return 
PLUGIN_CONTINUE
}
public 
RespawnMeter(id)
{
    if(
g_RespawnMeter[id] == 1)
    {
        
set_hudmessage(0127255, -1.00.7406.01.0)
        
ShowSyncHudMsg(idSyncHud1"Respawnoavn si !")
        
ExecuteHamB(Ham_CS_RoundRespawnid)
    }
    else
    {
        
set_hudmessage(0127255, -1.00.7406.01.0)
        
ShowSyncHudMsg(idSyncHud1"[Respawn za: %d]"g_RespawnMeter[id])
    }
    
    
g_RespawnMeter[id]--
}


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(idheroj_igraca[id])
    }
    
    switch(
heroj_igraca[id])
    {
        case 
hero_Garex:
        {
            
give_item(id"weapon_ak47")
            
cs_set_user_bpammo(idCSW_AK4790)
        }
        case 
hero_Zero_Beam:
        {
            
give_item(id"weapon_m4a1")
            
cs_set_user_bpammo(idCSW_M4A190)
        }
        case 
hero_Moopet:
        {
            
give_item(id"weapon_aug")
            
cs_set_user_bpammo(idCSW_AUG90)
        }
        case 
hero_Ovidius:
        {
            
give_item(id"weapon_mp5navy")
            
cs_set_user_bpammo(idCSW_MP5NAVY120)
        }
        case 
hero_Bugatron:
        {
            
give_item(id"weapon_tmp")
            
cs_set_user_bpammo(idCSW_TMP90)
        }
        case 
hero_Nocturne:
        {
            
give_item(id"weapon_awp")
            
cs_set_user_bpammo(idCSW_AWP30)
        }
    }
    
    
set_user_health(idget_user_health(id) + talent_prosireni_um[id] * 3)
    
    return 
PLUGIN_CONTINUE
}


public 
EmitSound(idiChannelszSound[], Float:fVolFloat:fAttniFlagsiPitch
{
    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(id400.0)
    }
}


public 
TakeDamage(ididinflictorattackerFloat:damagedamagebits)
{
    if(!
is_user_alive(id) || !is_user_alive(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(idGREEN"[^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(idGREEN"[^3Multi Hero^4] ^1Dobrodosao na Personal Level %d"level_igraca[id])
        }
    }
}


public 
SacuvajPodatke(id)
{
    new 
vaultkey[64], vaultdata[1024], valutbool[2]
    
    
format(valutbool1"%d#%d#%d"Ovidius[id] ? 1:0Bugatron[id] ? 1:0Nocturne[id] ? 1:0)
    
format(vaultkey63"%s-%i-mh"ID_igraca[id], heroj_igraca[id])
    
format(vaultdata1023"%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], talent_prosireni_um[id], talent_inteligentni_napad[id])
    
nvault_set(g_Vaultvaultkeyvaultdata)
}
public 
UcitajPodatke(idheroj)
{
    new 
vaultkey[64], vaultdata[1024], vaultbool[2]
    
    
format(vaultkey63"%s-%i-mh"ID_igraca[id], heroj)
    
format(vaultdata1023"%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], talent_prosireni_um[id], talent_inteligentni_napad[id])
    
nvault_get(g_Vaultvaultkeyvaultdata255)
    
    
replace_all(vaultdata255"#"" ")
    
    new 
honorpoeniigraca[32], talentpoeniigraca[32], iskustvoigraca[32], leveligraca[32], personalleveligraca[32], personaliskustvoigraca[32], ubistvaigraca[32], talentprosirenium[32], talentinteligentninapad[32]
    
    
parse(vaultdatahonorpoeniigraca31talentpoeniigraca31iskustvoigraca31leveligraca31personalleveligraca31personaliskustvoigraca31ubistvaigraca31talentprosirenium31talentinteligentninapad31)
    
    
//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 (bools)
    
Ovidius[id] =    (str_to_num(vaultbool) == 1) ? true:false
    Bugatron
[id] =    (str_to_num(vaultbool) == 1) ? true:false
    Nocturne
[id] =    (str_to_num(vaultbool) == 1) ? true:false
    
    
//Talenti
    
talent_prosireni_um[id] =    str_to_num(talentprosirenium)
    
talent_inteligentni_napad[id] =    str_to_num(talentinteligentninapad)
}


public 
plugin_end()
{
    
nvault_close(g_Vault)

__________________
MiloS
MiloSx7 is offline
Send a message via MSN to MiloSx7
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:19.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode