←  [IV:MP] Poradniki oraz Tutoriale

Grand Theft Auto & Multiplayers

»

Komunikacja między klientem i serwerem

- zdjęcie Fafu 31 paź 2011

Często zachodzi potrzeba komunikacji między skryptami po stronie klienta i po stronie serwera.
W IV:MP służą do tego dwie funkcje, które uruchamiają event po właściwej stronie:
  • triggerServerEvent(event, ...);
  • triggerClientEvent(playerid, event, ...);
W miejscach gdzie są trzy kropki można umieścić dowolne dane.

Przykładowo robimy system logowania i chcemy zrobić sprawdzanie danych.
// po stronie clienta
// definicja GUI itp.

// po wciśnięciu przycisku
function onButtonClick(btnName, bState) {
	// pobranie zawartości pól tekstowych...
	triggerServerEvent("login", username, password);
}
addEvent("buttonClick", onButtonClick);

// obsłużenie odpowiedzi od serwera
function loginRepose(repose) {
	if(repose == 1) {
		addChatMessage("Zostałeś poprawnie zalogowany!");
		// zamknięcie okienka logowania
	} else {
		addChatMessage("Wystąpił błąd. Sprawdź wpisane dane.");
	}
}
addEvent("loginRepose", loginRepose);

// po stronie serwera
function login(playerid, username, password) {
	// sprawdzenie czy gracz podał poprawny login i hasło
	// przykładowo podał prawidłowe
	local repose = 1;
	triggerClientEvent(playerid, "loginRepose", repose);
}
Odpowiedz