Jump to content


Zmienne graczy

Scripting IV-MP Squirrel Zmienne graczy

  • You cannot reply to this topic
No replies to this topic

#1 Fafu

    Programista

  • Użytkownicy
  • 28 posts

Posted 31 October 2011 - 15:24

Często potrzebujemy przechowywać różne dane graczy (np. ilość pieniędzy w banku, ilość zabitych graczy itd.). Można by do każdego typu danych użyć tablic (jak to często jest wykorzystywane w PAWN), ale jest to nieefektowne i przyjęło się używać do tego tabel.

Zaczniemy od zdefiniowania tabeli pData (playerData) na samej górze skryptu:
local pData = {};

Później, gdy gracz dołączy do serwera, trzeba stworzyć jego zmienną oraz przypisać mu domyślne wartości.
function onPlayerConnect(playerid) {
	pData[playerid] <- {};
	pData[playerid].score <- 0;
	pData[playerid].money <- 0;
}
addEvent("playerConnect", onPlayerConnect);

Gdy gracz wyjdzie z serwera należy jego zmienną usunąć:
function onPlayerDisconnect(playerid) {
	delete pData[playerid];
}
addEvent("playerDisconnect", onPlayerDisconnect);
Powyższy kod usunie także przypisane wartości (score i money).

Teraz zaprezentuje przykładowe użycie takich zmiennych. Gdy gracz zginie to straci 1 punkt a jego zabójca dostanie 1 punkt oraz $5000 na konto bankowe.
function onPlayerDeath(playerid, killerid, killervehicle) {
	pData[playerid].score -= 1;

	pData[killerid].score += 1;
	pData[killerid].money += 5000;
	return true;
}
addEvent("playerDeath", onPlayerDeath);

Zapraszam na Rafal.Brzezinski.me





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users