←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Prędkość Gracza

Zablokowany

  • +
  • -
BoB0_ - zdjęcie BoB0_ 30.07.2011

Witam.

Mam taką oto klasę w cod modzie :

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <codmod>
#include <colorchat>

#define CZAS_GODMOD 3 //SEKUND

new const nazwa[] = "[Pro] Rusher";
new const opis[] = "Dostaje M3 oraz 3 sekund niesmiertelnosci co runde";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:wykorzystal[33];
new bool:ma_klase[33];

new msg_bartime;

public plugin_init() {
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");
	
	register_event("ResetHUD", "ResetHUD", "abe");
	
	
	msg_bartime = get_user_msgid("BarTime");
}

public cod_class_enabled(id)
{
	ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);
	ma_klase[id] = true;
	ResetHUD(id);
}

public cod_class_disabled(id)
	ma_klase[id] = false;

public cod_class_skill_used(id)
{
	if(!is_user_alive(id))
		return;
		
	if(wykorzystal[id])
	{
		ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");
		return;
	}
	
	wykorzystal[id] = true;
	
	set_user_godmode(id, 1);
	set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0);
	set_task(CZAS_GODMOD.0, "WylaczGod", id);
	
	message_begin(MSG_ONE, msg_bartime, _, id)
	write_short(CZAS_GODMOD)
	message_end()
}

public WylaczGod(id)
{
	if(!is_user_connected(id)) return;
	
	set_user_godmode(id, 0);
	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0);
}

public ResetHUD(id)
	wykorzystal[id] = false;

Początkowe chciałem zmienić godmode na to aby pociski odbijały się od gracza ale zakończyło się to niepowodzeniem. Teraz chcę aby gdy gracz użyje mocy to przez te 3 sekundy miał kondycję równą -50. Niestety nie ma takiego natywu który ustawiałby kondycję na odpowiednie punkty. Oto natywy z kondycją :

Native cod_points_to_trim(id, ilosc);
/*------------------------------
Przydziela punkty do statystyki kondycja
------------------------------*/

native cod_get_user_trim(id, kondycja_zdobyta=1, kondycja_klasy=1, kondycja_bonusowa=1);
/*------------------------------
Zwraca punkty statystyki kondycja
------------------------------*/


native cod_set_user_bonus_trim(id, wartosc);
/*------------------------------
Ustawia dodatkowe punkty statystyki kondycja
------------------------------*/

Macie może jakieś pomysły jak to zrobić? Czy mógłbym to zrobić za pomocą set_user_max_speed czy będzie się to gryźć z cod'em?

Dziękuje za pomoc z góry.
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 30.07.2011

Moze tak:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <codmod>
#include <colorchat>

#define CZAS_GODMOD 3 //SEKUND

new const nazwa[] = "[Pro] Rusher";
new const opis[] = "Dostaje M3 oraz 3 sekund niesmiertelnosci co runde";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:wykorzystal[33];
new bool:ma_klase[33];
new stara_kondycja[33]

new msg_bartime;

public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_advance(cod_get_classid("Rusher"), 40, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");

register_event("ResetHUD", "ResetHUD", "abe");


msg_bartime = get_user_msgid("BarTime");
}

public cod_class_enabled(id)
{
ColorChat(id, GREEN, "Klasa %s zostala stworzona przez www.BingBang.eu", nazwa);
ma_klase[id] = true;
ResetHUD(id);
}

public cod_class_disabled(id)
ma_klase[id] = false;

public cod_class_skill_used(id)
{
if(!is_user_alive(id))
return;

if(wykorzystal[id])
{
ColorChat(id, RED, "Wykorzystales juz swoja niesmiertelnosc.");
return;
}

wykorzystal[id] = true;

set_user_godmode(id, 1);
stara_kondycja[id] = cod_get_user_trim(id)
cod_points_to_trim(id, -(stara_kondycja[id]+50))
set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0);
set_task(CZAS_GODMOD.0, "WylaczGod", id);
message_begin(MSG_ONE, msg_bartime, _, id)
write_short(CZAS_GODMOD)
message_end()
}

public WylaczGod(id)
{
if(!is_user_connected(id)) return;

set_user_godmode(id, 0);
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0);
cod_points_to_trim(id, stara_kondycja[id])
}

public ResetHUD(id)
wykorzystal[id] = false;
Odpowiedz
Zablokowany