←  [IV:MP] Poradniki oraz Tutoriale

Grand Theft Auto & Multiplayers

»

Zmienne graczy

- zdjęcie Fafu 31 paź 2011

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);
Odpowiedz