O que tem de errado? -
AztecaJr - 18.01.2019
O player nгo estб ganhando o dinheiro, quando passa pelo ponto. O que estб errado?
Код:
public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,1.0, 575.3373,856.0883,-42.7390))
{
GivePlayerMoney(playerid, 2000)
return 1;
}
Re: O que tem de errado? -
Malandrin - 18.01.2019
Pois vocк nгo criou nenhum checkpoint, ou se criou estб fazendo de uma forma errada.
Nessa sua logica o player sу iria conseguir passar e nгo iria acontecer nada, e porque que nгo irб acontecer nada? Pois vocк nгo definiu um timer para verificar se o player encontrasse na devida posiзгo.
Tem alguns jeitos de fazer, eu escolhi fazer por esse:
PHP код:
new
bool:Recebeu[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("PlayerInCP", 2000, true);
return 1;
}
forward PlayerInCP();
public PlayerInCP()
{
for(new i; i != MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, 1.0, 575.3373,856.0883,-42.7390))
{
if(!Recebeu[i])
{
GivePlayerMoney(i, 2000);
Recebeu[i] = true;
break;
}
}
}
return 1;
}
Mas, vocк pode fazer por
SetTimerEx e utilizando a Callback
OnPlayerConnect mas creio que poderб lagar o servidor se tiver um grande nъmero de jogador conectado.
Outra forma de criar tambйm й a utilizaзгo de CheckPoint(Aparecerб um icone vermelho no chгo) esse irб ser o mais leve de todos e suprir o que vocк pede.
Re: O que tem de errado? -
Seere - 18.01.2019
PHP код:
public OnPlayerSpawn(playerid) {
SetPlayerCheckpoint(playerid, 575.3373, 856.0883, -42.7390, 3.0);
return 1;
}
public OnPlayerEnterCheckpoint(playerid) {
GivePlayerMoney(playerid, 2000);
DisablePlayerCheckpoint(playerid);
return 1;
}
Nгo tem necessidade de adicionar um timer, basta usar o cйrebro.
Re: O que tem de errado? -
[BOPE]Seu._.Madruga - 18.01.2019
PHP код:
public OnPlayerSpawn(playerid) {
SetPlayerCheckpoint(playerid, 575.3373, 856.0883, -42.7390, 3.0);
return 1;
}
public OnPlayerEnterCheckpoint(playerid) {
if(IsPlayerInRangeOfPoint(playerid, 3.0, 575.3373, 856.0883, -42.7390)) {
GivePlayerMoney(playerid, 2000);
DisablePlayerCheckpoint(playerid);
}
return 1;
}