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