Raised This Month: $ Target: $400
 0% 

Need Help / Recommendations...


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
MiloSx7
Member
Join Date: Oct 2011
Location: Serbia, Nish
Old 10-27-2011 , 04:11   Need Help / Recommendations...
Reply With Quote #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(PLUGINVERSIONAUTHOR)
    
    
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(idkRenderFxGlowShell000kRenderTransAlpha0)
    }
    else
    {
        
set_user_rendering(id)
    }
    
    return 
PLUGIN_CONTINUE
}
public 
Death(victimattacker)
{
    if(
attacker != victim)
    {
        
set_user_xp(attackerget_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(idCSW_MP5NAVY1000)
        }
        case 
Hunter:
        {
            
give_item(id"weapon_tmp")
        }
        case 
Runner:
        {
            
give_item(id"weapon_m249")
        }
        case 
Warrior:
        {
            
give_item(id"weapon_m4a1")
        }
    }
    
    
set_user_health(idhero_energy[get_user_hero(id)])
    
    return 
PLUGIN_CONTINUE
}

public 
CurWeapon(id)
{
    if(
has_rocket_boots[id])
    {
        
set_user_maxspeed(idget_user_maxspeed(id) + 10.0)
    }
}

public 
CheckLevel(id)
{
    if(
get_user_level(id) < 18)
    {
        while(
get_user_xp(id) >= (get_user_level(id) * * (get_user_level(id) / 2)))
        {
            
set_user_level(idget_user_level(id) + 1)
            
            
set_hudmessage(02550, -1.00.2006.03.0)
            
ShowSyncHudMsg(idSyncHud2"LeVeL Up!")
        }
    }
}

public 
IzaberiKlasu(id)
{
    new 
menu menu_create("Izaberi Heroja""IzaberiKlasu_Handle")
    
    for(new 
1sizeof hero_name++)
    {
        
menu_additem(menuhero_name[i])
    }
    
    
menu_display(idmenu)
}
public 
IzaberiKlasu_Handle(idmenuitem)
{
    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(naslovcharsmax(naslov), "Zadatci^nImas \r[\d%d\r] \yZlatnika"get_user_gold(id))
    
format(zadatakcharsmax(zadatak), "Ubi 5 Neprijateljskih Heoja [%d]"ubistva[id])
    
format(zadatak1charsmax(zadatak1), "Dostigni 10 Level [%i]"get_user_level(id))
    
    new 
menu menu_create(naslov"Shop_Handle")
    
menu_additem(menuzadatak)
    
menu_additem(menuzadatak1)
    
menu_display(idmenu)
}
public 
Shop_Handle(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
    }
    
    
menu_display(idmenu)
}

public 
ShowInfo(id)
{
    
id -= TASK_SHOWINFO
    set_task
(0.1"ShowInfo"id TASK_SHOWINFO)
    
    
set_hudmessage(02550, -1.00.8006.00.1)
    
ShowSyncHudMsg(idSyncHud"[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) * * (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
__________________
MiloS
MiloSx7 is offline
Send a message via MSN to MiloSx7
quark
Veteran Member
Join Date: Oct 2011
Location: Your mind.
Old 10-27-2011 , 04:26   Re: Need Help / Recommendations...
Reply With Quote #2

Do it your way
__________________

Check out My Plugins:
qServerInfo ; ASKTAG
quark is offline
MiloSx7
Member
Join Date: Oct 2011
Location: Serbia, Nish
Old 10-27-2011 , 05:01   Re: Need Help / Recommendations...
Reply With Quote #3

As i can see your signature, you are a newbie scripter...
I need help from profi scripters, anyway thanks
__________________
MiloS
MiloSx7 is offline
Send a message via MSN to MiloSx7
quark
Veteran Member
Join Date: Oct 2011
Location: Your mind.
Old 10-27-2011 , 05:23   Re: Need Help / Recommendations...
Reply With Quote #4

EDIT - Yeah, but i am awesome

I am newbie but i know something about pawn, and i think , if the plugin is your way, its easier
__________________

Check out My Plugins:
qServerInfo ; ASKTAG

Last edited by quark; 10-27-2011 at 05:25.
quark is offline
Xellath
Veteran Member
Join Date: Dec 2007
Location: Sweden
Old 10-27-2011 , 05:58   Re: Need Help / Recommendations...
Reply With Quote #5

PHP Code:
if( button && IN_USE )
// ->
if( button IN_USE 
Lets assume an ulti has 5 sec cooldown. Now, use get_gametime and add 5 secs, there you have your cooldown. Example of how to display it (in your hud):
PHP Code:
new Float:g_lasttime[33], Float:g_cooldown[33];

// check if cd is over
if((get_gametime() - g_lasttime[id] ) >= 5.0 )

// where ulti is used set lasttime and cd
g_lasttime[id] = get_gametime();
g_cooldown[id] = g_lasttime[id] + 5.0;

// display cooldown in 0.0 format
ShowSyncHudMsg(idSyncHud"[Hero: %s][Energy: %d][Zlatnici: %d]^n[Experience: %i / %i][Level: %i]^n[Ulti: %s][CD: %.1f]"
    
hero_name[get_user_hero(id)], 
    
get_user_health(id), 
    
get_user_gold(id), 
    
get_user_xp(id), 
    
get_user_level(id) * * (get_user_level(id) / 2), 
    
get_user_level(id), 
    
hero_ability[get_user_hero(id)],
    (
g_cooldown[id] - get_gametime() < 0.0) ? 0.0 : (g_cooldown[id] - get_gametime())
    ); 
__________________
Achievements API - a simple way for you to create your OWN custom achievements!
Xellath is offline
Reply



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:15.


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