Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Adminhook & Amx_idiot


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Nuupek

    Zaawansowany

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:111
  • Lokalizacja:Wielkopolska
Offline

Napisano 24.07.2009 11:50

Witam co jest źle z tymi pluginami?

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

**** CVARS (FEATURES) ****
sv_adminhook = Turn Plugin On/off
**** ADMIN COMMANDS ****
ADMIN_LEVEL_A (flag="m")
Granting Hook/Rope = amx_granthook

ADMIN_LEVEL_E (flag="q") || Granted by admin
Ninja Rope by Spacedude (slightly modified) & Hook thingy
Attaching Rope = +rope
Deattaching Rope = -rope
Attaching Hook = +use
Deattaching Hook = -use

**************************************************************************************************/
#define USING_AMX 0 // 1 = Using AMX 0 = Useing AMXX

#if USING_AMX
#include <amxmod>
#include <amxmisc>
#include <VexdUM>
#include <fun>
new gModName[32] = "AMX"
#else
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
new gModName[32] = "AMXX"
#endif

#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

/* Hook Stuff */
new gHookLocation[33][3]
new gHookLenght[33]
new bool:gIsHooked[33]
new gAllowedHook[33]
new Float:gBeamIsCreated[33]
new global_gravity
new beam

/************************************************************************************************************************/
public plugin_init() //Called on plugin start
{
// Plugin Info
register_plugin("Admin Hook","1.0","AssKicR")

//CVARS
register_cvar("sv_adminhook", "1" )

//ADMIN CMDS
register_concmd("amx_granthook","AdminGrantHook",ADMIN_LEVEL_A," ")

//USER COMMANDS
register_clcmd("+rope", "hook_on")
register_clcmd("-rope", "hook_off")
register_clcmd("+use", "hook_on")
register_clcmd("-use", "hook_off")

//HOOKED EVENTS
register_event("ResetHUD", "ResetHUD", "b")
}
/************************************************************************************************************************/
public plugin_precache()
{
beam = precache_model("sprites/zbeam4.spr")
precache_sound("weapons/xbow_hit2.wav")
}
/*************************************************************************************************************************/
/************************************************** USP/SCOUT REMOVE *****************************************************/
/*************************************************************************************************************************/

/*************************************************************************************************************************/
/**************************************************** HOOKED EVENTS ******************************************************/
/*************************************************************************************************************************/
public ResetHUD(id) {
//Check if he is hooked to something
if (gIsHooked[id]) RopeRelease(id)
}
/************************************************************************************************************************/
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])
}

/************************************************************************************************************************/
/**************************************************** ADMIN COMMANDS ****************************************************/
/************************************************************************************************************************/
public AdminGrantHook(id,level,cid)
{
if ( !cmd_access(id,level,cid,1) )
return PLUGIN_HANDLED

new arg1[32],arg2[32]
read_argv(1,arg1,31)
read_argv(2,arg2,31)
new onoff = str_to_num(arg2)

if ( equali(arg1,"@all") )
{
new plist[32],pnum
get_players(plist,pnum,"a")
if (pnum==0)
{
console_print(id,"[%s] There are no clients",gModName)
return PLUGIN_HANDLED
}
for (new i=0; i gAllowedHook[plist[i]]=onoff
if (gIsHooked[plist[i]]==true && onoff==0)
{
RopeRelease(plist[i])
}
}

console_print(id,"[%s] %s all players access to hook/rope",gModName,onoff ? "Gave":"Removed")
}
else if ( arg1[0]=='@' )
{
new plist[32],pnum
get_players(plist,pnum,"ae",arg1[1])
if ( pnum==0 )
{
console_print(id,"[%s] No clients in such team",gModName)
return PLUGIN_HANDLED
}
for (new i=0; i gAllowedHook[plist[i]]=onoff
if (gIsHooked[plist[i]]==true && onoff==0)
{
RopeRelease(plist[i])
}
}
console_print(id,"[%s] %s all %ss access to hook/rope",onoff ? "Gave":"Removed",arg1[1])
}
else
{
new pName[32]
new player = cmd_target(id,arg1,6)
if (!player) return PLUGIN_HANDLED

gAllowedHook[player]=onoff
if (gAllowedHook[player]==0 && onoff==0)
{
RopeRelease(player)
}


get_user_name(player,pName,31)
console_print(id,"[%s] %s ^"%s^" access to hook/rope",onoff ? "Gave":"Removed",pName)
}

return PLUGIN_HANDLED
}

/************************************************************************************************************************/
/****************************************************** NINJAROPE *******************************************************/
/************************************************************************************************************************/

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("sv_adminhook")==1)
{
if (gAllowedHook[id] || (get_user_flags(id)&ADMIN_LEVEL_E)) {
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)
}
}else{
client_print(id,print_chat,"[%s] You have no access to that command",gModName)
return PLUGIN_HANDLED
}
}else{
client_print(id,print_chat,"[%s] This command is deativated",gModName)
}
return PLUGIN_HANDLED
}

public hook_off(id)
{
if (gAllowedHook[id] || (get_user_flags(id)&ADMIN_LEVEL_E)) {
if (gIsHooked[id])
{
RopeRelease(id)
}
}else{
client_print(id,print_chat,"[%s] You have no access to that command",gModName)
return PLUGIN_HANDLED
}
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()
}

/************************************************************************************************************************/
/******************************************************* FORWARDS *******************************************************/
/************************************************************************************************************************/

public client_disconnect(id) {
gAllowedHook[id]=0
}

/************************************************************************************************************************/
/************************************************** AMXX -> AMX funcs ***************************************************/
/************************************************************************************************************************/
#if USING_AMX
stock get_user_button(id) return entity_get_int(id, EV_INT_button)
#endif


Aha to .sma przerobiłem... Chciałem żeby ta linka była (co przyciąga) pod +use i żeby każdy ją mógł...

I wyskoczył błąd w logach


L 07/23/2009 - 11:01:35: Start of error session.
L 07/23/2009 - 11:01:35: Info (map "gg_33_chaos") (file "addons/amxmodx/logs/error_20090723.log")
L 07/23/2009 - 11:01:35: [FUN] Invalid player 1
L 07/23/2009 - 11:01:35: [AMXX] Run time error 10 (plugin "adminhook.amxx") (native "set_user_gravity") - debug not enabled!
L 07/23/2009 - 11:01:35: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 07/23/2009 - 11:01:36: [FUN] Invalid player 1
L 07/23/2009 - 11:01:36: [AMXX] Run time error 10 (plugin "adminhook.amxx") (native "set_user_gravity") - debug not enabled!

Oryginalne .sma

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

**** CVARS (FEATURES) ****
sv_adminhook = Turn Plugin On/off
**** ADMIN COMMANDS ****
ADMIN_LEVEL_A (flag="m")
Granting Hook/Rope = amx_granthook

ADMIN_LEVEL_E (flag="q") || Granted by admin
Ninja Rope by Spacedude (slightly modified) & Hook thingy
Attaching Rope = +rope
Deattaching Rope = -rope
Attaching Hook = +hook
Deattaching Hook = -hook

**************************************************************************************************/
#define USING_AMX 0 // 1 = Using AMX 0 = Useing AMXX

#if USING_AMX
#include <amxmod>
#include <amxmisc>
#include <VexdUM>
#include <fun>
new gModName[32] = "AMX"
#else
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
new gModName[32] = "AMXX"
#endif

#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

/* Hook Stuff */
new gHookLocation[33][3]
new gHookLenght[33]
new bool:gIsHooked[33]
new gAllowedHook[33]
new Float:gBeamIsCreated[33]
new global_gravity
new beam

/************************************************************************************************************************/
public plugin_init() //Called on plugin start
{
// Plugin Info
register_plugin("Admin Hook","1.0","AssKicR")

//CVARS
register_cvar("sv_adminhook", "1" )

//ADMIN CMDS
register_concmd("amx_granthook","AdminGrantHook",ADMIN_LEVEL_A," ")

//USER COMMANDS
register_clcmd("+rope", "hook_on",ADMIN_LEVEL_E)
register_clcmd("-rope", "hook_off",ADMIN_LEVEL_E)
register_clcmd("+hook", "hook_on",ADMIN_LEVEL_E)
register_clcmd("-hook", "hook_off",ADMIN_LEVEL_E)

//HOOKED EVENTS
register_event("ResetHUD", "ResetHUD", "b")
}
/************************************************************************************************************************/
public plugin_precache()
{
beam = precache_model("sprites/zbeam4.spr")
precache_sound("weapons/xbow_hit2.wav")
}
/*************************************************************************************************************************/
/************************************************** USP/SCOUT REMOVE *****************************************************/
/*************************************************************************************************************************/

/*************************************************************************************************************************/
/**************************************************** HOOKED EVENTS ******************************************************/
/*************************************************************************************************************************/
public ResetHUD(id) {
//Check if he is hooked to something
if (gIsHooked[id]) RopeRelease(id)
}
/************************************************************************************************************************/
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])
}

/************************************************************************************************************************/
/**************************************************** ADMIN COMMANDS ****************************************************/
/************************************************************************************************************************/
public AdminGrantHook(id,level,cid)
{
if ( !cmd_access(id,level,cid,1) )
return PLUGIN_HANDLED

new arg1[32],arg2[32]
read_argv(1,arg1,31)
read_argv(2,arg2,31)
new onoff = str_to_num(arg2)

if ( equali(arg1,"@all") )
{
new plist[32],pnum
get_players(plist,pnum,"a")
if (pnum==0)
{
console_print(id,"[%s] There are no clients",gModName)
return PLUGIN_HANDLED
}
for (new i=0; i gAllowedHook[plist[i]]=onoff
if (gIsHooked[plist[i]]==true && onoff==0)
{
RopeRelease(plist[i])
}
}

console_print(id,"[%s] %s all players access to hook/rope",gModName,onoff ? "Gave":"Removed")
}
else if ( arg1[0]=='@' )
{
new plist[32],pnum
get_players(plist,pnum,"ae",arg1[1])
if ( pnum==0 )
{
console_print(id,"[%s] No clients in such team",gModName)
return PLUGIN_HANDLED
}
for (new i=0; i gAllowedHook[plist[i]]=onoff
if (gIsHooked[plist[i]]==true && onoff==0)
{
RopeRelease(plist[i])
}
}
console_print(id,"[%s] %s all %ss access to hook/rope",onoff ? "Gave":"Removed",arg1[1])
}
else
{
new pName[32]
new player = cmd_target(id,arg1,6)
if (!player) return PLUGIN_HANDLED

gAllowedHook[player]=onoff
if (gAllowedHook[player]==0 && onoff==0)
{
RopeRelease(player)
}


get_user_name(player,pName,31)
console_print(id,"[%s] %s ^"%s^" access to hook/rope",onoff ? "Gave":"Removed",pName)
}

return PLUGIN_HANDLED
}

/************************************************************************************************************************/
/****************************************************** NINJAROPE *******************************************************/
/************************************************************************************************************************/

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("sv_adminhook")==1)
{
if (gAllowedHook[id] || (get_user_flags(id)&ADMIN_LEVEL_E)) {
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)
}
}else{
client_print(id,print_chat,"[%s] You have no access to that command",gModName)
return PLUGIN_HANDLED
}
}else{
client_print(id,print_chat,"[%s] This command is deativated",gModName)
}
return PLUGIN_HANDLED
}

public hook_off(id)
{
if (gAllowedHook[id] || (get_user_flags(id)&ADMIN_LEVEL_E)) {
if (gIsHooked[id])
{
RopeRelease(id)
}
}else{
client_print(id,print_chat,"[%s] You have no access to that command",gModName)
return PLUGIN_HANDLED
}
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()
}

/************************************************************************************************************************/
/******************************************************* FORWARDS *******************************************************/
/************************************************************************************************************************/

public client_disconnect(id) {
gAllowedHook[id]=0
}

/************************************************************************************************************************/
/************************************************** AMXX -> AMX funcs ***************************************************/
/************************************************************************************************************************/
#if USING_AMX
stock get_user_button(id) return entity_get_int(id, EV_INT_button)
#endif



I amx_idiot


/************************************************************
* AMXX Idiot plugin 1.0
*
* This plugin is created by IJs, forum thread:
*
*
* USAGE:
* This plugin can be used by admins to turn players into
* so called 'idiots'. The model will change into a quite
* funny and ridiculous character (some kind of Star Trek
* frog-alike person), the victim loses his weapons and
* can only knife, and of course.. as soon as the admin
* gives the command to idiotify someone, it will be
* announced and the known "You are an idiot" sound, which
* some of you well know, will be played.
*
* Just compile this .sma script and copy the plugin (or
* the supplied .amx file) to your addons/amx/plugins
* directory, and add this to your plugins.ini file:
*
* amx_idiot.amx
*
* Now, to use the idiot plugin, you just use the following
* commands in console:
*
* amx_idiot - turns the player into an idiot
* amx_unidiot - restores the player
*
*
************************************************************/
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>

new is_idiot[33]

public toknifePred(id) {
if (is_idiot[id] == 1) {
new wpn = read_data(2)
if (wpn == 6) {
return PLUGIN_CONTINUE
}
else {
engclient_cmd(id,"weapon_knife")
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}

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

new arg[32]

read_argv(1,arg,31)
new player = cmd_target(id,arg,5)

new Datastr[12]
read_argv(2,Datastr,12)
new Data = str_to_num(Datastr)

if (!player) return PLUGIN_HANDLED
new authid[16],name2[32],authid2[16],name[32]
get_user_authid(id,authid,15)
get_user_name(id,name,31)
get_user_authid(player,authid2,15)
get_user_name(player,name2,31)
if (Data==0) {
cs_set_user_model(player, "trekker")
set_hudmessage(200,0,0, 0.03, 0.76, 2, 0.02, 1.0, 0.01, 0.1, 2)
show_hudmessage(0,"ROFL! %s has been turned into an idiot!",name2)
// } else if (Data==1) {
// cs_set_user_model(player, "hanky")
// show_hudmessage(0,"OH NOOO! %s has been turned into Mr. Hanky!",name2)
} else {
client_print(id,print_console,"[AMX] Wrong model parameter")
return PLUGIN_HANDLED
}
client_cmd(0, "spk ambience/idiot.wav")
engclient_cmd(player,"weapon_knife")
client_print(id,print_console,"[AMX] User is now an idiot")
is_idiot[player] = 1
return PLUGIN_HANDLED_MAIN
}

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

new arg[32]

read_argv(1,arg,31)
new player = cmd_target(id,arg,5)

if (!player) return PLUGIN_HANDLED
new authid[16],name2[32],authid2[16],name[32]
get_user_authid(id,authid,15)
get_user_name(id,name,31)
get_user_authid(player,authid2,15)
get_user_name(player,name2,31)

cs_reset_user_model(player)
client_print(id,print_console,"[AMX] User is restored to normal again")
is_idiot[player] = 0
return PLUGIN_HANDLED_MAIN
}

public newround(id){
is_idiot[0] = 0
is_idiot[1] = 0
is_idiot[2] = 0
is_idiot[3] = 0
is_idiot[4] = 0
is_idiot[5] = 0
is_idiot[6] = 0
is_idiot[7] = 0
is_idiot[8] = 0
is_idiot[9] = 0
is_idiot[10] = 0
is_idiot[11] = 0
is_idiot[12] = 0
is_idiot[13] = 0
is_idiot[14] = 0
is_idiot[15] = 0
is_idiot[16] = 0
is_idiot[17] = 0
is_idiot[18] = 0
is_idiot[19] = 0
is_idiot[20] = 0
//dodgy coding, i was lazy ;)
return PLUGIN_CONTINUE
}

public plugin_precache()
{
precache_model("models/player/trekker/trekker.mdl")
precache_sound("ambience/idiot.wav")
return PLUGIN_CONTINUE
}

public plugin_init(){
register_event("CurWeapon","toknifePred","be","1=1")
register_plugin("Idiot Model change (CS)","1.00","IJs")
register_event("ResetHUD","newround", "be")
register_concmd("amx_idiot","Vexd_PlayerModel",ADMIN_KICK," <0=mr. hanky - 1=trekker>")
register_concmd("amx_unidiot","Vexd_ClearModel",ADMIN_KICK,"")
return PLUGIN_CONTINUE
}


Co do idioty to jest wszystko Gites, ale jak mam flage A (immunitet) to nie mogę sobie dać idioty :/

Np mam nick _L_Y_S_Y_ i pisze amx_idiot _L_Y_S_Y_ i w konsoli wyskakuje _L_Y_S_Y_ ma immunitet...
  • +
  • -
  • 0

#2 DaddyKuba

    Godlike

  • Użytkownik

Reputacja: 255
Wszechwidzący

  • Postów:1 227
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Pszczyna
Offline

Napisano 24.07.2009 11:52

W plugins.ini
zamiast:
adminhook.amxx
daj:
adminhook.amxx debug
  • +
  • -
  • 0

#3 Nuupek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:111
  • Lokalizacja:Wielkopolska
Offline

Napisano 24.07.2009 12:52

Zobacze czy działa.. A nie wiesz co z idiotą? ^^


Edit

Nie działa :/ :
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych