Hız Sınırlayıcı
Gönderilme zamanı: Çrş Eyl 13, 2017 10:15 pm
Oyuncu space basılı iken belirli bir hızın üstüne ulaşınca slay yemesini istiyorum. Yapabilecek varmı ?
ea_sinirla = register_cvar("ea_hizsinir","300")
Kod: Tümünü seç
#include <amxmodx>
#include <fakemeta>
#define PLUGIN "Speedometer"
#define VERSION "1.2"
#define AUTHOR "kiNzu"
#define FREQ 0.1
new ea_sinirla
new bool:plrSpeed[33]
new TaskEnt,showspeed, maxplayers
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("AcidoX", "Speedometer 1.1", FCVAR_SERVER)
register_forward(FM_Think, "Think")
TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(TaskEnt, pev_classname, "speedometer_think")
set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01)
register_clcmd("say /speed", "toogleSpeed")
ea_sinirla = register_cvar("ea_hizsinir","300")
showspeed = register_cvar("showspeed", "1")
maxplayers = get_maxplayers()
}
public Think(ent)
{
if(ent == TaskEnt)
{
SpeedTask()
set_pev(ent, pev_nextthink, get_gametime() + FREQ)
}
}
public client_putinserver(id)
{
plrSpeed[id] = showspeed > 0 ? true : false
}
public toogleSpeed(id)
{
plrSpeed[id] = plrSpeed[id] ? false : true
return PLUGIN_HANDLED
}
SpeedTask()
{
static i, target
static Float:velocity[3]
static Float:speed;
for(i=1; i<=maxplayers; i++)
{
if(!is_user_connected(i)) continue
if(!plrSpeed[i]) continue
target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i
pev(target, pev_velocity, velocity)
speed = vector_length(velocity)
if(speed > get_pcvar_num(ea_sinirla)){
user_kill(i)
new nick[33]
get_user_name(i,nick,32)
chat_colorz(0,"!g%s !tadli oyuncu !g%d !thizini astigi icin oldurulmustur.",nick,get_pcvar_num(ea_sinirla))
chat_colorz(i,"!y[ !g%s !y] !tHiziniz !g%d!t'i astigi icin olduruldunuz.",nick,get_pcvar_num(ea_sinirla))
}
}
}
stock chat_colorz(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
emirakpinar yazdı:Oldu mu şimdi bu AhmetNeyse bırakayım şuraya.
ea_sinirla = register_cvar("ea_hizsinir","300")Kod: Tümünü seç
#include <amxmodx> #include <fakemeta> #define PLUGIN "Speedometer" #define VERSION "1.2" #define AUTHOR "kiNzu" #define FREQ 0.1 new ea_sinirla new bool:plrSpeed[33] new TaskEnt,showspeed, maxplayers public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("AcidoX", "Speedometer 1.1", FCVAR_SERVER) register_forward(FM_Think, "Think") TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(TaskEnt, pev_classname, "speedometer_think") set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01) register_clcmd("say /speed", "toogleSpeed") ea_sinirla = register_cvar("ea_hizsinir","300") showspeed = register_cvar("showspeed", "1") maxplayers = get_maxplayers() } public Think(ent) { if(ent == TaskEnt) { SpeedTask() set_pev(ent, pev_nextthink, get_gametime() + FREQ) } } public client_putinserver(id) { plrSpeed[id] = showspeed > 0 ? true : false } public toogleSpeed(id) { plrSpeed[id] = plrSpeed[id] ? false : true return PLUGIN_HANDLED } SpeedTask() { static i, target static Float:velocity[3] static Float:speed; for(i=1; i<=maxplayers; i++) { if(!is_user_connected(i)) continue if(!plrSpeed[i]) continue target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i pev(target, pev_velocity, velocity) speed = vector_length(velocity) if(speed > get_pcvar_num(ea_sinirla)){ user_kill(i) new nick[33] get_user_name(i,nick,32) chat_colorz(0,"!g%s !tadli oyuncu !g%d !thizini astigi icin oldurulmustur.",nick,get_pcvar_num(ea_sinirla)) chat_colorz(i,"!y[ !g%s !y] !tHiziniz !g%d!t'i astigi icin olduruldunuz.",nick,get_pcvar_num(ea_sinirla)) } } } stock chat_colorz(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") replace_all(msg, 190, "!team2", "^0") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } }
Kod: Tümünü seç
register_clcmd("+jump","space_basiyor")
register_clcmd("-jump","space_birakti")
public space_basiyor(id)
{
spacedurum[id] = 1
return PLUGIN_HANDLED;
}
public space_birakti(id)
{
spacedurum[id] = 0
return PLUGIN_HANDLED;
}