←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
zmniejszenie lvl dla gracza

Zablokowany

  • +
  • -
djhak - zdjęcie djhak 24.07.2011

Witam mam problem ze zmniejszeniem lvl dla gracza
widzialem gdzie niegdzie temat ze zmniejszeniem lvl ale wpisuje cod_setlvl "nick" "1" i nic sie nie dzieje albo daje np dla kogos lvl z 39 na 25 to zamiast odjac lvl do tego 25 poziomu to dodaje :////
proszę o konkret
jezeli trzeba cos popawic w kodzie sma to proszę podac co wpisac i gdzie
Odpowiedz

  • +
  • -
alc0 - zdjęcie alc0 24.07.2011

POD:
register_clcmd("flash", "BlokujKomende");

DAJ:
register_concmd("cod_nadajpoziom", "cmd_setlvl", ADMIN_IMMUNITY, "<name> <level>");

(inne tego typu komendy najlepiej wyrzuć)

Potem na końcu sma poszukaj:
public cmd_setlvl(id, level, cid)

I całą tą funkcję podmień na tą:

public cmd_setlvl(id, level, cid)
{
	if(!cmd_access(id,level,cid,3))
		return PLUGIN_HANDLED;
	new arg1[33];
	new arg2[6];
	read_argv(1, arg1, 32);
	read_argv(2, arg2, 5);
	new player = cmd_target(id, arg1, 2);
	new value = str_to_num(arg2)-1;
	
	doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
	poziom_gracza[player] = 0;
	SprawdzPoziom(player);
	return PLUGIN_HANDLED;
}


Tylko admin z immunitetem bedzie mógł zmieniać poziom "flaga a"
komenda cod_nadajpoziom "nick" "poziom"
Odpowiedz

  • +
  • -
Jambi - zdjęcie Jambi 24.07.2011

albo daj sam to ci zrobimy
Odpowiedz

  • +
  • -
djhak - zdjęcie djhak 25.07.2011

Hmm wlasnie mam prawie identycznie jak podales

public cmd_setlvl(id, level, cid)
{
	if(!cmd_access(id,level,cid,3))
		return PLUGIN_HANDLED;
	new arg1[33];
	new arg2[6];
	read_argv(1, arg1, 32);
	read_argv(2, arg2, 5);
	new player = cmd_target(id, arg1, 2);
	new value = str_to_num(arg2)-1;
	
	doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
	poziom_gracza[player] = 0;
	SprawdzPoziom(player);
	return PLUGIN_HANDLED;
}

jedynie tutaj mam takie cos

	doswiadczenie_gracza[player] += doswiadczenie_poziomu[value];
a tutaj nie mam tej dwojki
a co ona powoduje?? jak mozna wiedziec???
	new player = cmd_target(id, arg1);

hmm sprawdze ta kombinacje zaraz
i wroce z edycja


@ edycja
Wielkie dzięki za ten kod :D
juz wiem gdzie byl blad w tym kodzie
tam gdzie byl ten wlasnie plus :D on powodowal ruch lvl tylko w jedna strone :D
a ta dwojka to tez juz wiem co daje :D
powoduje to ze admin z immunitetem moze dawac sobie lvl

dzięki i leci plusik :D ^D^



hmm jeszcze jeden problem ma ktory nie moge sobie poradzic :/
mianowicie chcac usunac lvl wlasnie temu osobnikowi sciagnalem plik valve i edytowalem jego w ten spoob ze usunolem nick i poziom z pliku
ale jak wrzucam jego s powrotem to powoduje to calkowity reset wszystkich lvl
proszę o pomoc w jaki sposo i czy jest mozliwe odzyskanie ych lvl??
oczywiscie posiadam zapasowy oryginalny plik valve
Użytkownik djhak edytował ten post 25.07.2011 05:22
Odpowiedz
Zablokowany