Raised This Month: $ Target: $400
 0% 

i cant get this code to work.....(hook)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
onfirenburnin420
Senior Member
Join Date: Jan 2005
Old 11-07-2005 , 07:00   i cant get this code to work.....(hook)
Reply With Quote #1

for some reason i cant get hook to work... heres the code please help..
Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <engine> #define TE_BEAMENTPOINT 1 #define TE_KILLBEAM 99 #define DELTA_T 0.1             // seconds #define BEAMLIFE 100            // deciseconds #define MOVEACCELERATION 150    // units per second^2 #define REELSPEED 300           // units per second //Checkpoint Stuff new oldpoint[33][3] new newpoint[33][3] new distance[33] //Hook Stuff new gHookLocation[33][3] new gHookLenght[33] new bool:gIsHooked[33] new Float:gBeamIsCreated[33] new global_gravity new beam public plugin_init() {     register_plugin("Kz Mod", "1.0", "Fire")         // Cvars     register_cvar("kz_mod", "0")     register_cvar("kz_respawn", "0")     register_cvar("kz_checkpoints", "0")     register_cvar("kz_godmode", "0")     register_cvar("kz_noclip", "0")     register_cvar("kz_hook", "0")     register_cvar("kz_scout", "0")         //Client Commands     register_clcmd("say /respawn","respawn_client")     register_clcmd("say /checkpoint","add_checkpoint")     register_clcmd("say /gocheck","goto_checkpoint")     register_clcmd("say /stuck","stuck")     register_clcmd("say /god","godmode")     register_clcmd("say /clip","noclip")     register_clcmd("+hook", "hook_on")     register_clcmd("-hook", "hook_off")         //Events     register_event("DeathMsg","respawn_client","a")     register_event("ResetHUD","give_scout","b") } public respawn_client() {         if(get_cvar_num("kz_mod") == 0) {         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_respawn") == 0) {         return PLUGIN_HANDLED     }         new victim_id = read_data(2)         new param[1]     param[0]=victim_id         set_task(0.9,"player_spawn",72,param,1)     set_task(0.5,"player_spawn",72,param,1)         return PLUGIN_CONTINUE } public player_spawn(parm[1])     {     spawn(parm[0]) } public add_checkpoint(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_checkpoints") == 0) {         client_print(id,print_chat,"[Kz Mod] Checkpoints Are Off")         return PLUGIN_HANDLED     }         if(!(oldpoint[id][0])) {                 get_user_origin(id,oldpoint[id],0)         client_print(id,print_chat,"[Kz Mod] Checkpoint Recorded, Please Record One More Checkpoint To Teleport Freely")         return PLUGIN_HANDLED     }         if(!(newpoint[id][0])) {         get_user_origin(id,newpoint[id],0)         client_print(id,print_chat,"[Kz Mod] Second Checkpoint Recorded, You May Now Teleport Freely")         return PLUGIN_HANDLED     }         oldpoint = newpoint     get_user_origin(id,newpoint[id],0)     distance[id] = get_distance(oldpoint[id],newpoint[id])     client_print(id,print_chat,"[Kz Mod] Point Saved, You are %i Units From Your Last Checkpoint",distance[id])     return PLUGIN_HANDLED } public goto_checkpoint(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_checkpoints") == 0) {         client_print(id,print_chat,"[Kz Mod] Checkpoints Are Off")         return PLUGIN_HANDLED     }         if(!(oldpoint[id][0])) {                 client_print(id,print_chat,"[Kz Mod] You Have To Add a Checkpoint Before You Can Teleport")         return PLUGIN_HANDLED     }         if(!(newpoint[id][0])) {                 client_print(id,print_chat,"[Kz Mod] You Should Register More Than One Checkpoint Before Teleporting")         set_user_origin(id,oldpoint[id])         return PLUGIN_HANDLED     }         set_user_origin(id,newpoint[id])     client_print(id,print_chat,"[Kz Mod] You Have Been Teleported, If You Are Stuck, Say /stuck Or Say /respawn")     return PLUGIN_HANDLED } public stuck(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_checkpoints") == 0) {         client_print(id,print_chat,"[Kz Mod] Checkpoints Are Off")         return PLUGIN_HANDLED     }         if(!(newpoint[id][0])) {                 client_print(id,print_chat,"[Kz Mod] You Only Have One Checkpoint Recorded, Unable To Move")         return PLUGIN_HANDLED     }     set_user_origin(id,oldpoint[id])     client_print(id,print_chat,"[Kz Mod] You Have Been Teleported Back To Your Old Checkpoint")     return PLUGIN_HANDLED } public godmode(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_godmode") == 0) {         client_print(id,print_chat,"[Kz Mod] Godmode Is Off")         return PLUGIN_HANDLED     }         new name[33]     get_user_name(id,name,32)         if(get_user_godmode(id) == 0) {         set_user_godmode(id,1)         client_print(id,print_center,"[Kz Mod] You Now Have Godmode Set")         client_print(0,print_chat,"[Kz Mod] %s Now Has Godmode On",name)         return PLUGIN_HANDLED     }         if(get_user_godmode(id) == 1) {         set_user_godmode(id,0)         client_print(id,print_center,"[Kz Mod] You No Longer Have Godmode Set")         client_print(0,print_chat,"[Kz Mod] %s Now Has Godmode Off",name)         return PLUGIN_HANDLED     }         client_print(0,print_chat,"[Kz Mod] Error...Godmode Wasn't On Or Off? Inaccurate Statement")     return PLUGIN_HANDLED } public noclip(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_noclip") == 0) {         client_print(id,print_chat,"[Kz Mod] Noclip Is Off")         return PLUGIN_HANDLED     }         new name[33]     get_user_name(id,name,32)     if(get_user_noclip(id) == 0) {         set_user_noclip(id,1)         client_print(id,print_center,"[Kz Mod] You Now Have Noclip On")         client_print(0,print_chat,"[Kz Mod %s Now Has Noclip On",name)         return PLUGIN_HANDLED     }     if(get_user_noclip(id) == 1) {         set_user_noclip(id,0)         client_print(id,print_center,"[Kz Mod] You No Longer Have NoClip On")         client_print(0,print_chat,"[Kz Mod] %s Now Has Noclip Off",name)         return PLUGIN_HANDLED     }     client_print(0,print_chat,"[Kz Mod] Error...Noclip Wasn't On Or Off? Inaccurate Statement")     return PLUGIN_HANDLED } stock kz_velocity_set(id,vel[3]) {     //Set Their Velocity to 0 so that they they fall straight down from     new Float:Ivel[3]     Ivel[0]=float(vel[0])     Ivel[1]=float(vel[1])     Ivel[2]=float(vel[2])     entity_set_vector(id, EV_VEC_velocity, Ivel) } stock kz_velocity_get(id,vel[3]) {     //Set Their Velocity to 0 so that they they fall straight down from     new Float:Ivel[3]         entity_get_vector(id, EV_VEC_velocity, Ivel)     vel[0]=floatround(Ivel[0])     vel[1]=floatround(Ivel[1])     vel[2]=floatround(Ivel[2]) } public ropetask(parm[]) {     new id = parm[0]     new user_origin[3], user_look[3], user_direction[3], move_direction[3]     new A[3], D[3], buttonadjust[3]     new acceleration, velocity_towards_A, desired_velocity_towards_A     new velocity[3], null[3]         if (!is_user_alive(id)) {         RopeRelease(id)         return     }         if (gBeamIsCreated[id] + BEAMLIFE/10 <= get_gametime()) {         beamentpoint(id)     }         null[0] = 0     null[1] = 0     null[2] = 0         get_user_origin(id, user_origin)     get_user_origin(id, user_look,2)     kz_velocity_get(id, velocity)         buttonadjust[0]=0     buttonadjust[1]=0         if (get_user_button(id)&IN_FORWARD)     buttonadjust[0]+=1     if (get_user_button(id)&IN_BACK)        buttonadjust[0]-=1     if (get_user_button(id)&IN_MOVERIGHT)   buttonadjust[1]+=1     if (get_user_button(id)&IN_MOVELEFT)    buttonadjust[1]-=1     if (get_user_button(id)&IN_JUMP)        buttonadjust[2]+=1     if (get_user_button(id)&IN_DUCK)        buttonadjust[2]-=1         if (buttonadjust[0] || buttonadjust[1]) {         user_direction[0] = user_look[0] - user_origin[0]         user_direction[1] = user_look[1] - user_origin[1]                 move_direction[0] = buttonadjust[0]*user_direction[0] + user_direction[1]*buttonadjust[1]         move_direction[1] = buttonadjust[0]*user_direction[1] - user_direction[0]*buttonadjust[1]         move_direction[2] = 0                 velocity[0] += floatround(move_direction[0] * MOVEACCELERATION * DELTA_T / get_distance(null,move_direction))         velocity[1] += floatround(move_direction[1] * MOVEACCELERATION * DELTA_T / get_distance(null,move_direction))     }         if (buttonadjust[2])    gHookLenght[id] -= floatround(buttonadjust[2] * REELSPEED * DELTA_T)     if (gHookLenght[id] < 100) gHookLenght[id] = 100         A[0] = gHookLocation[id][0] - user_origin[0]     A[1] = gHookLocation[id][1] - user_origin[1]     A[2] = gHookLocation[id][2] - user_origin[2]         D[0] = A[0]*A[2] / get_distance(null,A)     D[1] = A[1]*A[2] / get_distance(null,A)     D[2] = -(A[1]*A[1] + A[0]*A[0]) / get_distance(null,A)         acceleration = - global_gravity * D[2] / get_distance(null,D)         velocity_towards_A = (velocity[0] * A[0] + velocity[1] * A[1] + velocity[2] * A[2]) / get_distance(null,A)     desired_velocity_towards_A = (get_distance(user_origin,gHookLocation[id]) - gHookLenght[id] /*- 10*/) * 4         if (get_distance(null,D)>10) {         velocity[0] += floatround((acceleration * DELTA_T * D[0]) / get_distance(null,D))         velocity[1] += floatround((acceleration * DELTA_T * D[1]) / get_distance(null,D))         velocity[2] += floatround((acceleration * DELTA_T * D[2]) / get_distance(null,D))     }         velocity[0] += ((desired_velocity_towards_A - velocity_towards_A) * A[0]) / get_distance(null,A)     velocity[1] += ((desired_velocity_towards_A - velocity_towards_A) * A[1]) / get_distance(null,A)     velocity[2] += ((desired_velocity_towards_A - velocity_towards_A) * A[2]) / get_distance(null,A)         kz_velocity_set(id, velocity) } public hooktask(parm[]) {     new id = parm[0]     new velocity[3]         if ( !gIsHooked[id] ) return         new user_origin[3],oldvelocity[3]     parm[0] = id         if (!is_user_alive(id)) {         RopeRelease(id)         return     }         if (gBeamIsCreated[id] + BEAMLIFE/10 <= get_gametime()) {         beamentpoint(id)     }         get_user_origin(id, user_origin)     kz_velocity_get(id, oldvelocity)     new distance=get_distance( gHookLocation[id], user_origin )     if ( distance > 10 ) {         velocity[0] = floatround( (gHookLocation[id][0] - user_origin[0]) * ( 2.0 * REELSPEED / distance ) )         velocity[1] = floatround( (gHookLocation[id][1] - user_origin[1]) * ( 2.0 * REELSPEED / distance ) )         velocity[2] = floatround( (gHookLocation[id][2] - user_origin[2]) * ( 2.0 * REELSPEED / distance ) )     }     else     {         velocity[0]=0         velocity[1]=0         velocity[2]=0     }         kz_velocity_set(id, velocity)     } public hook_on(id) {         if(get_cvar_num("kz_mod") == 0) {         client_print(id,print_chat,"[Kz Mod] This Plugin Is Off")         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_hook") == 0) {         client_print(id,print_chat,"[Kz Mod] Hook Is Off")         return PLUGIN_HANDLED     }         if (!gIsHooked[id] && is_user_alive(id)) {         new cmd[32]         read_argv(0,cmd,31)         if(equal(cmd,"+rope")) RopeAttach(id,0)         if(equal(cmd,"+hook")) RopeAttach(id,1)     }     return PLUGIN_HANDLED } public hook_off(id) {     if (gIsHooked[id]) {         RopeRelease(id)     }     return PLUGIN_HANDLED } public RopeAttach(id,hook) {     new parm[1], user_origin[3]     parm[0] = id     gIsHooked[id] = true     get_user_origin(id,user_origin)     get_user_origin(id,gHookLocation[id], 3)     gHookLenght[id] = get_distance(gHookLocation[id],user_origin)     global_gravity = get_cvar_num("sv_gravity")     set_user_gravity(id,0.001)     beamentpoint(id)     emit_sound(id, CHAN_STATIC, "weapons/xbow_hit2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)     if (hook) set_task(DELTA_T, "hooktask", 200+id, parm, 1, "b")     else set_task(DELTA_T, "ropetask", 200+id, parm, 1, "b")     } public RopeRelease(id) {     gIsHooked[id] = false     killbeam(id)     set_user_gravity(id)     remove_task(200+id) } public beamentpoint(id) {     message_begin( MSG_BROADCAST, SVC_TEMPENTITY )     write_byte( TE_BEAMENTPOINT )     write_short( id )     write_coord( gHookLocation[id][0] )     write_coord( gHookLocation[id][1] )     write_coord( gHookLocation[id][2] )     write_short( beam ) // sprite index     write_byte( 0 )     // start frame     write_byte( 0 )     // framerate     write_byte( BEAMLIFE )  // life     write_byte( 10 )    // width     write_byte( 0 )     // noise     if (get_user_team(id)==1)       // Terrorist         {         write_byte( 255 )   // r, g, b         write_byte( 0 ) // r, g, b         write_byte( 0 ) // r, g, b     }     else                            // Counter-Terrorist     {         write_byte( 0 ) // r, g, b         write_byte( 0 ) // r, g, b         write_byte( 255 )   // r, g, b     }     write_byte( 150 )   // brightness     write_byte( 0 )     // speed     message_end( )     gBeamIsCreated[id] = get_gametime() } public killbeam(id) {     message_begin( MSG_BROADCAST, SVC_TEMPENTITY )     write_byte( TE_KILLBEAM )     write_short( id )     message_end() } public give_scout(id) {         if(get_cvar_num("kz_mod") == 0) {         return PLUGIN_HANDLED     }         if(get_cvar_num("kz_scout") == 0) {         return PLUGIN_HANDLED     }     give_item(id, "weapon_scout")     return PLUGIN_CONTINUE }

*THIS CODE IS ONLY FOR MY USE... SOME CODE HAS BEEN TAKEN FROM OTHER PLUGINS... I DO NOT PLAN TO RELEASE THIS PLUGIN*
__________________
onfirenburnin420 is offline
Send a message via AIM to onfirenburnin420
 



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


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