AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Help me FIX Some stuff (https://forums.alliedmods.net/showthread.php?t=171223)

MiloSx7 11-03-2011 13:30

Help me FIX Some stuff
 
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[] = {
    
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 
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(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 /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(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_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.7906.01.0)
        
ShowSyncHudMsg(idSyncHud1"Sada mozes koristiti Ability Power")
        
iskoristio_ability[id] = false
    
}
    else
    {
        
set_hudmessage(0127255, -1.00.7906.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_Nocturne:
        {
            
set_user_gravity(id1.0)
            
ColorChat(idGREEN"[^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 
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 == || !Nocturne[id] && item == 4)
    {
        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 
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] < 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], dobrodusni_duh[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])
    
format(dobrodusni_duhcharsmax(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(menuprosireni_um)
    
menu_additem(menuinteligentni_napad)
    
menu_additem(menudobrodusni_duh)
    
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:
        {
            if(
talent_dobrodusni_duh[id] >= 5)
            {
                
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_dobrodusni_duh[id] ++
                
talent_poeni_igraca[id] --
                
ColorChat(idGREEN"[^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
(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(idpev_iuser2)
        
        
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[target]], ability_heroja[heroj_igraca[target]], level_igraca[target], iskustvo_igraca[target], iskustvo_levelu[level_igraca[target]])
    }
    
    
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]])
    
    
set_task(0.1"ShowStats"id 100)
}


public 
ShowUputstvo(id)
{
    
id -= 101
    
    
switch(random(5))
    {
        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/talents")
        }
        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/shop")
        }
    }
    
    
set_task(60.0"ShowUputstvo"id 101)
}

public 
Death(zrtvanapadac)
{
    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(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_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_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(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]
    
    
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], OvidiuS[id], Nocturne[id])
    
nvault_set(g_Vaultvaultkeyvaultdata)
}
public 
UcitajPodatke(idheroj)
{
    new 
vaultkey[64], vaultdata[1024]
    
    
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], OvidiuS[id], Nocturne[id])
    
nvault_get(g_Vaultvaultkeyvaultdata255)
    
    
replace_all(vaultdata255"#"" ")
    
    new 
honorpoeniigraca[32], talentpoeniigraca[32], iskustvoigraca[32], leveligraca[32], personalleveligraca[32], personaliskustvoigraca[32], ubistvaigraca[32], ovidius[32], nocturne[32]
    
    
parse(vaultdatahonorpoeniigraca31talentpoeniigraca31iskustvoigraca31leveligraca31personalleveligraca31personaliskustvoigraca31ubistvaigraca31ovidius31nocturne31)
    
    
//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

kiki33hun 11-03-2011 13:37

Re: Help me FIX Some stuff
 
How to make No round end ?
tow bots, one terror one ct! Bots functions round end blocker ^^:D

KillLikoe 11-03-2011 13:40

Re: Help me FIX Some stuff
 
there is a plugin, made by i dont remember, that is for unlimited round

kiki33hun 11-03-2011 13:42

Re: Help me FIX Some stuff
 
http://forums.alliedmods.net/showthread.php?p=413201

MiloSx7 11-03-2011 13:47

Re: Help me FIX Some stuff
 
Nooo, i want to block it without bots

joshknifer 11-03-2011 13:56

Re: Help me FIX Some stuff
 
Quote:

Originally Posted by KillLikoe (Post 1589241)
there is a plugin, made by i dont remember, that is for unlimited round

Infinite Round

MiloSx7 11-03-2011 13:59

Re: Help me FIX Some stuff
 
Any way without Orpheu !? :D

@FIXED: Bools to nvault..
Help about respawn :D !!

Backstabnoob 11-03-2011 15:10

Re: Help me FIX Some stuff
 
Only with a module or Orpheu.

drekes 11-03-2011 15:24

Re: Help me FIX Some stuff
 
There are ways using fake bots but then you lose 2 player slots IIRC.
Arkshine's plugin posted in #6 is the best solution.

MiloSx7 11-03-2011 16:19

Re: Help me FIX Some stuff
 
Ayay thanks then...
I made a litle respawner, but its bugged and when i get spawned im apearing in spec

PHP Code:

static Float:f_Respawn[33]
new 
g_RespawnMeter[33]
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]--


Help :S

@EDIT WOrks, somehow xD


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

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