Pitanje


Započeo Fergosonn, Jul 07, 2021, 12:46:16 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Ovako interesuje me kako da napravim da kad policajac ide /lociraj i locira odrjednjenog igraca da se marker stalno pomera a ne celo vreme /lociraj [ID]
Deo skripte:
Vaš odgovor

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Vaš odgovor
Poslednja Izmena: Jul 07, 2021, 23:11:21 POSLE PODNE od M Ө M Σ N Z I

new locateID[MAX_PLAYERS]; //Promenljiva koja ce sluziti da odredimo koga locira

public OnPlayerConnect(playerid) {

	locateID[playerid] = -1; //Resetujemo na -1

	return 1;
}

CMD:locateoff(playerid) {

	locateID[playerid] = -1;
	DisablePlayerCheckpoint(playerid);

	return 1;
}

CMD:locate(playerid, params[]) {

	new id;
	if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "Use : /locate [ID]"); //Proverimo da li je ukucao ID i koji je iD

	locateID[playerid] = id; //Postavimo promenljivu na id igraca koga lociramo

	new Float:X, Float:Y, Float:Z; //Napravimo 3 nove promenljive za poziciju igraca
	GetPlayerPos(id, X, Y, Z); //Uzmemo poziciju igraca koga pratimo

	DisablePlayerCheckpoint(playerid); //Iskljucimo checkpoint 
	SetPlayerCheckpoint(playerid, X, Y, Z, 2.0); //Upalimo checkpoint na lokaciju

	defer locationCheck(playerid); //Neki timer da proverava lokaciju

	return 1;
}

timer locationCheck[500](playerid) { //Timer koji vrti svakih 500ms

	if(locateID[playerid] != -1) { //Proverimo da li prati nekoga

		new Float:X, Float:Y, Float:Z; //Napravimo 3 nove promenljive za poziciju igraca
		GetPlayerPos(locateID[playerid], X, Y, Z); //Uzmemo poziciju igraca koga pratimo

		DisablePlayerCheckpoint(playerid); //Iskljucimo checkpoint 
		SetPlayerCheckpoint(playerid, X, Y, Z, 2.0); //Upalimo checkpoint na lokaciju

		defer locationCheck(playerid); //Neki timer da proverava lokaciju

		return 1;
	}

	return 1;
}

public OnPlayerEnterCheckpoint(playerid) { //Mozes i ovo

	if(locateID[playerid] != -1) { //Ovo je ako ikada dodje do njega da izgasi CP

		locateID[playerid] = -1;
		DisablePlayerCheckpoint(playerid);

		return 1;
	}

	return 1;
}


Ako ti nesto nije jasno, pitaj :)