←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Popychanie gracza tylko w plecy

Locked

mefi's Photo mefi 19.01.2010

Potrzebuję pomocy z pluginem min. tak aby pełnił on funkcję nie zmieniając zawartości która jest w kodzie lecz ma on działać tak iż możliwe jest popchnięcie gracza tylko w plecy.


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "Push player"
#define VERSION "1.0"
#define AUTHOR "OneEyed & Sn!ff3r"

new cvar

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

cvar = register_cvar("amx_moveplayer", "1")

register_touch("player", "player", "touchtouch")
}

public touchtouch(player, player2)
{
if(get_pcvar_num(cvar))
{
if((!(task_exists(player * 1000 + player2))) && (!(task_exists(player2 * 1000 + player))))
{
new Float:speed[2][3]
new Float:over_speed[3]

set_task(0.2, "empty_space", player * 1000 + player2)
set_task(0.2, "empty_space", player2 * 1000 + player)

entity_get_vector(player, EV_VEC_velocity, speed[0])
entity_get_vector(player2, EV_VEC_velocity, speed[1])

for(new i = 0; i < 3; i++)
{
over_speed[i] = speed[0][i] + speed[1][i]
speed[0][i] += over_speed[i] * 0.65
speed[1][i] -= over_speed[i] * 0.65
}
entity_set_vector(player, EV_VEC_velocity, speed[0])
entity_set_vector(player2, EV_VEC_velocity, speed[1])
}
}
}

public empty_space() {}
Quote

  • +
  • -
Miczu's Photo Miczu 24.01.2010


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "Push player"
#define VERSION "1.0"
#define AUTHOR "OneEyed & Sn!ff3r"

new cvar

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

cvar = register_cvar("amx_moveplayer", "1")

register_touch("player", "player", "touchtouch")
}

public touchtouch(player, player2)
{
new Float:aim[2][3]
new Float: dif
entity_get_vector(player, EV_VEC_v_angle, aim[0])
entity_get_vector(player2, EV_VEC_v_angle, aim[1])

if(aim[0][1]<0) aim[0][1]+=360.0
if(aim[1][1]<0) aim[0][1]+=360.0

if(aim[0][1]>aim[1][1]) dif = aim[0][1]-aim[1][1]
else dif = aim[1][1]-aim[0][1]

if(dif>90) return

if(get_pcvar_num(cvar))
{
if((!(task_exists(player * 1000 + player2))) && (!(task_exists(player2 * 1000 + player))))
{
new Float:speed[2][3]
new Float:over_speed[3]

set_task(0.2, "empty_space", player * 1000 + player2)
set_task(0.2, "empty_space", player2 * 1000 + player)

entity_get_vector(player, EV_VEC_velocity, speed[0])
entity_get_vector(player2, EV_VEC_velocity, speed[1])

for(new i = 0; i < 3; i++)
{
over_speed[i] = speed[0][i] + speed[1][i]
speed[0][i] += over_speed[i] * 0.65
speed[1][i] -= over_speed[i] * 0.65
}
entity_set_vector(player, EV_VEC_velocity, speed[0])
entity_set_vector(player2, EV_VEC_velocity, speed[1])
}
}
}

public empty_space() {}
Quote
Locked