Bardzo proszę o przerobie tego pluginu, tak aby tylko gracz z flagą X szybko biegał.
Dziękuję
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <speedspeed>
#include <hamsandwich>
#define PLUGIN "Sprinting"
#define VERSION "1.0"
#define AUTHOR "R3X"
new const Float:fSprintingTime = 2.0;
new const Float:fRestingTime = 3.0;
new const Float:fSpeedUp = 100;
new Float:gfSpeedOffset[33];
new giWid[33];
new Float:gfSprint[33];
new Float:gfRest[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("CurWeapon", "eventCurWeapon", "be", "1=1");
RegisterHam(Ham_Spawn, "player", "fwHamSpawn", 1);
register_forward(FM_PlayerPreThink, "fwPlayerPretThink", 1);
}
//SpeedSpeed
public speed_update(id){
add_user_speed(id, gfSpeedOffset[id]);
}
public eventSpeedUp(id){
new Float:fNow = get_gametime();
if(fNow < gfRest[id]){
set_hudmessage(255, 255, 255, -1.0, 0.3, 0, 0.0, 2.0);
show_hudmessage(id, "Odpocznij chwile")
return;
}
gfSpeedOffset[id] = fSpeedUp;
update_user_speed(id);
gfSprint[id] = fNow + fSprintingTime;
set_hudmessage(255, 255, 255, -1.0, 0.3, 0, 0.0, 2.0);
show_hudmessage(id, "Sprint!")
}
public eventSpeedDown(id){
gfSpeedOffset[id] = 0.0;
update_user_speed(id);
new Float:fNow = get_gametime();
gfRest[id] = fNow + fRestingTime;
set_hudmessage(255, 255, 255, -1.0, 0.3, 0, 0.0, 2.0);
show_hudmessage(id, "Tyla")
}
public fwHamSpawn(id)
gfSpeedOffset[id] = 0.0;
public eventCurWeapon(id){
new wid = read_data(2);
giWid[id] = wid;
}
public fwPlayerPretThink(id){
if(!is_user_alive(id))
return FMRES_IGNORED;
new wid = giWid[id];
new button = pev(id, pev_button) & IN_ATTACK2;
new oldbuttons = pev(id, pev_oldbuttons)& IN_ATTACK2;
if((button && !oldbuttons)){
if(wid == CSW_KNIFE)
eventSpeedUp(id);
}
else if(gfSpeedOffset[id]){
if((!button && oldbuttons) || wid != CSW_KNIFE || gfSprint[id] < get_gametime())
eventSpeedDown(id);
}
return FMRES_IGNORED;
}#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "SpeedSpeed"
#define VERSION "1.0"
#define AUTHOR "R3X"
new gfwUpdate;
new const Float:gfCSSpeeds[]={
000.0,
250.0, 000.0, 260.0, 250.0, 240.0,
250.0, 250.0, 240.0, 250.0, 250.0,
250.0, 250.0, 210.0, 240.0, 240.0,
250.0, 250.0, 210.0, 250.0, 220.0,
230.0, 230.0, 250.0, 210.0, 250.0,
250.0, 235.0, 221.0, 250.0, 245.0
}
new giUserWeapon[33];
new Float:gfUserSpeed[33];
new Float:gfOffset[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("CurWeapon", "eventCurWeapon", "be", "1=1");
gfwUpdate = CreateMultiForward("speed_update", ET_CONTINUE, FP_CELL, FP_CELL);
}
public plugin_natives(){
register_library("SpeedSpeed");
register_native("add_user_speed", "_add_user_speed");
register_native("update_user_speed", "_update_user_speed");
}
public eventCurWeapon(id){
new wid = read_data(2);
giUserWeapon[id] = wid;
updateSpeed(id, wid);
}
public updateSpeed(id, wid){
gfUserSpeed[id] = gfCSSpeeds[wid];
gfOffset[id] = 0.0;
new ret;
ExecuteForward(gfwUpdate, ret, id, wid);
if(ret == 0)
gfUserSpeed[id] += gfOffset[id];
__set_user_speed(id, gfUserSpeed[id]);
}
stock __set_user_speed(id, Float:fSpeed = -1.0){
if(fSpeed < 0.0){
new wid = get_user_weapon(id);
fSpeed = gfCSSpeeds[wid];
}
set_pev(id, pev_maxspeed, fSpeed);
client_cmd(id, "cl_forwardspeed %.1f", fSpeed);
client_cmd(id, "cl_backspeed %.1f", fSpeed);
client_cmd(id, "cl_sidespeed %.1f", fSpeed);
}
public _add_user_speed(plugin, params){
if(params < 2){
log_error(10, "Bad parameter number");
return 0;
}
new id = get_param(1);
if(!is_user_connected(id))
return 0;
new Float:fOffset = get_param_f(2);
gfOffset[id] += fOffset;
return 1;
}
public _update_user_speed(plugin, params){
if(params < 1){
log_error(10, "Bad parameter number");
return 0;
}
new id = get_param(1);
if(!is_user_connected(id))
return 0;
updateSpeed(id, giUserWeapon[id]);
return 1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
download


Dodatki SourceMod



Temat jest zamknięty










