Raised This Month: $ Target: $400
 0% 

Plugin Leicht umschreiben.


  
 
 
Thread Tools Display Modes
Author Message
61Trabz
New Member
Join Date: Feb 2010
Old 12-05-2010 , 10:40   Plugin Leicht umschreiben.
#1

Hallo erstmal Ich bräuchte mal ein bissl hilfe.
Es geht um diesen Jetpack http://forums.alliedmods.net/showthread.php?t=55709 .
Version Cs_jetpack da ich 0 ahnung davon habe wollte ich fragen ob einer von euch es für uns leicht umschreiben und neu kompilieren könnte.
1.Jetpack geräusche rausnehmen jetpack.wav komplett raus
also das man lautlos umherfliegt.
2.Jetpack rauch rausnehmen das kein rauch mehr zu sehen ist.



Vielen Dank Schonmal im Voraus.

Last edited by 61Trabz; 12-08-2010 at 12:12.
61Trabz is offline
61Trabz
New Member
Join Date: Feb 2010
Old 12-10-2010 , 16:11   Re: Plugin Leicht umschreiben.
#2

Könnte mir jemand wenigsten ne kleine hilfestellung geben was ich rausnehmen muss?

Quote:
public plugin_precache()
{
precache_sound("Jetpack/Jetpack.wav")
precache_sound("Jetpack/JetpackIdle.wav")

explosion=precache_model("sprites/explode1.spr")
smoke=precache_model("sprites/lightsmoke.spr")
Das hier vielleicht?
Wäre nett wenn jemand antwortet.
61Trabz is offline
platzpatrone
Veteran Member
Join Date: Apr 2007
Location: Germany
Old 12-10-2010 , 16:35   Re: Plugin Leicht umschreiben.
#3

da haste ohne smoke und ohne sound:

Code:
//Hi. #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> //General new bool:Disabled=true//For checking to keep players from flying during the buy period. new bool:JetpackBools[33][3]//Jetpack On/Jetpack in use? [2 is for +jetpack now] new Float:JetpackSound[33][2]//When was the last sound played? new JetpackFuel[33]//How much fuel a player has. //Sprites new explosion new smoke //Death new MSG_DEATH //pcvars new CS_Jetpack new CS_Jetpack_ExplodeDamage new CS_Jetpack_ExplodeRadius new CS_Jetpack_ExplodeFrequency new CS_Jetpack_FuelMode new CS_Jetpack_FuelMatch new CS_Jetpack_Death new CS_Jetpack_UpSpeed new CS_Jetpack_ForwardSpeed new CS_Jetpack_Accelerate new CS_Jetpack_UAccelerate new CS_Jetpack_MaxFuel new CS_Jetpack_StartingFuel new CS_Jetpack_DepletionRate new CS_Jetpack_RegenRate new CS_Jetpack_IdleDeplete new CS_Jetpack_RoundReset new CS_Jetpack_JumpToFly new CS_Jetpack_HudChannel new MP_FriendlyFire public plugin_init() {     register_plugin("CS_Jetpack","1.6983421","Bad_Bud")         register_clcmd("say /jetpack","Jetpack")     register_clcmd("+jetpack","plusjetpack")     register_clcmd("-jetpack","minusjetpack")     register_concmd("cs_jetpack_setfuel","SetFuel",ADMIN_RCON)     register_concmd("cs_jetpack_givefuel","GiveFuel",ADMIN_RCON)     register_concmd("cs_jetpack_save","SaveConfig",ADMIN_RCON)     register_concmd("cs_jetpack_reset","JetpackReset",ADMIN_RCON)//Resets jetpack fuels.         RegisterHam(Ham_TakeDamage,"player","ClientDamage")         register_logevent("Round_Start",2,"1=Round_Start")     register_logevent("Round_End",2,"1=Round_End")         MSG_DEATH=get_user_msgid("DeathMsg")         CS_Jetpack=register_cvar("cs_jetpack","1")//1 = On     CS_Jetpack_ExplodeDamage=register_cvar("cs_jetpack_explodedamage","1.0")//Set to the ratio of damage dealt by exploding jetpacks.     CS_Jetpack_ExplodeRadius=register_cvar("cs_jetpack_exploderadius","650.0")//Set to the radius of jetpack explosion.     CS_Jetpack_ExplodeFrequency=register_cvar("cs_jetpack_explodefrequency","1.0")//Set the frequency of jetpack explosions.     CS_Jetpack_FuelMode=register_cvar("cs_jetpack_fuelmode","0")//1 = On, 2 = Burst regeneration jetpacks.     CS_Jetpack_FuelMatch=register_cvar("cs_jetpack_fuelmatch","10")//If greater than 0, you gain said fuel amount for each kill you get.     CS_Jetpack_Death=register_cvar("cs_jetpack_death","0")//If 1, jetpacks in use turn off when their owner dies.     CS_Jetpack_UpSpeed=register_cvar("cs_jetpack_upspeed","200.0")//Upward thrust the jetpack gives.     CS_Jetpack_ForwardSpeed=register_cvar("cs_jetpack_forwardspeed","575.0")//Max forward speed.     CS_Jetpack_Accelerate=register_cvar("cs_jetpack_accelerate","50.0")//Rate of acceleration (forward, back, left, right).     CS_Jetpack_UAccelerate=register_cvar("cs_jetpack_uaccelerate","100.0")//Rate of upward acceleration.     CS_Jetpack_MaxFuel=register_cvar("cs_jetpack_maxfuel","1000")//Max fuel.     CS_Jetpack_StartingFuel=register_cvar("cs_jetpack_startingfuel","50")//Starting fuel.     CS_Jetpack_DepletionRate=register_cvar("cs_jetpack_depletionrate","1.0")//Rate at which fuel depletes.  1.0 is the standard rate.     CS_Jetpack_RegenRate=register_cvar("cs_jetpack_regenrate","1.0")//Rate at which fuel regenerates.  1.0 is the standard rate.  This is only used if cs_jetpack_fuel is set to 2.     CS_Jetpack_IdleDeplete=register_cvar("cs_jetpack_idledeplete","1")//If 0, idle jetpacks don't slowly lose fuel.     CS_Jetpack_RoundReset=register_cvar("cs_jetpack_roundreset","1")//Modifies whether jetpacks are on or off and whether fuel is reset at the beginning of every round.     CS_Jetpack_JumpToFly=register_cvar("cs_jetpack_jumptofly","0")//If 1, IN_JUMP will be used to cause flight, instead of +jetpack.     CS_Jetpack_HudChannel=register_cvar("cs_jetpack_hudchannel","4")//The fuel HUD channel.  Change this to remove HUD conflicts.     MP_FriendlyFire=get_cvar_pointer("mp_friendlyfire")         register_event("DeathMsg","Death","a")         register_forward(FM_PlayerPreThink,"PreThink")         set_task(0.1,"JetpackFly",0,"",0,"b") } public plugin_precache() {     precache_sound("Jetpack/Jetpack.wav")     precache_sound("Jetpack/JetpackIdle.wav")         explosion=precache_model("sprites/explode1.spr")     smoke=precache_model("sprites/lightsmoke.spr") } public client_putinserver(id) {     switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 1:         {             JetpackFuel[id]=((get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1)         }         case 2:         {             JetpackFuel[id]=99999         }     } } public client_disconnect(id) {         JetpackBools[id][0]=false     JetpackBools[id][1]=false         JetpackSound[id][0]=0.0     JetpackSound[id][1]=0.0 } public Round_Start() {     Disabled=false } public Round_End() {     Disabled=true         switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 0:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 2,3:                     {                         Mode2Reset(true)//Not really Mode2, so sue me.                     }             }         }         case 1:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 1:                     {                         Mode1Reset(true,false)                     }                 case 2:                     {                         Mode1Reset(true,true)                     }                 case 3:                     {                         Mode1Reset(false,true)                     }             }         }         case 2:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 2,3:                     {                         Mode2Reset(true)                     }                 default:                     {                         Mode2Reset(false)                     }             }         }     } } public JetpackReset()//This is for the console command.  It looks redundant, but that's just the way it is. :P {     switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 1:         {             arrayset(JetpackFuel,(get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1,33)         }         case 2:         {             arrayset(JetpackFuel,99999,33)         }     }         return PLUGIN_HANDLED } Mode1Reset(bool:fuelreset,bool:turnoff) {     static i,TotalPlayers,id     static Players[32]     get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)     {         id=Players[i]                 if(fuelreset)             JetpackFuel[id]=((get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1)                 if(turnoff)             JetpackBools[id][0]=false     } } Mode2Reset(bool:turnoff) {     static i,TotalPlayers,id     static Players[32]     get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)     {         id=Players[i]                 JetpackFuel[id]=99999                 if(turnoff)             JetpackBools[id][0]=false     } } public plusjetpack(id) {     if(JetpackBools[id][0]&&!Disabled)         JetpackBools[id][2]=true     else         JetpackBools[id][2]=false         return PLUGIN_HANDLED } public minusjetpack(id) {     JetpackBools[id][2]=false         return PLUGIN_HANDLED } public PreThink(id) {     if(get_pcvar_num(CS_Jetpack)==1)     {         if(JetpackBools[id][0])         {             if(!(pev(id,pev_flags)&FL_ONGROUND))             {                 if(!get_pcvar_num(CS_Jetpack_JumpToFly))                 {                                         if(JetpackBools[id][2])                     {                         if(get_pcvar_num(CS_Jetpack_FuelMode)==2&&JetpackFuel[id]<5000)                             JetpackBools[id][1]=false                         else                             JetpackBools[id][1]=true                     }                 }                 else                 {                     static Button                     Button=pev(id,pev_button)                                         if(Button&IN_JUMP)                     {                         if(get_pcvar_num(CS_Jetpack_FuelMode)==2&&JetpackFuel[id]<5000)                             JetpackBools[id][1]=false                         else                             JetpackBools[id][1]=true                     }                 }             }                         if(JetpackBools[id][1])             {                 if(get_gametime()-JetpackSound[id][0]>1.0&&is_user_alive(id))                 {                     //emit_sound(id,CHAN_ITEM,"Jetpack/jetpack.wav",1.0,ATTN_NORM,0,PITCH_NORM)                     JetpackSound[id][0]=get_gametime()                 }                 JetpackSound[id][1]=0.0             }             else             {                 if(get_gametime()-JetpackSound[id][1]>1.0&&is_user_alive(id))                 {                     //emit_sound(id,CHAN_ITEM,"Jetpack/jetpackidle.wav",1.0,ATTN_NORM,0,PITCH_NORM)                     JetpackSound[id][1]=get_gametime()                 }                 JetpackSound[id][0]=0.0             }         }     }         return FMRES_IGNORED } public ClientDamage(this,inflictor,attacker,Float:damage,dmgbits)//this = victim {         if(get_pcvar_float(CS_Jetpack_ExplodeFrequency)>0.0)//If jetpack explosions are enabled.     {         if(JetpackBools[this][1]&&attacker!=0&&attacker<get_maxplayers())//Fall damage is server inflicted.  Server does not have weapons.         {                 if(get_pcvar_num(MP_FriendlyFire))//If friendly fire is on...             {                 CheckDamage(this,inflictor,attacker,damage)             }             else if(!SameTeam(this,attacker))//if it's off, check their teams.             {                 CheckDamage(this,inflictor,attacker,damage)             }         }     }         return HAM_HANDLED } CheckDamage(this,inflictor,attacker,Float:damage) {     damage*=get_pcvar_float(CS_Jetpack_ExplodeFrequency)//Multiply the damage by whatever.         if(IsGrenade(inflictor)&&damage>15.0)//Grenade     {         JetpackExplode(this,attacker)     }             else     {         if(get_user_weapon(attacker)!=CSW_KNIFE)//If not: Knife         {             damage*=damage//Exponentiate so higher damage weapons have a much higher chance of causing explosions.             damage/=110.0//Turns damage into a percentage.  It's divided by 110 so that 100 damage isn't a 100% chance, but instead a 91% chance.             //NEW: CS_Jetpack 1.3: Explodefrequency may make anything a 100% chance.  But as a default, this will stay so 1.0 will give a 91% chance.                         if(random_num(0,99)<damage)//Chance!                 JetpackExplode(this,attacker)         }     } } JetpackExplode(victim,attacker) {             static Float:TempOrigin[3]     pev(victim,pev_origin,TempOrigin)         if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(JetpackFuel[victim]>25000)             JetpackFuel[victim]=floatround(JetpackFuel[victim]*0.8)         else             JetpackFuel[victim]=0     }         effect_explosion(victim)         AddDeaths(victim,1)     CreateDeathMessage(victim,attacker)         if(!SameTeam(victim,attacker))         AddPoints(attacker,1)//Give your killer one point, unless he was on your team, that asshole.     else         AddPoints(attacker,-1)//Teamkill.         DealJetpackDamage(victim,attacker,1000.0)//1000 is overkill.  They best be dead and stay that way.         if(victim!=attacker)         RadiusDamage(attacker,TempOrigin,(170.0*get_pcvar_float(CS_Jetpack_ExplodeDamage)),get_pcvar_float(CS_Jetpack_ExplodeRadius)) } RadiusDamage(attacker,Float:Origin[3],Float:MaxDamage,Float:Radius) {     static victim,AlivePlayers,Float:Damage//,Float:Health     static Players[32],Float:VictimOrigin[3]     get_players(Players,AlivePlayers,"a")     for (new i=0;i<AlivePlayers;i++)     {         victim=Players[i]         static Health                 if(get_pcvar_num(MP_FriendlyFire))         {             pev(victim,pev_origin,VictimOrigin)                         if(get_distance_f(Origin,VictimOrigin)<=Radius)             {                 Damage=(MaxDamage*(1-(get_distance_f(Origin,VictimOrigin)/Radius)))                                 Health=pev(victim,pev_health)                                 if(Damage>=Health)                 {                     if(!SameTeam(victim,attacker))                         AddPoints(attacker,1)//If the explosion kills any enemies, add one point.                     else                         AddPoints(attacker,-1)//If the explosion kills anyone on the attacker's team (including the attacker himself), subract one point.                                         CreateDeathMessage(victim,attacker)                     AddDeaths(victim,1)                 }                                 DealJetpackDamage(victim,attacker,Damage)             }         }         else if(!SameTeam(victim,attacker)||victim==attacker)         {             pev(victim,pev_origin,VictimOrigin)                         if(get_distance_f(Origin,VictimOrigin)<=Radius)             {                 Damage=(MaxDamage*(1-(get_distance_f(Origin,VictimOrigin)/Radius)))                                 Health=pev(victim,pev_health)                                 if(Damage>=Health)                 {                     if(victim!=attacker)                         AddPoints(attacker,1)//If the explosion kills any enemies, add one point.                     else                         AddPoints(attacker,-1)//If the explosion kills the attacker, subtract one point.                                         CreateDeathMessage(victim,attacker)                     AddDeaths(victim,1)                 }                                 DealJetpackDamage(victim,attacker,Damage)             }         }     } } public Death() {     static id,killerid     killerid=read_data(1)     id=read_data(2)         if(get_pcvar_num(CS_Jetpack_FuelMatch)>0&&get_pcvar_num(CS_Jetpack_FuelMode)==1&&killerid!=id&&killerid!=0)//Fuelmatch is on, fuelmode is 1, killer is not self, and killer is not server (falldamage?).     {         if(!SameTeam(id,killerid))         {             client_print(killerid,print_chat,"[Jetpack] You have gained %d fuel.",get_pcvar_num(CS_Jetpack_FuelMatch))             JetpackFuel[killerid]+=((get_pcvar_num(CS_Jetpack_FuelMatch)*1000)-1)                         if(JetpackFuel[killerid]>(get_pcvar_num(CS_Jetpack_MaxFuel)*1000))                 JetpackFuel[killerid]=((get_pcvar_num(CS_Jetpack_MaxFuel)*1000)-1)         }         else         {             client_print(killerid,print_chat,"[Jetpack] You have lost %d fuel.",get_pcvar_num(CS_Jetpack_FuelMatch))             JetpackFuel[killerid]-=((get_pcvar_num(CS_Jetpack_FuelMatch)*1000)-1)                         if(JetpackFuel[killerid]<0)                 JetpackFuel[killerid]=0         }     }     else if(get_pcvar_num(CS_Jetpack_FuelMode)==2)     {         JetpackFuel[id]=99999     }         if(get_pcvar_num(CS_Jetpack_Death)==1)         JetpackBools[id][0]=false     JetpackBools[id][1]=false } public Jetpack(id) {     if(get_pcvar_num(CS_Jetpack)==1)     {         if(!JetpackBools[id][0])         {             if(get_pcvar_num(CS_Jetpack_FuelMode)==1)             {                 if(JetpackFuel[id]>0)                 {                     JetpackBools[id][0]=true                                     client_print(id,print_chat,"[Jetpack] You have turned your jetpack on.")                 }                 else                     client_print(id,print_chat,"[Jetpack] Your jetpack has no fuel!")             }             else             {                 JetpackBools[id][0]=true                                 client_print(id,print_chat,"[Jetpack] You have turned your jetpack on.")             }         }         else         {                 JetpackBools[id][0]=false                             client_print(id,print_chat,"[Jetpack] You have turned your jetpack off.")         }     }         return PLUGIN_HANDLED } public SetFuel(ID) {     if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(read_argc()==3)         {             static Fuel             static arg2[33]             read_argv(2,arg2,32)             Fuel=str_to_num(arg2)                         if(Fuel<0)             {                 client_print(ID,print_console,"ERROR: <You may only set fuel in non-negative amounts>")             }             else             {                         static arg[33]                 read_argv(1,arg,32)                 ChangeFuel(ID,arg,Fuel,true)             }         }         else         {             client_print(ID,print_console,"USAGE: <Part of Playername or ^"ALL^"> <Amount of fuel to set (0 to %d)>",get_pcvar_num(CS_Jetpack_MaxFuel))         }     }     else     {         client_print(ID,print_console,"USAGE: cs_jetpack_fuel must be set to 1 in order to give or set fuel.")     }         return PLUGIN_HANDLED } public GiveFuel(ID) {     if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(read_argc()==3)         {             static Fuel             static arg2[33]             read_argv(2,arg2,32)             Fuel=str_to_num(arg2)                         if(Fuel<1)             {                 client_print(ID,print_console,"ERROR: <You may only give positive amounts of fuel>")             }             else             {                         static arg[33]                 read_argv(1,arg,32)                 ChangeFuel(ID,arg,Fuel,false)             }         }         else         {             client_print(ID,print_console,"USAGE: <Part of Playername or ^"ALL^"> <Amount of fuel to give (Fuel will cap at %d)>",get_pcvar_num(CS_Jetpack_MaxFuel))         }     }     else     {         client_print(ID,print_console,"USAGE: cs_jetpack_fuel must be set to 1 in order to give or set fuel.")     }         return PLUGIN_HANDLED } ChangeFuel(ID,arg[33],Fuel,Set) {     static id,MaxFuel     MaxFuel=get_pcvar_num(CS_Jetpack_MaxFuel)         if(!equali(arg,"ALL"))     {         id=cmd_target(id,arg)                 if(Set)         {             if(Fuel>MaxFuel)                 Fuel=MaxFuel                         JetpackFuel[id]=((Fuel*1000)-1)             client_print(id,print_chat,"[Jetpack] Your fuel has been set to %d.",Fuel)                         static Name[44]             get_user_name(id,Name,43)                         client_print(ID,print_console,"You have set %s's fuel to %d.",Name,Fuel)         }         else//Give         {             JetpackFuel[id]+=((Fuel*1000)-1)                         if(JetpackFuel[id]>(MaxFuel*1000))             {                 JetpackFuel[id]=((MaxFuel*1000)-1)             }                         client_print(id,print_chat,"[Jetpack] You have been given %d fuel.",Fuel)                         static Name[44]             get_user_name(id,Name,43)                         client_print(ID,print_console,"You have given %d fuel to %s.",Fuel,Name)         }     }     else     {                 static i,TotalPlayers         static Players[32]         get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)         {             id=Players[i]                         if(Set)             {                 if(Fuel>MaxFuel)                     Fuel=MaxFuel                                 JetpackFuel[id]=((Fuel*1000)-1)                     client_print(id,print_chat,"[Jetpack] Your fuel has been set to %d.",Fuel)             }             else//Give             {                 JetpackFuel[id]+=((Fuel*1000)-1)                                 if(JetpackFuel[id]>(MaxFuel*1000))                 {                     JetpackFuel[id]=((MaxFuel*1000)-1)                 }                                 client_print(id,print_chat,"[Jetpack] You have been given %d fuel.",Fuel)             }         }                 if(Set)             client_print(ID,print_console,"You have set everyone's fuel to %d",Fuel)         else             client_print(ID,print_console,"You have given %d fuel to everyone.",Fuel)     } } public SaveConfig(ID) {     if(read_argc()==2)     {         static arg[65]         read_argv(1,arg,64)                 if(containi(arg,".cfg")==-1)             format(arg,64,"%s.cfg",arg)                 client_print(ID,print_console,"Attempting save: %s...",arg)                 if(!equali(arg,"config.cfg")&&!equali(arg,"game.cfg")&&!equali(arg,"listenserver.cfg")&&!equali(arg,"autoexec.cfg")&&!equali(arg,"server.cfg"))         {             static Write[65]                         format(Write,64,"cs_jetpack %d",get_pcvar_num(CS_Jetpack))                     write_file(arg,Write,0)                         format(Write,64,"cs_jetpack_explodedamage %f",get_pcvar_float(CS_Jetpack_ExplodeDamage))             write_file(arg,Write,1)                         format(Write,64,"cs_jetpack_exploderadius %f",get_pcvar_float(CS_Jetpack_ExplodeRadius))             write_file(arg,Write,2)                         format(Write,64,"cs_jetpack_explodefrequency %f",get_pcvar_float(CS_Jetpack_ExplodeFrequency))             write_file(arg,Write,3)                         format(Write,64,"cs_jetpack_fuelmode %d",get_pcvar_num(CS_Jetpack_FuelMode))             write_file(arg,Write,4)                         format(Write,64,"cs_jetpack_fuelmatch %d",get_pcvar_num(CS_Jetpack_FuelMatch))             write_file(arg,Write,5)                         format(Write,64,"cs_jetpack_death %d",get_pcvar_num(CS_Jetpack_Death))             write_file(arg,Write,6)                         format(Write,64,"cs_jetpack_upspeed %f",get_pcvar_float(CS_Jetpack_UpSpeed))             write_file(arg,Write,7)                         format(Write,64,"cs_jetpack_forwardspeed %f",get_pcvar_float(CS_Jetpack_ForwardSpeed))             write_file(arg,Write,8)                         format(Write,64,"cs_jetpack_accelerate %f",get_pcvar_float(CS_Jetpack_Accelerate))             write_file(arg,Write,9)                         format(Write,64,"cs_jetpack_uaccelerate %f",get_pcvar_float(CS_Jetpack_UAccelerate))             write_file(arg,Write,10)                         format(Write,64,"cs_jetpack_maxfuel %d",get_pcvar_num(CS_Jetpack_MaxFuel))             write_file(arg,Write,11)                         format(Write,64,"cs_jetpack_startingfuel %d",get_pcvar_num(CS_Jetpack_StartingFuel))             write_file(arg,Write,12)                         format(Write,64,"cs_jetpack_depletionrate %f",get_pcvar_float(CS_Jetpack_DepletionRate))             write_file(arg,Write,13)                         format(Write,64,"cs_jetpack_regenrate %f",get_pcvar_float(CS_Jetpack_RegenRate))             write_file(arg,Write,14)                         format(Write,64,"cs_jetpack_idledeplete %d",get_pcvar_num(CS_Jetpack_IdleDeplete))             write_file(arg,Write,15)                         format(Write,64,"cs_jetpack_roundreset %d",get_pcvar_num(CS_Jetpack_RoundReset))             write_file(arg,Write,16)                         format(Write,64,"cs_jetpack_jumptofly %d",get_pcvar_num(CS_Jetpack_JumpToFly))             write_file(arg,Write,17)                         format(Write,64,"cs_jetpack_hudchannel %d",get_pcvar_num(CS_Jetpack_HudChannel))             write_file(arg,Write,18)                         format(Write,64,"cs_jetpack_reset")             write_file(arg,Write,19)                         client_print(ID,print_console,"Save complete.",arg)         }         else         {             client_print(ID,print_console,"Error: That filename is unavailable, please choose another.")         }     }     else     {         client_print(ID,print_console,"USAGE: <Name of file>")     }     return PLUGIN_HANDLED } public JetpackFly() {     static Float:Velocity[3]     new Float:NewVelocity[3]     static Float:Angle[3]     static Float:AngleVector[3]     static Button         static id,AlivePlayers     static Players[32]     get_players(Players,AlivePlayers,"a")     for (new i=0;i<AlivePlayers;i++)     {         id=Players[i]                 if(get_pcvar_num(CS_Jetpack)==0)         {             if(JetpackBools[id][0])             {                 JetpackBools[id][0]=false                 client_print(id,print_chat,"[Jetpack] Jetpacks have been disabled.")             }         }                 if(JetpackBools[id][1])//If jetpack is on and jetpack key is being pressed.         {                 effect_fly(id)                         if(!(pev(id,pev_flags)&FL_ONGROUND))//If the jetpacker is off the ground already             {                     pev(id,pev_velocity,Velocity)                                 pev(id,pev_angles,Angle)                 Angle[2]=0.0//Remove the Z value.                                 Button=pev(id,pev_button)                                 if(Button&IN_FORWARD)                 {                                                             angle_vector(Angle,ANGLEVECTOR_FORWARD,AngleVector)                                         NewVelocity[0]+=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]+=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_MOVERIGHT)                 {                         angle_vector(Angle,ANGLEVECTOR_RIGHT,AngleVector)                                         NewVelocity[0]+=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]+=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_MOVELEFT)                 {                     angle_vector(Angle,ANGLEVECTOR_RIGHT,AngleVector)                                         NewVelocity[0]-=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]-=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_BACK)                 {                     angle_vector(Angle,ANGLEVECTOR_FORWARD,AngleVector)                                         NewVelocity[0]-=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]-=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 CheckAndScale(Velocity,NewVelocity)                                 if(Velocity[2]<0.0)//Jetpacks get more power on the way down -- it helps landing.                 {                     Velocity[2]+=(get_pcvar_float(CS_Jetpack_UAccelerate)*1.15)                 }                 else if(Velocity[2]<get_pcvar_float(CS_Jetpack_UpSpeed))                 {                     Velocity[2]+=get_pcvar_float(CS_Jetpack_UAccelerate)                 }                                 set_pev(id,pev_velocity,Velocity)             }                         switch(get_pcvar_num(CS_Jetpack_FuelMode))             {                 case 1:                 {                     CheckFuel(id)                                         JetpackHUD(id)                                         JetpackFuel[id]-=floatround(150*get_pcvar_float(CS_Jetpack_DepletionRate))                 }                 case 2:                 {                     JetpackFuel[id]-=floatround(5000*get_pcvar_float(CS_Jetpack_DepletionRate))                                         CheckFuelP(id)                                         JetpackHUDP(id)                 }                 default:                 {                     set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))                     show_hudmessage(id,"")                 }             }                         JetpackBools[id][1]=false         }         else if(JetpackBools[id][0])//Idle jetpack.         {                 switch(get_pcvar_num(CS_Jetpack_FuelMode))             {                 case 1:                 {                     CheckFuel(id)                                         JetpackHUD(id)                                         if(get_pcvar_num(CS_Jetpack_IdleDeplete)&&!Disabled)                         JetpackFuel[id]-=floatround(20*get_pcvar_float(CS_Jetpack_DepletionRate))                 }                 case 2:                 {                     CheckFuelP(id)                                         JetpackHUDP(id)                                         JetpackFuel[id]+=floatround(1000*get_pcvar_float(CS_Jetpack_RegenRate))                                         if(JetpackFuel[id]>99999)                         JetpackFuel[id]=99999                 }                 default:                 {                     set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))                     show_hudmessage(id,"")                 }             }                         effect_idle(id)//Idle Jetpack Effect         }         else         {             set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))             show_hudmessage(id,"")         }     }     return PLUGIN_HANDLED } CheckAndScale(Float:Velocity[3],Float:NewVelocity[3]) {     new Float:Ratio         new Float:TempVelocity[3]     TempVelocity[0]=Velocity[0]+NewVelocity[0]     TempVelocity[1]=Velocity[1]+NewVelocity[1]         if(vector_length(TempVelocity)<get_pcvar_float(CS_Jetpack_ForwardSpeed))     {         Velocity[0]=TempVelocity[0]         Velocity[1]=TempVelocity[1]     }     else     {         Ratio=(get_pcvar_float(CS_Jetpack_ForwardSpeed)/vector_length(TempVelocity))         Velocity[0]*=Ratio         Velocity[1]*=Ratio     } } JetpackHUD(id) {     if(JetpackFuel[id]>10000)         set_hudmessage(255,255,255,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))     else         set_hudmessage(255,0,0,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))             show_hudmessage(id,"Fuel: %d",(JetpackFuel[id]/1000)+1) } JetpackHUDP(id) {     if(JetpackFuel[id]>10000)         set_hudmessage(255,255,255,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))     else         set_hudmessage(255,0,0,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))         if(JetpackFuel[id]>0)         show_hudmessage(id,"Fuel: %d%",(JetpackFuel[id]/1000)+1)     else         show_hudmessage(id,"Fuel: 0%") } CheckFuel(id) {     if(JetpackFuel[id]<1)     {         JetpackBools[id][0]=false         JetpackBools[id][1]=false         JetpackFuel[id]=0//Set to 0 in case it was slightly negative due to a high depletion rate.         client_print(id,print_chat,"[Jetpack] Your jetpack is out of fuel!")     } } CheckFuelP(id) {     if(JetpackFuel[id]<5000)     {         JetpackBools[id][1]=false                 if(JetpackFuel[id]<1)             JetpackFuel[id]=0//Set to 0 in case it was slightly negative due to a high depletion rate.     } } effect_fly(id) {     new Origin[3]     get_user_origin(id,Origin)         //effect_smoke(Origin)     //effect_smoke(Origin)     //effect_smoke(Origin)     effect_spark(Origin) } effect_smoke(Origin[3]) {     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPRITE)     write_coord(Origin[0]+random_num(-15,15))     write_coord(Origin[1]+random_num(-15,15))     write_coord(Origin[2]-60+random_num(-10,10))     write_short(smoke)     write_byte(10)     write_byte(115)     message_end() } effect_spark(Origin[3]) {     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPARKS)     write_coord(Origin[0])     write_coord(Origin[1])     write_coord(Origin[2]-50)     message_end() } effect_idle(id) {         static Origin[3]     get_user_origin(id,Origin)         message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPRITE)     write_coord(Origin[0]+random_num(-25,25))     write_coord(Origin[1]+random_num(-25,25))     write_coord(Origin[2]-35+random_num(0,15))     write_short(smoke)     write_byte(10)     write_byte(115)     message_end() } effect_explosion(id) {     static Origin[3]     get_user_origin(id,Origin,0)         message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_EXPLOSION2)     write_coord(Origin[0]) //coord, coord, coord (start)     write_coord(Origin[1])     write_coord(Origin[2])     write_byte(200) // byte (scale in 0.1's) 188     write_byte(10) // byte (framerate)     message_end()     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(3)     write_coord(Origin[0]) //coord, coord, coord (start)     write_coord(Origin[1])     write_coord(Origin[2])     write_short(explosion)     write_byte(60)     write_byte(10)     write_byte(0)     message_end() } CreateDeathMessage(victim,attacker) {     message_begin(MSG_ALL,MSG_DEATH)     write_byte(attacker)     write_byte(victim)     write_byte(0)     write_string("Jetpack Explosion")     message_end() } bool:IsGrenade(inflictor) {     new bool:Grenade     static class[8]     pev(inflictor,pev_classname,class,7)         if(equal(class,"grenade"))         Grenade=true         return Grenade } bool:SameTeam(id,otherid) {     if(get_pdata_int(id,114)==get_pdata_int(otherid,114))         return true         return false } AddPoints(id,Amount) {     ExecuteHam(Ham_AddPoints,id,Amount,true) } AddDeaths(id,Amount) {     set_pdata_int(id,444,get_pdata_int(id,444)+Amount) } DealJetpackDamage(victim,attacker,Float:damage) {     ExecuteHam(Ham_TakeDamage,victim,attacker,attacker,damage,(1<<6)+(1<<13)) }
platzpatrone is offline
61Trabz
New Member
Join Date: Feb 2010
Old 12-11-2010 , 08:40   Re: Plugin Leicht umschreiben.
#4

Danke für deine antwort platzpatrone aber irgendwie krieg ich das net hin.

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/groups/amxmodx/tmp3/textbLWDFi.sma(0) : error 075: input line too long (after substitutions)
/groups/amxmodx/tmp3/textbLWDFi.sma(1) : error 075: input line too long (after substitutions)
/groups/amxmodx/tmp3/textbLWDFi.sma(2) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textbLWDFi.sma(4) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textbLWDFi.sma(9) : error 017: undefined symbol "precache_sound"
/groups/amxmodx/tmp3/textbLWDFi.sma(9) : error 017: undefined symbol "precache_sound"
/groups/amxmodx/tmp3/textbLWDFi.sma(9) : error 017: undefined symbol "explosion"
/groups/amxmodx/tmp3/textbLWDFi.sma(9) : fatal error 107: too many error messages on one line

Compilation aborted.
8 Errors.



Könntest du den code als jetpack.sma datei hier reinstellen bitte?

Last edited by 61Trabz; 12-11-2010 at 08:43.
61Trabz is offline
61Trabz
New Member
Join Date: Feb 2010
Old 12-11-2010 , 11:01   Re: Plugin Leicht umschreiben.
#5

So habs hingekriegt aber rauch ist noch vorhanden fluggeräusche weg?
61Trabz is offline
platzpatrone
Veteran Member
Join Date: Apr 2007
Location: Germany
Old 12-11-2010 , 19:09   Re: Plugin Leicht umschreiben.
#6

Quote:
Originally Posted by 61Trabz View Post
So habs hingekriegt aber rauch ist noch vorhanden fluggeräusche weg?
sorry hatte was vergessen, also jetzt sollte es ohne Probleme gehen:

Code:
//Hi. #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> //General new bool:Disabled=true//For checking to keep players from flying during the buy period. new bool:JetpackBools[33][3]//Jetpack On/Jetpack in use? [2 is for +jetpack now] new Float:JetpackSound[33][2]//When was the last sound played? new JetpackFuel[33]//How much fuel a player has. //Sprites new explosion new smoke //Death new MSG_DEATH //pcvars new CS_Jetpack new CS_Jetpack_ExplodeDamage new CS_Jetpack_ExplodeRadius new CS_Jetpack_ExplodeFrequency new CS_Jetpack_FuelMode new CS_Jetpack_FuelMatch new CS_Jetpack_Death new CS_Jetpack_UpSpeed new CS_Jetpack_ForwardSpeed new CS_Jetpack_Accelerate new CS_Jetpack_UAccelerate new CS_Jetpack_MaxFuel new CS_Jetpack_StartingFuel new CS_Jetpack_DepletionRate new CS_Jetpack_RegenRate new CS_Jetpack_IdleDeplete new CS_Jetpack_RoundReset new CS_Jetpack_JumpToFly new CS_Jetpack_HudChannel new MP_FriendlyFire public plugin_init() {     register_plugin("CS_Jetpack","1.6983421","Bad_Bud")         register_clcmd("say /jetpack","Jetpack")     register_clcmd("+jetpack","plusjetpack")     register_clcmd("-jetpack","minusjetpack")     register_concmd("cs_jetpack_setfuel","SetFuel",ADMIN_RCON)     register_concmd("cs_jetpack_givefuel","GiveFuel",ADMIN_RCON)     register_concmd("cs_jetpack_save","SaveConfig",ADMIN_RCON)     register_concmd("cs_jetpack_reset","JetpackReset",ADMIN_RCON)//Resets jetpack fuels.         RegisterHam(Ham_TakeDamage,"player","ClientDamage")         register_logevent("Round_Start",2,"1=Round_Start")     register_logevent("Round_End",2,"1=Round_End")         MSG_DEATH=get_user_msgid("DeathMsg")         CS_Jetpack=register_cvar("cs_jetpack","1")//1 = On     CS_Jetpack_ExplodeDamage=register_cvar("cs_jetpack_explodedamage","1.0")//Set to the ratio of damage dealt by exploding jetpacks.     CS_Jetpack_ExplodeRadius=register_cvar("cs_jetpack_exploderadius","650.0")//Set to the radius of jetpack explosion.     CS_Jetpack_ExplodeFrequency=register_cvar("cs_jetpack_explodefrequency","1.0")//Set the frequency of jetpack explosions.     CS_Jetpack_FuelMode=register_cvar("cs_jetpack_fuelmode","0")//1 = On, 2 = Burst regeneration jetpacks.     CS_Jetpack_FuelMatch=register_cvar("cs_jetpack_fuelmatch","10")//If greater than 0, you gain said fuel amount for each kill you get.     CS_Jetpack_Death=register_cvar("cs_jetpack_death","0")//If 1, jetpacks in use turn off when their owner dies.     CS_Jetpack_UpSpeed=register_cvar("cs_jetpack_upspeed","200.0")//Upward thrust the jetpack gives.     CS_Jetpack_ForwardSpeed=register_cvar("cs_jetpack_forwardspeed","575.0")//Max forward speed.     CS_Jetpack_Accelerate=register_cvar("cs_jetpack_accelerate","50.0")//Rate of acceleration (forward, back, left, right).     CS_Jetpack_UAccelerate=register_cvar("cs_jetpack_uaccelerate","100.0")//Rate of upward acceleration.     CS_Jetpack_MaxFuel=register_cvar("cs_jetpack_maxfuel","1000")//Max fuel.     CS_Jetpack_StartingFuel=register_cvar("cs_jetpack_startingfuel","50")//Starting fuel.     CS_Jetpack_DepletionRate=register_cvar("cs_jetpack_depletionrate","1.0")//Rate at which fuel depletes.  1.0 is the standard rate.     CS_Jetpack_RegenRate=register_cvar("cs_jetpack_regenrate","1.0")//Rate at which fuel regenerates.  1.0 is the standard rate.  This is only used if cs_jetpack_fuel is set to 2.     CS_Jetpack_IdleDeplete=register_cvar("cs_jetpack_idledeplete","1")//If 0, idle jetpacks don't slowly lose fuel.     CS_Jetpack_RoundReset=register_cvar("cs_jetpack_roundreset","1")//Modifies whether jetpacks are on or off and whether fuel is reset at the beginning of every round.     CS_Jetpack_JumpToFly=register_cvar("cs_jetpack_jumptofly","0")//If 1, IN_JUMP will be used to cause flight, instead of +jetpack.     CS_Jetpack_HudChannel=register_cvar("cs_jetpack_hudchannel","4")//The fuel HUD channel.  Change this to remove HUD conflicts.     MP_FriendlyFire=get_cvar_pointer("mp_friendlyfire")         register_event("DeathMsg","Death","a")         register_forward(FM_PlayerPreThink,"PreThink")         set_task(0.1,"JetpackFly",0,"",0,"b") } public plugin_precache() {     precache_sound("Jetpack/Jetpack.wav")     precache_sound("Jetpack/JetpackIdle.wav")         explosion=precache_model("sprites/explode1.spr")     smoke=precache_model("sprites/lightsmoke.spr") } public client_putinserver(id) {     switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 1:         {             JetpackFuel[id]=((get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1)         }         case 2:         {             JetpackFuel[id]=99999         }     } } public client_disconnect(id) {         JetpackBools[id][0]=false     JetpackBools[id][1]=false         JetpackSound[id][0]=0.0     JetpackSound[id][1]=0.0 } public Round_Start() {     Disabled=false } public Round_End() {     Disabled=true         switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 0:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 2,3:                     {                         Mode2Reset(true)//Not really Mode2, so sue me.                     }             }         }         case 1:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 1:                     {                         Mode1Reset(true,false)                     }                 case 2:                     {                         Mode1Reset(true,true)                     }                 case 3:                     {                         Mode1Reset(false,true)                     }             }         }         case 2:         {             switch(get_pcvar_num(CS_Jetpack_RoundReset))             {                 case 2,3:                     {                         Mode2Reset(true)                     }                 default:                     {                         Mode2Reset(false)                     }             }         }     } } public JetpackReset()//This is for the console command.  It looks redundant, but that's just the way it is. :P {     switch(get_pcvar_num(CS_Jetpack_FuelMode))     {         case 1:         {             arrayset(JetpackFuel,(get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1,33)         }         case 2:         {             arrayset(JetpackFuel,99999,33)         }     }         return PLUGIN_HANDLED } Mode1Reset(bool:fuelreset,bool:turnoff) {     static i,TotalPlayers,id     static Players[32]     get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)     {         id=Players[i]                 if(fuelreset)             JetpackFuel[id]=((get_pcvar_num(CS_Jetpack_StartingFuel)*1000)-1)                 if(turnoff)             JetpackBools[id][0]=false     } } Mode2Reset(bool:turnoff) {     static i,TotalPlayers,id     static Players[32]     get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)     {         id=Players[i]                 JetpackFuel[id]=99999                 if(turnoff)             JetpackBools[id][0]=false     } } public plusjetpack(id) {     if(JetpackBools[id][0]&&!Disabled)         JetpackBools[id][2]=true     else         JetpackBools[id][2]=false         return PLUGIN_HANDLED } public minusjetpack(id) {     JetpackBools[id][2]=false         return PLUGIN_HANDLED } public PreThink(id) {     if(get_pcvar_num(CS_Jetpack)==1)     {         if(JetpackBools[id][0])         {             if(!(pev(id,pev_flags)&FL_ONGROUND))             {                 if(!get_pcvar_num(CS_Jetpack_JumpToFly))                 {                                         if(JetpackBools[id][2])                     {                         if(get_pcvar_num(CS_Jetpack_FuelMode)==2&&JetpackFuel[id]<5000)                             JetpackBools[id][1]=false                         else                             JetpackBools[id][1]=true                     }                 }                 else                 {                     static Button                     Button=pev(id,pev_button)                                         if(Button&IN_JUMP)                     {                         if(get_pcvar_num(CS_Jetpack_FuelMode)==2&&JetpackFuel[id]<5000)                             JetpackBools[id][1]=false                         else                             JetpackBools[id][1]=true                     }                 }             }                         if(JetpackBools[id][1])             {                 if(get_gametime()-JetpackSound[id][0]>1.0&&is_user_alive(id))                 {                     //emit_sound(id,CHAN_ITEM,"Jetpack/jetpack.wav",1.0,ATTN_NORM,0,PITCH_NORM)                     JetpackSound[id][0]=get_gametime()                 }                 JetpackSound[id][1]=0.0             }             else             {                 if(get_gametime()-JetpackSound[id][1]>1.0&&is_user_alive(id))                 {                     //emit_sound(id,CHAN_ITEM,"Jetpack/jetpackidle.wav",1.0,ATTN_NORM,0,PITCH_NORM)                     JetpackSound[id][1]=get_gametime()                 }                 JetpackSound[id][0]=0.0             }         }     }         return FMRES_IGNORED } public ClientDamage(this,inflictor,attacker,Float:damage,dmgbits)//this = victim {         if(get_pcvar_float(CS_Jetpack_ExplodeFrequency)>0.0)//If jetpack explosions are enabled.     {         if(JetpackBools[this][1]&&attacker!=0&&attacker<get_maxplayers())//Fall damage is server inflicted.  Server does not have weapons.         {                 if(get_pcvar_num(MP_FriendlyFire))//If friendly fire is on...             {                 CheckDamage(this,inflictor,attacker,damage)             }             else if(!SameTeam(this,attacker))//if it's off, check their teams.             {                 CheckDamage(this,inflictor,attacker,damage)             }         }     }         return HAM_HANDLED } CheckDamage(this,inflictor,attacker,Float:damage) {     damage*=get_pcvar_float(CS_Jetpack_ExplodeFrequency)//Multiply the damage by whatever.         if(IsGrenade(inflictor)&&damage>15.0)//Grenade     {         JetpackExplode(this,attacker)     }             else     {         if(get_user_weapon(attacker)!=CSW_KNIFE)//If not: Knife         {             damage*=damage//Exponentiate so higher damage weapons have a much higher chance of causing explosions.             damage/=110.0//Turns damage into a percentage.  It's divided by 110 so that 100 damage isn't a 100% chance, but instead a 91% chance.             //NEW: CS_Jetpack 1.3: Explodefrequency may make anything a 100% chance.  But as a default, this will stay so 1.0 will give a 91% chance.                         if(random_num(0,99)<damage)//Chance!                 JetpackExplode(this,attacker)         }     } } JetpackExplode(victim,attacker) {             static Float:TempOrigin[3]     pev(victim,pev_origin,TempOrigin)         if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(JetpackFuel[victim]>25000)             JetpackFuel[victim]=floatround(JetpackFuel[victim]*0.8)         else             JetpackFuel[victim]=0     }         effect_explosion(victim)         AddDeaths(victim,1)     CreateDeathMessage(victim,attacker)         if(!SameTeam(victim,attacker))         AddPoints(attacker,1)//Give your killer one point, unless he was on your team, that asshole.     else         AddPoints(attacker,-1)//Teamkill.         DealJetpackDamage(victim,attacker,1000.0)//1000 is overkill.  They best be dead and stay that way.         if(victim!=attacker)         RadiusDamage(attacker,TempOrigin,(170.0*get_pcvar_float(CS_Jetpack_ExplodeDamage)),get_pcvar_float(CS_Jetpack_ExplodeRadius)) } RadiusDamage(attacker,Float:Origin[3],Float:MaxDamage,Float:Radius) {     static victim,AlivePlayers,Float:Damage//,Float:Health     static Players[32],Float:VictimOrigin[3]     get_players(Players,AlivePlayers,"a")     for (new i=0;i<AlivePlayers;i++)     {         victim=Players[i]         static Health                 if(get_pcvar_num(MP_FriendlyFire))         {             pev(victim,pev_origin,VictimOrigin)                         if(get_distance_f(Origin,VictimOrigin)<=Radius)             {                 Damage=(MaxDamage*(1-(get_distance_f(Origin,VictimOrigin)/Radius)))                                 Health=pev(victim,pev_health)                                 if(Damage>=Health)                 {                     if(!SameTeam(victim,attacker))                         AddPoints(attacker,1)//If the explosion kills any enemies, add one point.                     else                         AddPoints(attacker,-1)//If the explosion kills anyone on the attacker's team (including the attacker himself), subract one point.                                         CreateDeathMessage(victim,attacker)                     AddDeaths(victim,1)                 }                                 DealJetpackDamage(victim,attacker,Damage)             }         }         else if(!SameTeam(victim,attacker)||victim==attacker)         {             pev(victim,pev_origin,VictimOrigin)                         if(get_distance_f(Origin,VictimOrigin)<=Radius)             {                 Damage=(MaxDamage*(1-(get_distance_f(Origin,VictimOrigin)/Radius)))                                 Health=pev(victim,pev_health)                                 if(Damage>=Health)                 {                     if(victim!=attacker)                         AddPoints(attacker,1)//If the explosion kills any enemies, add one point.                     else                         AddPoints(attacker,-1)//If the explosion kills the attacker, subtract one point.                                         CreateDeathMessage(victim,attacker)                     AddDeaths(victim,1)                 }                                 DealJetpackDamage(victim,attacker,Damage)             }         }     } } public Death() {     static id,killerid     killerid=read_data(1)     id=read_data(2)         if(get_pcvar_num(CS_Jetpack_FuelMatch)>0&&get_pcvar_num(CS_Jetpack_FuelMode)==1&&killerid!=id&&killerid!=0)//Fuelmatch is on, fuelmode is 1, killer is not self, and killer is not server (falldamage?).     {         if(!SameTeam(id,killerid))         {             client_print(killerid,print_chat,"[Jetpack] You have gained %d fuel.",get_pcvar_num(CS_Jetpack_FuelMatch))             JetpackFuel[killerid]+=((get_pcvar_num(CS_Jetpack_FuelMatch)*1000)-1)                         if(JetpackFuel[killerid]>(get_pcvar_num(CS_Jetpack_MaxFuel)*1000))                 JetpackFuel[killerid]=((get_pcvar_num(CS_Jetpack_MaxFuel)*1000)-1)         }         else         {             client_print(killerid,print_chat,"[Jetpack] You have lost %d fuel.",get_pcvar_num(CS_Jetpack_FuelMatch))             JetpackFuel[killerid]-=((get_pcvar_num(CS_Jetpack_FuelMatch)*1000)-1)                         if(JetpackFuel[killerid]<0)                 JetpackFuel[killerid]=0         }     }     else if(get_pcvar_num(CS_Jetpack_FuelMode)==2)     {         JetpackFuel[id]=99999     }         if(get_pcvar_num(CS_Jetpack_Death)==1)         JetpackBools[id][0]=false     JetpackBools[id][1]=false } public Jetpack(id) {     if(get_pcvar_num(CS_Jetpack)==1)     {         if(!JetpackBools[id][0])         {             if(get_pcvar_num(CS_Jetpack_FuelMode)==1)             {                 if(JetpackFuel[id]>0)                 {                     JetpackBools[id][0]=true                                     client_print(id,print_chat,"[Jetpack] You have turned your jetpack on.")                 }                 else                     client_print(id,print_chat,"[Jetpack] Your jetpack has no fuel!")             }             else             {                 JetpackBools[id][0]=true                                 client_print(id,print_chat,"[Jetpack] You have turned your jetpack on.")             }         }         else         {                 JetpackBools[id][0]=false                             client_print(id,print_chat,"[Jetpack] You have turned your jetpack off.")         }     }         return PLUGIN_HANDLED } public SetFuel(ID) {     if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(read_argc()==3)         {             static Fuel             static arg2[33]             read_argv(2,arg2,32)             Fuel=str_to_num(arg2)                         if(Fuel<0)             {                 client_print(ID,print_console,"ERROR: <You may only set fuel in non-negative amounts>")             }             else             {                         static arg[33]                 read_argv(1,arg,32)                 ChangeFuel(ID,arg,Fuel,true)             }         }         else         {             client_print(ID,print_console,"USAGE: <Part of Playername or ^"ALL^"> <Amount of fuel to set (0 to %d)>",get_pcvar_num(CS_Jetpack_MaxFuel))         }     }     else     {         client_print(ID,print_console,"USAGE: cs_jetpack_fuel must be set to 1 in order to give or set fuel.")     }         return PLUGIN_HANDLED } public GiveFuel(ID) {     if(get_pcvar_num(CS_Jetpack_FuelMode)==1)     {         if(read_argc()==3)         {             static Fuel             static arg2[33]             read_argv(2,arg2,32)             Fuel=str_to_num(arg2)                         if(Fuel<1)             {                 client_print(ID,print_console,"ERROR: <You may only give positive amounts of fuel>")             }             else             {                         static arg[33]                 read_argv(1,arg,32)                 ChangeFuel(ID,arg,Fuel,false)             }         }         else         {             client_print(ID,print_console,"USAGE: <Part of Playername or ^"ALL^"> <Amount of fuel to give (Fuel will cap at %d)>",get_pcvar_num(CS_Jetpack_MaxFuel))         }     }     else     {         client_print(ID,print_console,"USAGE: cs_jetpack_fuel must be set to 1 in order to give or set fuel.")     }         return PLUGIN_HANDLED } ChangeFuel(ID,arg[33],Fuel,Set) {     static id,MaxFuel     MaxFuel=get_pcvar_num(CS_Jetpack_MaxFuel)         if(!equali(arg,"ALL"))     {         id=cmd_target(id,arg)                 if(Set)         {             if(Fuel>MaxFuel)                 Fuel=MaxFuel                         JetpackFuel[id]=((Fuel*1000)-1)             client_print(id,print_chat,"[Jetpack] Your fuel has been set to %d.",Fuel)                         static Name[44]             get_user_name(id,Name,43)                         client_print(ID,print_console,"You have set %s's fuel to %d.",Name,Fuel)         }         else//Give         {             JetpackFuel[id]+=((Fuel*1000)-1)                         if(JetpackFuel[id]>(MaxFuel*1000))             {                 JetpackFuel[id]=((MaxFuel*1000)-1)             }                         client_print(id,print_chat,"[Jetpack] You have been given %d fuel.",Fuel)                         static Name[44]             get_user_name(id,Name,43)                         client_print(ID,print_console,"You have given %d fuel to %s.",Fuel,Name)         }     }     else     {                 static i,TotalPlayers         static Players[32]         get_players(Players,TotalPlayers)         for (i=0;i<TotalPlayers;i++)         {             id=Players[i]                         if(Set)             {                 if(Fuel>MaxFuel)                     Fuel=MaxFuel                                 JetpackFuel[id]=((Fuel*1000)-1)                     client_print(id,print_chat,"[Jetpack] Your fuel has been set to %d.",Fuel)             }             else//Give             {                 JetpackFuel[id]+=((Fuel*1000)-1)                                 if(JetpackFuel[id]>(MaxFuel*1000))                 {                     JetpackFuel[id]=((MaxFuel*1000)-1)                 }                                 client_print(id,print_chat,"[Jetpack] You have been given %d fuel.",Fuel)             }         }                 if(Set)             client_print(ID,print_console,"You have set everyone's fuel to %d",Fuel)         else             client_print(ID,print_console,"You have given %d fuel to everyone.",Fuel)     } } public SaveConfig(ID) {     if(read_argc()==2)     {         static arg[65]         read_argv(1,arg,64)                 if(containi(arg,".cfg")==-1)             format(arg,64,"%s.cfg",arg)                 client_print(ID,print_console,"Attempting save: %s...",arg)                 if(!equali(arg,"config.cfg")&&!equali(arg,"game.cfg")&&!equali(arg,"listenserver.cfg")&&!equali(arg,"autoexec.cfg")&&!equali(arg,"server.cfg"))         {             static Write[65]                         format(Write,64,"cs_jetpack %d",get_pcvar_num(CS_Jetpack))                     write_file(arg,Write,0)                         format(Write,64,"cs_jetpack_explodedamage %f",get_pcvar_float(CS_Jetpack_ExplodeDamage))             write_file(arg,Write,1)                         format(Write,64,"cs_jetpack_exploderadius %f",get_pcvar_float(CS_Jetpack_ExplodeRadius))             write_file(arg,Write,2)                         format(Write,64,"cs_jetpack_explodefrequency %f",get_pcvar_float(CS_Jetpack_ExplodeFrequency))             write_file(arg,Write,3)                         format(Write,64,"cs_jetpack_fuelmode %d",get_pcvar_num(CS_Jetpack_FuelMode))             write_file(arg,Write,4)                         format(Write,64,"cs_jetpack_fuelmatch %d",get_pcvar_num(CS_Jetpack_FuelMatch))             write_file(arg,Write,5)                         format(Write,64,"cs_jetpack_death %d",get_pcvar_num(CS_Jetpack_Death))             write_file(arg,Write,6)                         format(Write,64,"cs_jetpack_upspeed %f",get_pcvar_float(CS_Jetpack_UpSpeed))             write_file(arg,Write,7)                         format(Write,64,"cs_jetpack_forwardspeed %f",get_pcvar_float(CS_Jetpack_ForwardSpeed))             write_file(arg,Write,8)                         format(Write,64,"cs_jetpack_accelerate %f",get_pcvar_float(CS_Jetpack_Accelerate))             write_file(arg,Write,9)                         format(Write,64,"cs_jetpack_uaccelerate %f",get_pcvar_float(CS_Jetpack_UAccelerate))             write_file(arg,Write,10)                         format(Write,64,"cs_jetpack_maxfuel %d",get_pcvar_num(CS_Jetpack_MaxFuel))             write_file(arg,Write,11)                         format(Write,64,"cs_jetpack_startingfuel %d",get_pcvar_num(CS_Jetpack_StartingFuel))             write_file(arg,Write,12)                         format(Write,64,"cs_jetpack_depletionrate %f",get_pcvar_float(CS_Jetpack_DepletionRate))             write_file(arg,Write,13)                         format(Write,64,"cs_jetpack_regenrate %f",get_pcvar_float(CS_Jetpack_RegenRate))             write_file(arg,Write,14)                         format(Write,64,"cs_jetpack_idledeplete %d",get_pcvar_num(CS_Jetpack_IdleDeplete))             write_file(arg,Write,15)                         format(Write,64,"cs_jetpack_roundreset %d",get_pcvar_num(CS_Jetpack_RoundReset))             write_file(arg,Write,16)                         format(Write,64,"cs_jetpack_jumptofly %d",get_pcvar_num(CS_Jetpack_JumpToFly))             write_file(arg,Write,17)                         format(Write,64,"cs_jetpack_hudchannel %d",get_pcvar_num(CS_Jetpack_HudChannel))             write_file(arg,Write,18)                         format(Write,64,"cs_jetpack_reset")             write_file(arg,Write,19)                         client_print(ID,print_console,"Save complete.",arg)         }         else         {             client_print(ID,print_console,"Error: That filename is unavailable, please choose another.")         }     }     else     {         client_print(ID,print_console,"USAGE: <Name of file>")     }     return PLUGIN_HANDLED } public JetpackFly() {     static Float:Velocity[3]     new Float:NewVelocity[3]     static Float:Angle[3]     static Float:AngleVector[3]     static Button         static id,AlivePlayers     static Players[32]     get_players(Players,AlivePlayers,"a")     for (new i=0;i<AlivePlayers;i++)     {         id=Players[i]                 if(get_pcvar_num(CS_Jetpack)==0)         {             if(JetpackBools[id][0])             {                 JetpackBools[id][0]=false                 client_print(id,print_chat,"[Jetpack] Jetpacks have been disabled.")             }         }                 if(JetpackBools[id][1])//If jetpack is on and jetpack key is being pressed.         {                 effect_fly(id)                         if(!(pev(id,pev_flags)&FL_ONGROUND))//If the jetpacker is off the ground already             {                     pev(id,pev_velocity,Velocity)                                 pev(id,pev_angles,Angle)                 Angle[2]=0.0//Remove the Z value.                                 Button=pev(id,pev_button)                                 if(Button&IN_FORWARD)                 {                                                             angle_vector(Angle,ANGLEVECTOR_FORWARD,AngleVector)                                         NewVelocity[0]+=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]+=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_MOVERIGHT)                 {                         angle_vector(Angle,ANGLEVECTOR_RIGHT,AngleVector)                                         NewVelocity[0]+=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]+=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_MOVELEFT)                 {                     angle_vector(Angle,ANGLEVECTOR_RIGHT,AngleVector)                                         NewVelocity[0]-=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]-=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 if(Button&IN_BACK)                 {                     angle_vector(Angle,ANGLEVECTOR_FORWARD,AngleVector)                                         NewVelocity[0]-=(AngleVector[0]*get_pcvar_float(CS_Jetpack_Accelerate))                     NewVelocity[1]-=(AngleVector[1]*get_pcvar_float(CS_Jetpack_Accelerate))                 }                                 CheckAndScale(Velocity,NewVelocity)                                 if(Velocity[2]<0.0)//Jetpacks get more power on the way down -- it helps landing.                 {                     Velocity[2]+=(get_pcvar_float(CS_Jetpack_UAccelerate)*1.15)                 }                 else if(Velocity[2]<get_pcvar_float(CS_Jetpack_UpSpeed))                 {                     Velocity[2]+=get_pcvar_float(CS_Jetpack_UAccelerate)                 }                                 set_pev(id,pev_velocity,Velocity)             }                         switch(get_pcvar_num(CS_Jetpack_FuelMode))             {                 case 1:                 {                     CheckFuel(id)                                         JetpackHUD(id)                                         JetpackFuel[id]-=floatround(150*get_pcvar_float(CS_Jetpack_DepletionRate))                 }                 case 2:                 {                     JetpackFuel[id]-=floatround(5000*get_pcvar_float(CS_Jetpack_DepletionRate))                                         CheckFuelP(id)                                         JetpackHUDP(id)                 }                 default:                 {                     set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))                     show_hudmessage(id,"")                 }             }                         JetpackBools[id][1]=false         }         else if(JetpackBools[id][0])//Idle jetpack.         {                 switch(get_pcvar_num(CS_Jetpack_FuelMode))             {                 case 1:                 {                     CheckFuel(id)                                         JetpackHUD(id)                                         if(get_pcvar_num(CS_Jetpack_IdleDeplete)&&!Disabled)                         JetpackFuel[id]-=floatround(20*get_pcvar_float(CS_Jetpack_DepletionRate))                 }                 case 2:                 {                     CheckFuelP(id)                                         JetpackHUDP(id)                                         JetpackFuel[id]+=floatround(1000*get_pcvar_float(CS_Jetpack_RegenRate))                                         if(JetpackFuel[id]>99999)                         JetpackFuel[id]=99999                 }                 default:                 {                     set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))                     show_hudmessage(id,"")                 }             }                         effect_idle(id)//Idle Jetpack Effect         }         else         {             set_hudmessage(0,175,0,-1.5,0.95,2,0.0,0.1,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))             show_hudmessage(id,"")         }     }     return PLUGIN_HANDLED } CheckAndScale(Float:Velocity[3],Float:NewVelocity[3]) {     new Float:Ratio         new Float:TempVelocity[3]     TempVelocity[0]=Velocity[0]+NewVelocity[0]     TempVelocity[1]=Velocity[1]+NewVelocity[1]         if(vector_length(TempVelocity)<get_pcvar_float(CS_Jetpack_ForwardSpeed))     {         Velocity[0]=TempVelocity[0]         Velocity[1]=TempVelocity[1]     }     else     {         Ratio=(get_pcvar_float(CS_Jetpack_ForwardSpeed)/vector_length(TempVelocity))         Velocity[0]*=Ratio         Velocity[1]*=Ratio     } } JetpackHUD(id) {     if(JetpackFuel[id]>10000)         set_hudmessage(255,255,255,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))     else         set_hudmessage(255,0,0,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))             show_hudmessage(id,"Fuel: %d",(JetpackFuel[id]/1000)+1) } JetpackHUDP(id) {     if(JetpackFuel[id]>10000)         set_hudmessage(255,255,255,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))     else         set_hudmessage(255,0,0,-1.0,0.92,0,0.0,10.0,0.0,0.0,get_pcvar_num(CS_Jetpack_HudChannel))         if(JetpackFuel[id]>0)         show_hudmessage(id,"Fuel: %d%",(JetpackFuel[id]/1000)+1)     else         show_hudmessage(id,"Fuel: 0%") } CheckFuel(id) {     if(JetpackFuel[id]<1)     {         JetpackBools[id][0]=false         JetpackBools[id][1]=false         JetpackFuel[id]=0//Set to 0 in case it was slightly negative due to a high depletion rate.         client_print(id,print_chat,"[Jetpack] Your jetpack is out of fuel!")     } } CheckFuelP(id) {     if(JetpackFuel[id]<5000)     {         JetpackBools[id][1]=false                 if(JetpackFuel[id]<1)             JetpackFuel[id]=0//Set to 0 in case it was slightly negative due to a high depletion rate.     } } effect_fly(id) {     new Origin[3]     get_user_origin(id,Origin)         //effect_smoke(Origin)     //effect_smoke(Origin)     //effect_smoke(Origin)     //effect_spark(Origin) } /* effect_smoke(Origin[3]) {     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPRITE)     write_coord(Origin[0]+random_num(-15,15))     write_coord(Origin[1]+random_num(-15,15))     write_coord(Origin[2]-60+random_num(-10,10))     write_short(smoke)     write_byte(10)     write_byte(115)     message_end() } */ /* effect_spark(Origin[3]) {     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPARKS)     write_coord(Origin[0])     write_coord(Origin[1])     write_coord(Origin[2]-50)     message_end() } */ effect_idle(id) {         static Origin[3]     get_user_origin(id,Origin)         message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_SPRITE)     write_coord(Origin[0]+random_num(-25,25))     write_coord(Origin[1]+random_num(-25,25))     write_coord(Origin[2]-35+random_num(0,15))     write_short(smoke)     write_byte(10)     write_byte(115)     message_end() } effect_explosion(id) {     static Origin[3]     get_user_origin(id,Origin,0)         message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(TE_EXPLOSION2)     write_coord(Origin[0]) //coord, coord, coord (start)     write_coord(Origin[1])     write_coord(Origin[2])     write_byte(200) // byte (scale in 0.1's) 188     write_byte(10) // byte (framerate)     message_end()     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)     write_byte(3)     write_coord(Origin[0]) //coord, coord, coord (start)     write_coord(Origin[1])     write_coord(Origin[2])     write_short(explosion)     write_byte(60)     write_byte(10)     write_byte(0)     message_end() } CreateDeathMessage(victim,attacker) {     message_begin(MSG_ALL,MSG_DEATH)     write_byte(attacker)     write_byte(victim)     write_byte(0)     write_string("Jetpack Explosion")     message_end() } bool:IsGrenade(inflictor) {     new bool:Grenade     static class[8]     pev(inflictor,pev_classname,class,7)         if(equal(class,"grenade"))         Grenade=true         return Grenade } bool:SameTeam(id,otherid) {     if(get_pdata_int(id,114)==get_pdata_int(otherid,114))         return true         return false } AddPoints(id,Amount) {     ExecuteHam(Ham_AddPoints,id,Amount,true) } AddDeaths(id,Amount) {     set_pdata_int(id,444,get_pdata_int(id,444)+Amount) } DealJetpackDamage(victim,attacker,Float:damage) {     ExecuteHam(Ham_TakeDamage,victim,attacker,attacker,damage,(1<<6)+(1<<13)) }
platzpatrone 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 05:00.


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