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

10-27-2011
, 04:11
Need Help / Recommendations...
|
#1
|
So here is my mod...
PHP Code:
#include <amxmodx> #include <cstrike> #include <engine> #include <fun> #include <hamsandwich> #include <dota> //Custom Include koj je potreban da bi se mod kompajlovao:
#define PLUGIN "DotA [Defense of the Ancients]" #define VERSION "1.0" #define AUTHOR "MiloS-.-"
#define TASK_SHOWINFO 672
enum { None = 0, Assassin, Hunter, Runner, Warrior }
new const hero_name[][] = { "None", "Assassin", "Hunter", "Runner", "Warrior" }
new const hero_energy[] = { 100, 520, 480, 540, 130 }
new const hero_ability[][] = { "Nema", "Nevidljivost", "Snaga", "Brzina", "Neunistivost" }
new SyncHud new SyncHud2
new bool:has_rocket_boots[33]
new p_KillXP
new ubistva[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /klasa", "IzaberiKlasu") register_clcmd("say /shop", "Shop") p_KillXP = register_cvar("hero_killxp", "20") register_event("CurWeapon", "CurWeapon", "be", "1=1") RegisterHam(Ham_Killed, "player", "Death", 1) RegisterHam(Ham_Spawn, "player", "Spawn", 1) SyncHud = CreateHudSyncObj() SyncHud2 = CreateHudSyncObj() }
public client_putinserver(id) { set_task(0.1, "ShowInfo", id + TASK_SHOWINFO) }
public client_PreThink(id) { if(!is_user_alive(id)) { return PLUGIN_HANDLED } new button = get_user_button(id) if(button && IN_USE || get_user_hero(id) == Assassin) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) } else { set_user_rendering(id) } return PLUGIN_CONTINUE } public Death(victim, attacker) { if(attacker != victim) { set_user_xp(attacker, get_pcvar_num(p_KillXP)) CheckLevel(attacker) ubistva[attacker] ++ } }
public Spawn(id) { if(!is_user_alive(id)) { return PLUGIN_HANDLED } if(!get_user_hero(id)) { IzaberiKlasu(id) } strip_user_weapons(id) give_item(id, "weapon_knife") switch(get_user_hero(id)) { case Assassin: { give_item(id, "weapon_mp5navy") cs_set_user_bpammo(id, CSW_MP5NAVY, 1000) } case Hunter: { give_item(id, "weapon_tmp") } case Runner: { give_item(id, "weapon_m249") } case Warrior: { give_item(id, "weapon_m4a1") } } set_user_health(id, hero_energy[get_user_hero(id)]) return PLUGIN_CONTINUE }
public CurWeapon(id) { if(has_rocket_boots[id]) { set_user_maxspeed(id, get_user_maxspeed(id) + 10.0) } }
public CheckLevel(id) { if(get_user_level(id) < 18) { while(get_user_xp(id) >= (get_user_level(id) * 5 * (get_user_level(id) / 2))) { set_user_level(id, get_user_level(id) + 1) set_hudmessage(0, 255, 0, -1.0, 0.20, 0, 6.0, 3.0) ShowSyncHudMsg(id, SyncHud2, "LeVeL Up!") } } }
public IzaberiKlasu(id) { new menu = menu_create("Izaberi Heroja", "IzaberiKlasu_Handle") for(new i = 1; i < sizeof hero_name; i ++) { menu_additem(menu, hero_name[i]) } menu_display(id, menu) } public IzaberiKlasu_Handle(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } item ++ if(user_hero[id] != item) { user_hero[id] = item } Spawn(id) return PLUGIN_CONTINUE }
public Shop(id) { new naslov[64], zadatak[64], zadatak1[64] format(naslov, charsmax(naslov), "Zadatci^nImas \r[\d%d\r] \yZlatnika", get_user_gold(id)) format(zadatak, charsmax(zadatak), "Ubi 5 Neprijateljskih Heoja [%d]", ubistva[id]) format(zadatak1, charsmax(zadatak1), "Dostigni 10 Level [%i]", get_user_level(id)) new menu = menu_create(naslov, "Shop_Handle") menu_additem(menu, zadatak) menu_additem(menu, zadatak1) menu_display(id, menu) } public Shop_Handle(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) } menu_display(id, menu) }
public ShowInfo(id) { id -= TASK_SHOWINFO set_task(0.1, "ShowInfo", id + TASK_SHOWINFO) set_hudmessage(0, 255, 0, -1.0, 0.80, 0, 6.0, 0.1) ShowSyncHudMsg(id, SyncHud, "[Hero: %s][Energy: %d][Zlatnici: %d]^n[Experience: %i / %i][Level: %i]^n[Ulti: %s]", hero_name[get_user_hero(id)], get_user_health(id), get_user_gold(id), get_user_xp(id), get_user_level(id) * 5 * (get_user_level(id) / 2), get_user_level(id), hero_ability[get_user_hero(id)]) }
public client_disconnect(id) { remove_task(id + TASK_SHOWINFO) }
It's a bit mess, but however its good for now ^.^
So i need few things?
I can't test it online, so will Assassins invisibility work if he holds "e"?
And how i can set task, if 5 seconds are passed, the ultimate ability doesn't work no more, and cool down appears in hud..??
i know a way via tasks and bools, but maybe there is a better way?
Thanks
__________________
|
|