Skocz do zawartości


Zmienne graczy

Scripting IV-MP Squirrel Zmienne graczy

  • Nie możesz odpowiedzieć
Brak odpowiedzi do tego tematu

#1 Fafu

    Programista

  • Użytkownicy
  • 28 postów

Napisano 31 październik 2011 - 14: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





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

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