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
Modyfikacja

przerobienie pluginuszybkie bieganie z nozem

Modyfikacja

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 Grzegorz93

    Wszechpomocny

  • Użytkownik

Reputacja: 63
Pomocny

  • Postów:311
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Śląsk
Offline

Napisano 31.03.2011 15:16

Witam,

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

Załączone pliki


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

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

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