Raised This Month: $ Target: $400
 0% 

Parachute


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
gump497
BANNED
Join Date: May 2011
Location: Slovakia
Old 08-26-2012 , 07:40   Parachute
Reply With Quote #1

Hello,
Could someone help me, when I set the para_free to 1 and admin_parachute to 0, so it is only for admins, which should go to all players. Where is your fault please?

Code:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>

#define PLUGINNAME    "AMXX Parachute"
#define VERSION        "0.2.3"
#define AUTHOR        "KRoT@L"

new bool:has_parachute[33];
new 
para_ent[33];
new 
bool:had_parachute[33];
new 
bool:player_died[33];

public 
plugin_init()
{
    
register_pluginPLUGINNAMEVERSIONAUTHOR )
    
    
register_concmd"say buy_parachute""buy_parachute" )
    
register_concmd"say sell_parachute""sell_parachute" )
    
register_concmd"amx_parachute""give_parachute"ADMIN_CFG"amx_parachute <prezyvka, @vsetci>" )

    
register_cvar"sv_parachute""1" )
    
register_cvar"parachute_cost""1000" )
    
register_cvar"parachute_payback""75" )
    
register_cvar"admin_parachute""0" )
    
register_cvar"para_free""1" )
    
    
register_logevent"event_roundstart"2"0=World triggered""1=Round_Start" )
    
register_logevent"event_roundend"2"0=World triggered""1=Round_End" )
    
register_event"ResetHUD""event_resethud""be" )
    
register_event"DeathMsg""death_event""a" )
}

public 
plugin_modules() {
    
require_module"engine" )
    
require_module"cstrike" )
}

public 
plugin_precache()
{
    
precache_model("models/parachute.mdl")
}

public 
client_connect(id)
{
    if(
para_ent[id] > 0)
    {
        
remove_entity(para_ent[id])
    }
    
has_parachute[id] = true;
    
para_ent[id] = 0
}

public 
event_roundstart() {
    new 
MaxPlayers get_maxplayers();
    for( new 
idid MaxPlayersid++ ) {
        if( 
had_parachute[id] == true && player_died[id] == false ) {
            
has_parachute[id] = true
        
}
    }
    
set_task0.3 "free_parachute"3210__"b" );
        
}

public 
event_roundend() {
    new 
MaxPlayers get_maxplayers();
    for( new 
idid MaxPlayersid++ ) {
        if( 
is_user_aliveid ) ) {
            if( 
has_parachute[id] == true ) {
                
had_parachute[id] = true;
            }else{
                
had_parachute[id] = false;
            }
            
player_died[id] = false;

        }else {
            if(
para_ent[id] > 0) {
                
remove_entity(para_ent[id])
            }
            
has_parachute[id] = false
            para_ent
[id] = 0
            player_died
[id] = true;
        }
    }
    
remove_task3210 )
}

public 
event_resethudid ) {
    if(
para_ent[id] > 0)
    {
        
remove_entity(para_ent[id])
    }
    
has_parachute[id] = false
    para_ent
[id] = 0
}

public 
death_event()
{
    new 
id read_data(2)

    if(
para_ent[id] > 0)
    {
        
remove_entity(para_ent[id])
    }
    
has_parachute[id] = false
    para_ent
[id] = 0
    player_died
[id] = true
}

public 
buy_parachute(id) {
    
    if(
get_cvar_num"sv_parachute" ) == 0)
    {
        
ChatColorid"!g[Parachute] !yPadak je zakazany")
        return 
PLUGIN_HANDLED
    
}

    if(
has_parachute[id])
    {
        return 
PLUGIN_HANDLED        
    
}

    new 
money cs_get_user_money(id)
    new 
cost get_cvar_num"parachute_cost" )

    if(
money cost)
    {
        
ChatColorid"!g[Parachute] !yNemas dostatok penazi na padak, stoji !t%i $"cost)
        return 
PLUGIN_CONTINUE
    
}

    
cs_set_user_money(idmoney cost)
    
ChatColorid"!g[Parachute] !yKupil si si padak. Ak ho chces pouzit, stlac a podrz !t+use !y(!te!y)" )
    
has_parachute[id] = true

    
return PLUGIN_CONTINUE
}

public 
sell_parachute(id) {
    if (
get_cvar_num("sv_parachute") == 0) {
        
ChatColorid"!g[Parachute] !yPadak je zakazany")
        return 
PLUGIN_CONTINUE
    
}
    if (
has_parachute[id]) {
        if(
para_ent[id] > 0)
        {
            if(
is_valid_ent(para_ent[id])) {
                
remove_entity(para_ent[id])
            }
        }
        
has_parachute[id] = false
        para_ent
[id] = 0

        
new money cs_get_user_money(id)
        new 
cost get_cvar_num("parachute_cost")
        new 
payback floatround(float(cost) * (get_cvar_float("parachute_payback") / 100))
        
cs_set_user_money(idmoney payback)
        
ChatColorid"!g[Parachute] !yPredal si padak za !t%i $"payback)
    }
    return 
PLUGIN_CONTINUE
}
public 
free_parachute() {
    new 
maxPlayers get_maxplayers();
    if(
get_cvar_num"sv_parachute" ) == 0) return PLUGIN_CONTINUE

        
for( new 1<= maxPlayersi++ )
        {
        if( !
is_user_connected) ) return PLUGIN_CONTINUE
        
        
if ( get_cvar_num"para_free") == ) {
            
has_parachute[i] = true
            
            
return PLUGIN_CONTINUE
        
}
        if ( 
get_cvar_num("admin_parachute") == && get_user_flags) && ADMIN_LEVEL_H ) {
            
has_parachute[i] = true
            
            
return PLUGIN_CONTINUE
        
}
    }
    return 
PLUGIN_CONTINUE
}

public 
give_parachute(idlevelcid) {
    
    if (!
cmd_access(idlevelcid) ) {
        return 
PLUGIN_CONTINUE
    
}
    
    if (
get_cvar_num("sv_parachute") == ) {
        
ChatColorid"!g[Parachute] !yPadak je zakazany")
        
        return 
PLUGIN_CONTINUE
    
}else{
        new 
arg[32]
        
read_argv1arg31 )
        if (
arg[0] == '@' && arg[1] == 'a') {
            new 
maxPlayers get_maxplayers();
            for( new 
1<= maxPlayersi++ )
            {
                
ChatColori"!yADMIN: dal vsetkym padak" )
                
has_parachute[i] = true
            
}
            
            return 
PLUGIN_CONTINUE
        
}
        new 
player cmd_targetidarg)
        
        if (
has_parachute[id]) {
            
            return 
PLUGIN_CONTINUE
        
}
        if( !
player ) {
            
ChatColorid"!g[Parachute] !yNeexistuje ziadny takyto hrac" )
    
            return 
PLUGIN_CONTINUE
        
}else{
            
ChatColorplayer"!yADMIN: ti dal padak" )
            
has_parachute[player] = true
            
            
return PLUGIN_CONTINUE
        
}
        
    }
    return 
PLUGIN_CONTINUE
}

public 
client_PreThink(id)
{
    if( 
get_cvar_num"sv_parachute" ) == )
    {
        return 
PLUGIN_CONTINUE
    
}

    if( !
is_user_alive(id) )
    {
        return 
PLUGIN_CONTINUE
    
}

    if( 
has_parachute[id] )
    {
        if (
get_user_button(id) & IN_USE )
        {
            if ( !( 
get_entity_flags(id) & FL_ONGROUND ) )
            {
                new 
Float:velocity[3]
                
entity_get_vector(idEV_VEC_velocityvelocity)
                if(
velocity[2] < 0)
                {
                    if (
para_ent[id] == 0)
                    {
                        
para_ent[id] = create_entity("info_target")
                        if (
para_ent[id] > 0)
                        {
                            
entity_set_model(para_ent[id], "models/parachute.mdl")
                            
entity_set_int(para_ent[id], EV_INT_movetypeMOVETYPE_FOLLOW)
                            
entity_set_edict(para_ent[id], EV_ENT_aimentid)
                        }
                    }
                    if (
para_ent[id] > 0)
                    {
                        
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0
                        entity_set_vector
(idEV_VEC_velocityvelocity)
                        if (
entity_get_float(para_ent[id], EV_FL_frame) < 0.0 || entity_get_float(para_ent[id], EV_FL_frame) > 254.0)
                        {
                            if (
entity_get_int(para_ent[id], EV_INT_sequence) != 1)
                            {
                                
entity_set_int(para_ent[id], EV_INT_sequence1)
                            }
                            
entity_set_float(para_ent[id], EV_FL_frame0.0)
                        }
                        else 
                        {
                            
entity_set_float(para_ent[id], EV_FL_frameentity_get_float(para_ent[id], EV_FL_frame) + 1.0)
                        }
                    }
                }
                else
                {
                    if (
para_ent[id] > 0)
                    {
                        
remove_entity(para_ent[id])
                        
para_ent[id] = 0
                    
}
                }
            }
            else
            {
                if (
para_ent[id] > 0)
                {
                    
remove_entity(para_ent[id])
                    
para_ent[id] = 0
                
}
            }
        }
        else if (
get_user_oldbutton(id) & IN_USE)
        {
            if (
para_ent[id] > 0)
            {
                
remove_entity(para_ent[id])
                
para_ent[id] = 0
            
}
        }
    }
    
    return 
PLUGIN_CONTINUE
}

stock ChatColor( const id, const string[ ], any:... ) 
{
    new 
msg191 ], players32 ], count 1
    vformat
msgsizeof msg 1string,  3)

    
replace_allmsg,190,"!g","^4" )
    
replace_allmsg,190,"!y","^1" )
    
replace_allmsg,190,"!t","^3" )

    if( 
id )
        
players] = id
    
else get_playersplayers,count,"ch" )

    for( new 
count i++ )
    {
        if( 
is_user_connectedplayers] ) )
        {
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid"SayText" ), _players] )
            
write_byteplayers] )
            
write_stringmsg )
            
message_end( )
        }
    }

gump497 is offline
Send a message via ICQ to gump497 Send a message via Skype™ to gump497
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 08-26-2012 , 19:30   Re: Parachute
Reply With Quote #2

If you have an issue with a plugin, post in that plugin's thread.
__________________
fysiks 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 05:45.


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