Raised This Month: $51 Target: $400
 12% 

como coloco el paracaídas permanente


  
 
 
Thread Tools Display Modes
Author Message
richard200
New Member
Join Date: Aug 2013
Old 09-18-2013 , 19:27   como coloco el paracaídas permanente
#1

bueno mi proble es el siguiente cuanddo instalo el zp el mod normal version 4.3 el paracaidas ya esta oprimo ( e ) y se activas cuando salto OK bueno.

buenoo cuando instalo el amx mod 1.8.1 se me elimina el paracaidas bueno no se elimina se desactiva como hago para activarlo es que lo que quiero es que cuando dentre a una partida normal sin estar en un servidro online se active el paracaidas solo si yo coloca amx_parachute "@ all haci lo activo quiero que apenas entre ya este activado que es la fuincion que tenia antes de intalar el amx ven pero necesito el amx por los scripting haci que si alguien me puede ayudas detalladamente agradescoooo
richard200 is offline
wiDD.
Member
Join Date: Jul 2013
Location: Argentina
Old 09-18-2013 , 21:21   Re: como coloco el paracaídas permanente
#2

Pone eso en server.cfg...
wiDD. is offline
chetah
Senior Member
Join Date: Jan 2013
Location: BangBros
Old 09-22-2013 , 16:42   Re: como coloco el paracaídas permanente
#3

revisa las cvars, eran 2 creo una del coste ponla en 0 y la otra no me acuerdo, podrias ponerlas..
__________________
Minecraft Mod: | %15
"Tomorrowland <3"
chetah is offline
twiister
Senior Member
Join Date: Mar 2013
Location: Argentina
Old 09-23-2013 , 14:20   Re: como coloco el paracaídas permanente
#4

PHP Code:
/*******************************************************************************

  Parachute

  Version: 1.3
  Author: KRoTaL/JTP10181

  0.1    Release
  0.1.1  Players can't buy a parachute if they already own one
  0.1.2  Release for AMX MOD X
  0.1.3  Minor changes
  0.1.4  Players lose their parachute if they die
  0.1.5  Added amx_parachute cvar
  0.1.6  Changed set_origin to movetype_follow (you won't see your own parachute)
  0.1.7  Added amx_parachute <name> | admins with admin level a get a free parachute
  0.1.8  JTP - Cleaned up code, fixed runtime error
  1.0    JTP - Should be final version, made it work on basically any mod
  1.1    JTP - Added Changes from AMX Version 0.1.8
             Added say give_parachute and parachute_fallspeed cvar
               Plays the release animation when you touch the ground
               Added chat responder for automatic help
  1.2    JTP - Added cvar to disable the detach animation
              Redid animation code to improve organization
              Force "walk" animation on players when falling
              Change users gravity when falling to avoid choppiness
  1.3    JTP - Upgraded to pCVARs

  Commands:

    say buy_parachute   -   buys a parachute (CStrike ONLY)
    saw sell_parachute  -   sells your parachute (75% of the purchase price)
    say give_parachute <nick, #userid or @team>  -  gives your parachute to the player

    amx_parachute <nick, #userid or @team>  -  gives a player a free parachute (CStrike ONLY)
    amx_parachute @all  -  gives everyone a free parachute (CStrike ONLY)

    Press +use to slow down your fall.

  Cvars:

    sv_parachute "1"            - 0: disables the plugin - 1: enables the plugin

    parachute_cost "0"        - cost of the parachute (CStrike ONLY)

    parachute_payback "75"        - how many percent of the parachute cost you get when you sell your parachute
                                (ie. (75/100) * 1000 = 750$)

    parachute_fallspeed "100"    - speed of the fall when you use the parachute


  Setup (AMXX 1.x):

    Install the amxx file.
    Enable engine and cstrike (for cs only) in the amxx modules.ini
    Put the parachute.mdl file in the modname/models/ folder

*******************************************************************************/

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

new bool:has_parachute[33]
new 
para_ent[33]
new 
gCStrike 0
new pDetachpFallSpeedpEnabledpCostpPayback

#define PARACHUTE_LEVEL ADMIN_LEVEL_A

public plugin_init()
{
    
register_plugin("Parachute""1.3""KRoT@L/JTP10181")
    
pEnabled register_cvar("sv_parachute""1" )
    
pFallSpeed register_cvar("parachute_fallspeed""100")
    
pDetach register_cvar("parachute_detach""1")

    if (
cstrike_running()) gCStrike true

    
if (gCStrike) {

        
pCost register_cvar("parachute_cost""0")
        
pPayback register_cvar("parachute_payback""75")

        
register_concmd("amx_parachute""admin_give_parachute"PARACHUTE_LEVEL"<nick, #userid or @team>" )
    }

    
register_clcmd("say""HandleSay")
    
register_clcmd("say_team""HandleSay")

    
register_event("ResetHUD""newSpawn""be")
    
register_event("DeathMsg""death_event""a")

    
//Setup jtp10181 CVAR
    
new cvarString[256], shortName[16]
    
copy(shortName,15,"chute")

    
register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
    
get_cvar_string("jtp10181",cvarString,255)

    if (
strlen(cvarString) == 0) {
        
formatex(cvarString,255,shortName)
        
set_cvar_string("jtp10181",cvarString)
    }
    else if (
contain(cvarString,shortName) == -1) {
        
format(cvarString,255,"%s,%s",cvarStringshortName)
        
set_cvar_string("jtp10181",cvarString)
    }
}

public 
plugin_natives()
{
    
set_module_filter("module_filter")
    
set_native_filter("native_filter")
}

public 
module_filter(const module[])
{
    if (!
cstrike_running() && equali(module"cstrike")) {
        return 
PLUGIN_HANDLED
    
}

    return 
PLUGIN_CONTINUE
}

public 
native_filter(const name[], indextrap)
{
    if (!
trap) return PLUGIN_HANDLED

    
return PLUGIN_CONTINUE
}

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

public 
client_connect(id)
{
    
parachute_reset(id)
}

public 
client_disconnect(id)
{
    
parachute_reset(id)
}

public 
death_event()
{
    new 
id read_data(2)
    
parachute_reset(id)
}

parachute_reset(id)
{
    if(
para_ent[id] > 0) {
        if (
is_valid_ent(para_ent[id])) {
            
remove_entity(para_ent[id])
        }
    }

    if (
is_user_alive(id)) set_user_gravity(id1.0)

    
has_parachute[id] = false
    para_ent
[id] = 0
}

public 
newSpawn(id)
{
    if(
para_ent[id] > 0) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
para_ent[id] = 0
    
}

    if (!
gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
        
has_parachute[id] = true
        
//set_view(id, CAMERA_3RDPERSON)
    
}
}

public 
HandleSay(id)
{
    if(!
is_user_connected(id)) return PLUGIN_CONTINUE

    
new args[128]
    
read_args(args127)
    
remove_quotes(args)

    if (
gCStrike) {
        if (
equali(args"buy_parachute")) {
            
buy_parachute(id)
            return 
PLUGIN_HANDLED
        
}
        else if (
equali(args"sell_parachute")) {
            
sell_parachute(id)
            return 
PLUGIN_HANDLED
        
}
        else if (
containi(args"give_parachute") == 0) {
            
give_parachute(id,args[15])
            return 
PLUGIN_HANDLED
        
}
    }

    if (
containi(args"parachute") != -1) {
        if (
gCStrikeclient_print(idprint_chat"[AMXX] Parachute commands: buy_parachute, sell_parachute, give_parachute")
        
client_print(idprint_chat"[AMXX] To use your parachute press and hold your +use button while falling")
    }

    return 
PLUGIN_CONTINUE
}

public 
buy_parachute(id)
{
    if (!
gCStrike) return PLUGIN_CONTINUE
    
if (!is_user_connected(id)) return PLUGIN_CONTINUE

    
if (!get_pcvar_num(pEnabled)) {
        
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
        return 
PLUGIN_HANDLED
    
}

    if (
has_parachute[id]) {
        
client_print(idprint_chat"[AMXX] You already have a parachute")
        return 
PLUGIN_HANDLED
    
}

    new 
money cs_get_user_money(id)
    new 
cost get_pcvar_num(pCost)

    if (
money cost) {
        
client_print(idprint_chat"[AMXX] You don't have enough moneyfor a parachute - Costs $%i"cost)
        return 
PLUGIN_HANDLED
    
}

    
cs_set_user_money(idmoney cost)
    
client_print(idprint_chat"[AMXX] You have bought a parachute. To use it, press +use while falling.")
    
has_parachute[id] = true

    
return PLUGIN_HANDLED
}

public 
sell_parachute(id)
{
    if (!
gCStrike) return PLUGIN_CONTINUE
    
if (!is_user_connected(id)) return PLUGIN_CONTINUE

    
if (!get_pcvar_num(pEnabled)) {
        
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
        return 
PLUGIN_HANDLED
    
}

    if (!
has_parachute[id]) {
        
client_print(idprint_chat"[AMXX] You don't have a parachute to sell")
        return 
PLUGIN_HANDLED
    
}

    if (
access(id,PARACHUTE_LEVEL)) {
        
client_print(idprint_chat"[AMXX] You cannot sell your free admin parachute")
        return 
PLUGIN_HANDLED
    
}

    
parachute_reset(id)

    new 
money cs_get_user_money(id)
    new 
cost get_pcvar_num(pCost)

    new 
sellamt floatround(cost * (get_pcvar_num(pPayback) / 100.0))
    
cs_set_user_money(idmoney sellamt)

    
client_print(idprint_chat"[AMX] You have sold your used parachute for $%d"sellamt)

    return 
PLUGIN_CONTINUE
}

public 
give_parachute(id,args[])
{
    if (!
gCStrike) return PLUGIN_CONTINUE
    
if (!is_user_connected(id)) return PLUGIN_CONTINUE

    
if (!get_pcvar_num(pEnabled)) {
        
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
        return 
PLUGIN_HANDLED
    
}

    if (!
has_parachute[id]) {
        
client_print(idprint_chat"[AMXX] You don't have a parachute to give")
        return 
PLUGIN_HANDLED
    
}

    new 
player cmd_target(idargs4)
    if (!
player) return PLUGIN_HANDLED

    
new id_name[32], pl_name[32]
    
get_user_name(idid_name31)
    
get_user_name(playerpl_name31)

    if(
has_parachute[player]) {
        
client_print(idprint_chat"[AMXX] %s already has a parachute."pl_name)
        return 
PLUGIN_HANDLED
    
}

    
parachute_reset(id)
    
has_parachute[player] = true

    client_print
(idprint_chat"[AMXX] You have given your parachute to %s."pl_name)
    
client_print(playerprint_chat"[AMXX] %s has given thier parachute to you."id_name)

    return 
PLUGIN_HANDLED
}

public 
admin_give_parachute(idlevelcid) {

    if (!
gCStrike) return PLUGIN_CONTINUE

    
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED

    
if (!get_pcvar_num(pEnabled)) {
        
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
        return 
PLUGIN_HANDLED
    
}

    new 
arg[32], name[32], name2[32], authid[35], authid2[35]
    
read_argv(1,arg,31)
    
get_user_name(id,name,31)
    
get_user_authid(id,authid,34)

    if (
arg[0]=='@'){
        new 
players[32], inum
        
if (equali("T",arg[1]))        copy(arg[1],31,"TERRORIST")
        if (
equali("ALL",arg[1]))    get_players(players,inum)
        else                        
get_players(players,inum,"e",arg[1])

        if (
inum == 0) {
            
console_print(id,"No clients in such team")
            return 
PLUGIN_HANDLED
        
}

        for(new 
0inuma++) {
            
has_parachute[players[a]] = true
        
}

        switch(
get_cvar_num("amx_show_activity"))    {
            case 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1])
            case 
1:    client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^" players",arg[1])
        }

        
console_print(id,"[AMXX] You gave a parachute to ^"%s^" players",arg[1])
        
log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s^""name,get_user_userid(id),authid,arg[1])
    }
    else {

        new 
player cmd_target(id,arg,6)
        if (!
player) return PLUGIN_HANDLED

        has_parachute
[player] = true

        get_user_name
(player,name2,31)
        
get_user_authid(player,authid2,34)

        switch(
get_cvar_num("amx_show_activity")) {
            case 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2)
            case 
1:    client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^"",name2)
        }

        
console_print(id,"[AMXX] You gave a parachute to ^"%s^""name2)
        
log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s<%d><%s><>^""name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
    }
    return 
PLUGIN_HANDLED
}

public 
client_PreThink(id)
{
    
//parachute.mdl animation information
    //0 - deploy - 84 frames
    //1 - idle - 39 frames
    //2 - detach - 29 frames

    
if (!get_pcvar_num(pEnabled)) return
    if (!
is_user_alive(id) || !has_parachute[id]) return

    new 
Float:fallspeed get_pcvar_float(pFallSpeed) * -1.0
    
new Float:frame

    
new button get_user_button(id)
    new 
oldbutton get_user_oldbutton(id)
    new 
flags get_entity_flags(id)

    if (
para_ent[id] > && (flags FL_ONGROUND)) {

        if (
get_pcvar_num(pDetach)) {

            if (
get_user_gravity(id) == 0.1set_user_gravity(id1.0)

            if (
entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
                
entity_set_int(para_ent[id], EV_INT_sequence2)
                
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                
entity_set_float(para_ent[id], EV_FL_frame0.0)
                
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                
entity_set_float(para_ent[id], EV_FL_animtime0.0)
                
entity_set_float(para_ent[id], EV_FL_framerate0.0)
                return
            }

            
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
            entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
            
entity_set_float(para_ent[id],EV_FL_frame,frame)

            if (
frame 254.0) {
                
remove_entity(para_ent[id])
                
para_ent[id] = 0
            
}
        }
        else {
            
remove_entity(para_ent[id])
            
set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}

        return
    }

    if (
button IN_USE) {

        new 
Float:velocity[3]
        
entity_get_vector(idEV_VEC_velocityvelocity)

        if (
velocity[2] < 0.0) {

            if(
para_ent[id] <= 0) {
                
para_ent[id] = create_entity("info_target")
                if(
para_ent[id] > 0) {
                    
entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
                    
entity_set_edict(para_ent[id], EV_ENT_aimentid)
                    
entity_set_edict(para_ent[id], EV_ENT_ownerid)
                    
entity_set_int(para_ent[id], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_model(para_ent[id], "models/parachute.mdl")
                    
entity_set_int(para_ent[id], EV_INT_sequence0)
                    
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                    
entity_set_float(para_ent[id], EV_FL_frame0.0)
                    
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                }
            }

            if (
para_ent[id] > 0) {

                
entity_set_int(idEV_INT_sequence3)
                
entity_set_int(idEV_INT_gaitsequence1)
                
entity_set_float(idEV_FL_frame1.0)
                
entity_set_float(idEV_FL_framerate1.0)
                
set_user_gravity(id0.1)

                
velocity[2] = (velocity[2] + 40.0 fallspeed) ? velocity[2] + 40.0 fallspeed
                entity_set_vector
(idEV_VEC_velocityvelocity)

                if (
entity_get_int(para_ent[id],EV_INT_sequence) == 0) {

                    
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
                    entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
                    
entity_set_float(para_ent[id],EV_FL_frame,frame)

                    if (
frame 100.0) {
                        
entity_set_float(para_ent[id], EV_FL_animtime0.0)
                        
entity_set_float(para_ent[id], EV_FL_framerate0.4)
                        
entity_set_int(para_ent[id], EV_INT_sequence1)
                        
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
                        
entity_set_float(para_ent[id], EV_FL_frame0.0)
                        
entity_set_float(para_ent[id], EV_FL_fuser10.0)
                    }
                }
            }
        }
        else if (
para_ent[id] > 0) {
            
remove_entity(para_ent[id])
            
set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
    }
    else if ((
oldbutton IN_USE) && para_ent[id] > ) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
para_ent[id] = 0
    
}

Cvar:

sv_parachute "1" - 0: disable / 1: enable
parachute_cost "0" - costo del paracaidas
admin_parachute "0" - 0: admins de nivel A no pueden tener paracaidas /1: admins de nivel A obtienen paracaidas gratis automaticamente
parachute_payback "75" - aqui configuras el descenso del paracaidas en %(75/100*1000) = 750
para_free "1" - 0: no gratis / 1: gratis

PD: Acordate de poner en model en donde corresponda

Saludos

Last edited by twiister; 09-23-2013 at 14:21.
twiister is offline
 



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 13:44.


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