29/04/2024 22:30
(Esta mensagem foi modificada pela última vez a: 30/04/2024 01:41 por xbruno1000x.)
oi galera criei um sistema de entregador de jornal ainda ta bem basico pois estou estudando para criar coisas mais avançadas em pawno samp , bem minha duvida e porq nao esta indo para os proximos checkpoints ? pois quando uso o comando /ej o primeiro checkpoint aparece chegando la nao acontece mais nada que eu programei no codigo queria saber onde errei
Código:
//criado por andré santos
#include <a_samp>
#include <zcmd>
new empregojornal[MAX_PLAYERS];
new JornalCar[6]; // sempre +1
new pegouemprego[MAX_PLAYERS];
public OnGameModeInit()
{
JornalCar[0] = CreateVehicle(509, 1564.0996,-1872.2502,12.8984,353.0930, -1, -1, 100);
JornalCar[1] = CreateVehicle(509, 1563.7847,-1874.8416,12.9066,353.0930, -1, -1, 100);
JornalCar[2] = CreateVehicle(509, 1562.0336,-1872.9491,12.8908,60.1465, -1, -1, 100);
JornalCar[3] = CreateVehicle(509, 1559.1564,-1871.2976,12.8929,60.1452, -1, -1, 100);
JornalCar[4] = CreateVehicle(509, 1556.7076,-1869.8922,12.8930,60.1452, -1, -1, 100);
JornalCar[5] = CreateVehicle(509, 1556.7125,-1869.8950,12.8898,60.1452, -1, -1, 100);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (!IsPlayerConnected(playerid)) return 0;
if (newstate == PLAYER_STATE_DRIVER)
{
new veiculo = GetPlayerVehicleID(playerid);
if (veiculo >= JornalCar[0] && veiculo <= JornalCar[5])
{
if(!pegouemprego[playerid])
{
SendClientMessage(playerid, -1, "voce nao e um entregador de jornal por isso nao pode usar esse veiculo!");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
return 1;
}
//comandos do emprego
CMD:ajudaemp(playerid, params[])
{
new string[250];
if(!pegouemprego[playerid])return SendClientMessage(playerid, -1, "ERRO: voce nao e um entregador de jornal por isso nao pode usar esse comando!");
if(pegouemprego[playerid])
{
strcat(string, "voce agora e um entregador de jornal use /ej\n");
strcat(string, "para iniciar seu trabalho! para voce parar seu trabalho\n");
strcat(string, "use /pjornal para parar seu trabalho\n");
strcat(string, "voce ganhar dinheiro a cada entrega realizada\n");
strcat(string, "voce tambem pode usar /hq para ir ao local do seu trabalho\n");
strcat(string, "boa sorte e divirta se\n");
}
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_LIST, "ajuda entregador de jornal", string, "OK","OK");
return 1;
}
CMD:serentregador(playerid)
{
pegouemprego[playerid] = true;
SendClientMessage(playerid, -1, "voce agora e um entregador de jornal use /ej!");
return 1;
}
CMD:ej(playerid)
{
if (!IsPlayerConnected(playerid)) return 0;
new vehicleid = GetPlayerVehicleID(playerid);
if(!pegouemprego[playerid])return SendClientMessage(playerid, -1, "ERRO: voce nao e um entregador de jornal /serentregador!");
if (vehicleid < JornalCar[0] || vehicleid > JornalCar[5]) return SendClientMessage(playerid, -1, "ERRO: Você não está no veículo de entrega!");
if (empregojornal[playerid] > 1 && empregojornal[playerid] < 5) return SendClientMessage(playerid, -1, "ERRO: Termine de Entregar Seus Jornais Antes de Pegar Outros!");
//if (!IsPlayerInRangeOfPoint(playerid, 2.0, 734.6573, -1341.5311, 13.5249)) return SendClientMessage(playerid, -1, "ERRO: Você não está no local de pegar jornal!");
empregojornal[playerid] = 1;
SetPlayerCheckpoint(playerid, 787.6259,-1543.4647,13.0615, 1.0);
SendClientMessage(playerid, -1, "*Entregue Jornal, e você receberá dinheiro!");
return 1;
}
CMD:pjornal(playerid)
{
if (!IsPlayerConnected(playerid)) return 0;
if (!pegouemprego[playerid]) return SendClientMessage(playerid, -1, "ERRO: Você não é Entregador De Jornal!");
if (empregojornal[playerid] < 2) return SendClientMessage(playerid, -1, "ERRO: Termine Pelo Menos 2 Jornais Para Cancelar O Servico!!");
if (empregojornal[playerid] < 1) return SendClientMessage(playerid, -1, "ERRO: Você não está trabalhando, use /entregarj para trabalhar");
empregojornal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, -1, "INFO: Entrega Cancelada!");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if (!IsPlayerConnected(playerid)) return 0;
new vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid < JornalCar[0] || vehicleid > JornalCar[5]) return 0;
if (empregojornal[playerid] == 1)
{
empregojornal[playerid] = 2;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....1/10", 10000, 4);
SetPlayerCheckpoint(playerid,1964.9343,-2093.5779,13.4930,10);
}
if(empregojornal[playerid] == 2)
{
empregojornal[playerid] = 3;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....2/10", 10000, 4);
SetPlayerCheckpoint(playerid,1824.0347,-1842.7266,13.5143,10);
}
if(empregojornal[playerid] == 3)
{
empregojornal[playerid] = 4;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....3/10", 10000, 4);
SetPlayerCheckpoint(playerid,1531.9675,-1674.4497,13.4812,10);
}
if(empregojornal[playerid] == 4)
{
empregojornal[playerid] = 5;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....4/10", 10000, 4);
SetPlayerCheckpoint(playerid,1360.4689,-1298.3595,13.4092,10);
}
if(empregojornal[playerid] == 5)
{
empregojornal[playerid] = 6;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....5/10", 10000, 4);
SetPlayerCheckpoint(playerid,1192.8175,-1320.8759,13.4989,10);
}
if(empregojornal[playerid] == 6)
{
empregojornal[playerid] = 7;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....6/10", 10000, 4);
SetPlayerCheckpoint(playerid,818.9773,-1392.3652,13.4928,10);
}
if(empregojornal[playerid] == 7)
{
empregojornal[playerid] = 8;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....7/10", 10000, 4);
SetPlayerCheckpoint(playerid,797.4005,-1071.3063,24.4965,10);
}
if(empregojornal[playerid] == 8)
{
empregojornal[playerid] = 9;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....8/10", 10000, 4);
SetPlayerCheckpoint(playerid,1354.9268,-979.9109,30.8619,10);
}
if(empregojornal[playerid] == 9)
{
empregojornal[playerid] = 10;
SetTimerEx("Tempu", 5000, false, "d", playerid);
TogglePlayerControllable(playerid,0);
GameTextForPlayer(playerid, "entregando jornal....9/10", 10000, 4);
SetPlayerCheckpoint(playerid,1294.4608,-1789.3079,13.4850,10);
}
if(empregojornal[playerid] == 10)
{
empregojornal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
GameTextForPlayer(playerid, "~y~missao concluida~g~$600", 10000, 4);
SendClientMessage(playerid,-1,"para continuar use /ej.");
GivePlayerMoney(playerid,600);
}
return 1;
}
forward Tempu(playerid);
public Tempu(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}