27.12.2015, 15:22
Acho que isso jб daria uma boa base para seu sistema.
Espero ter ajudado.
PHP код:
new ActorMissao,
bool: EmMissao[MAX_PLAYERS],
bool: ChegouNaMissao[MAX_PLAYERS];
public OnGameModeInit() {
ActorMissao = CreateActor(0, 0.0, 0.0, 3.0, 0.0); //Cria o Actor com suas coordenadas, skin, etc..
return 1;
}
CMD:missao(playerid) {
if(EmMissao[playerid])
return SendClientMessage(playerid, -1, "Vocк jб estб em uma missгo.");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) //Coordenada X, Y, Z do Actor criado acima
return SendClientMessage(playerid, -1, "Vocк precisa estar perto de um Actor para aceitar uma missao.");
EmMissao[playerid] = true;
SetPlayerCheckpoint(playerid, x, y, z, size); //Utilize as coordenadas na qual vocк deseja que seja o local da missгo
SendClientMessage(playerid, -1, "Missгo iniciada.");
return 1;
}
CMD:recompensa(playerid) {
if(!EmMissao[playerid])
return SendClientMessage(playerid, -1, "Vocк nгo estб em uma missгo.");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) //Coordenada X, Y, Z do Actor criado acima
return SendClientMessage(playerid, -1, "Vocк precisa estar perto de um Actor para pegar sua recompensa.");
if(!ChegouNaMissao[playerid])
return SendClientMessage(playerid, -1, "Vocк precisa ir na missгo para pegar sua recompensa.");
EmMissao[playerid] = ChegouNaMissao[playerid] = false;
SendClientMessage(playerid, -1, "Vocк pegou sua recompensa e ganhou R$ 100.");
GivePlayerMoney(playerid, 100);
return 1;
}
public OnPlayerEnterCheckpoint(playerid) {
if(EmMissao[playerid] && IsPlayerInRangeOfPoint(playerid, range, x, y, z)) { //Range й o mesmo range que vocк colocou no "Size" do Checkpoint, X, Y, Z й a coordenada da missao
SendClientMessage(playerid, -1, "Vocк chegou na missгo. Volte ao Actor para pegar sua recompensa.");
ChegouNaMissao[playerid] = true;
DisablePlayerCheckpoint(playerid);
}
return 1;
}