Raised This Month: $ Target: $400
 0% 

Parachute for VIPS!


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
reidark
Member
Join Date: Jan 2011
Old 04-22-2012 , 15:37   Parachute for VIPS!
Reply With Quote #1

Hi guys, i'm here again
Okay, i need a parachute only for vips.

FLAG: T
ADMIN_LEVEL: H


For use, the player will use "E".
And the parachute cost = FREE!

Thanks guys!
reidark is offline
Piranja
Junior Member
Join Date: Jul 2011
Old 04-22-2012 , 15:42   Re: Parachute for VIPS!
Reply With Quote #2

Try to install parachute plugin and than in cmdaccess.ini configure access flag "T"
parachute cost = free you can do with amxx.cfg cvar of parachute plugin
Piranja is offline
reidark
Member
Join Date: Jan 2011
Old 04-22-2012 , 16:03   Re: Parachute for VIPS!
Reply With Quote #3

Thanks for the help, but i need all in the plugin
reidark is offline
bazhenov93
Veteran Member
Join Date: Oct 2010
Old 04-22-2012 , 16:09   Re: Parachute for VIPS!
Reply With Quote #4

Search! This has been asked many times.
bazhenov93 is offline
reidark
Member
Join Date: Jan 2011
Old 04-22-2012 , 16:23   Re: Parachute for VIPS!
Reply With Quote #5

Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <furien.inc>

#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_plugin( PLUGINNAME, VERSION, AUTHOR )
        
        register_dictionary( "parachute.txt" )
        
        register_concmd( "say buy_parachute", "buy_parachute" )
        register_concmd( "say sell_parachute", "sell_parachute" )
        register_concmd( "amx_parachute", "give_parachute", ADMIN_LEVEL_H, "amx_parachute <name, @all>" )
        
        register_cvar( "sv_parachute", "1" )
        register_cvar( "parachute_cost", "0" )
        register_cvar( "parachute_payback", "75" )
        register_cvar( "admin_parachute", "0" )
        register_cvar( "para_free", "0" )
        
        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] = false
        para_ent[id] = 0
}

public event_roundstart() {
        new MaxPlayers = get_maxplayers();
        for( new id; id < MaxPlayers; id++ ) {
                if( had_parachute[id] == true && player_died[id] == false ) {
                        has_parachute[id] = true
                }
        }
        set_task( 3.0, "free_parachute" );
        
}

public event_roundend() {
        new MaxPlayers = get_maxplayers();
        for( new id; id < MaxPlayers; id++ ) {
                if( is_user_alive( id ) ) {
                        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;
                }
        }
        
}

public event_resethud( id ) {
        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(furien_get_user_team( id ) == AntiFurien) {
                
                if(get_cvar_num( "sv_parachute" ) == 0)
                {
                        client_print(id, print_chat, "%L", id, "para_disabled")
                        return PLUGIN_HANDLED
                }
                
                if(has_parachute[id])
                {
                        client_print(id, print_chat, "%L", id, "para_has" )
                        return PLUGIN_HANDLED           
                }
                
                new money = cs_get_user_money(id)
                new cost = get_cvar_num( "parachute_cost" )
                
                if(money < cost)
                {
                        client_print(id, print_chat, "%L", id, "para_money", cost)
                        return PLUGIN_CONTINUE
                }
                
                cs_set_user_money(id, money - cost)
                client_print(id, print_chat, "%L", id, "para_buy" )
                has_parachute[id] = true
        }
        else
                client_print(id, print_chat, "Apenas Anti Furien Pode comprar um Paraquedas")
        return PLUGIN_CONTINUE
}

public sell_parachute(id) {
        if(furien_get_user_team( id ) == AntiFurien) {
                if (get_cvar_num("sv_parachute") == 0) {
                        client_print(id, print_chat, "%L", id, "para_disabled")
                        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(id, money + payback)
                        client_print(id, print_chat, "%L", id, "para_sell", payback)
                }
        }
        else
                client_print(id, print_chat, "Apenas Anti Furien pode usar este comando")
        
        return PLUGIN_CONTINUE
}
public free_parachute() {
        new maxPlayers = get_maxplayers();
        if(get_cvar_num( "sv_parachute" ) == 0) return PLUGIN_CONTINUE
        
        for( new i = 1; i <= maxPlayers; i++ )
        {
                if( !is_user_connected( i ) ) return PLUGIN_CONTINUE
                
                if ( get_cvar_num( "para_free") == 1 ) {
                        if(furien_get_user_team( i ) == AntiFurien) {
                                client_print( i, print_chat, "%L", LANG_PLAYER, "para_admin_free" )
                                has_parachute[i] = true
                        }
                        
                        return PLUGIN_CONTINUE
                }
                if ( get_cvar_num("admin_parachute") == 1 && get_user_flags( i ) && ADMIN_LEVEL_H ) {
                        if(furien_get_user_team( i ) == AntiFurien) {
                                client_print( i, print_chat, "%L", LANG_PLAYER, "para_admin_free" )
                                has_parachute[i] = true
                        }
                        
                        return PLUGIN_CONTINUE
                }
        }
        return PLUGIN_CONTINUE
}

public give_parachute(id, level, cid) {
        
        if (!cmd_access(id, level, cid, 2 ) ) {
                return PLUGIN_CONTINUE
        }
        
        if (get_cvar_num("sv_parachute") == 0 ) {
                client_print(id, print_chat, "%L", id, "para_disabled")
                
                return PLUGIN_CONTINUE
                }else{
                new arg[32]
                read_argv( 1, arg, 31 )
                if (arg[0] == '@' && arg[1] == 'a') {
                        new maxPlayers = get_maxplayers();
                        for( new i = 1; i <= maxPlayers; i++ )
                        {
                                client_print( i, print_chat, "%L", LANG_PLAYER, "para_free_all" )
                                has_parachute[i] = true
                        }
                        
                        return PLUGIN_CONTINUE
                }
                new player = cmd_target( id, arg, 4 )
                
                if (has_parachute[id]) {
                        client_print(id, print_chat, "%L", id, "para_has" )
                        
                        return PLUGIN_CONTINUE
                }
                if( !player ) {
                        
                        client_print( id, print_chat, "%L", id, "para_no_player" )
                        
                        return PLUGIN_CONTINUE
                        }else{
                        if(furien_get_user_team( id ) == AntiFurien)  {
                                client_print(player, print_chat, "%L", player, "para_give" )
                                has_parachute[player] = true
                        }
                        else
                        client_print(id, print_chat, "O Player nao eh um anti furien")
                        
                        return PLUGIN_CONTINUE
                }
                
        }
        return PLUGIN_CONTINUE
}

public client_PreThink(id)
{
        if( get_cvar_num( "sv_parachute" ) == 0 )
        {
                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(id, EV_VEC_velocity, velocity)
                                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_movetype, MOVETYPE_FOLLOW)
                                                        entity_set_edict(para_ent[id], EV_ENT_aiment, id)
                                                }
                                        }
                                        if (para_ent[id] > 0)
                                        {
                                                velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0
                                                entity_set_vector(id, EV_VEC_velocity, velocity)
                                                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_sequence, 1)
                                                        }
                                                        entity_set_float(para_ent[id], EV_FL_frame, 0.0)
                                                }
                                                else 
                                                {
                                                         entity_set_float(para_ent[id], EV_FL_frame,  entity_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
}
Ok, i tried this, is right?

Last edited by reidark; 04-22-2012 at 16:26.
reidark is offline
TRUE RED
Senior Member
Join Date: Mar 2012
Location: Ukraine
Old 04-22-2012 , 18:42   Re: Parachute for VIPS!
Reply With Quote #6

reidark, does it work well?
TRUE RED is offline
Send a message via ICQ to TRUE RED Send a message via Skype™ to TRUE RED
reidark
Member
Join Date: Jan 2011
Old 04-22-2012 , 20:16   Re: Parachute for VIPS!
Reply With Quote #7

Nop, dind't work.
I tried to make a new, but it's so hard.
reidark 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 01:59.


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