Boa tarde programadores, venho por meio desde post pedir a ajuda de vocês para solucionar um problema em meu servidor, ou seja, quando o jogador em trabalho, cair na agua, queria que o trabalho cancelasse automaticamente, pois como tem players de má fé não seria uma boa coisa deixar essa brecha.
O meu cmd de trabalhar é esse:
Agradeço desde já uma ajuda;
Obrigado.
O meu cmd de trabalhar é esse:
PHP Code:
COMMAND:iniciartrabalho(playerid, params[])
{
// Check if the player has logged in
if (APlayerData[playerid][LoggedIn] == true)
{
// First check if the player already has a job
if (APlayerData[playerid][JobStarted] == false)
{
// Check the player's class
switch (APlayerData[playerid][PlayerClass])
{
case ClassTruckDriver:
{
// Get the id of the convoy (if the player is in a convoy)
new Convoy = APlayerData[playerid][ConvoyID];
// Check if the player is part of a convoy AND is not the leader
if ((APlayerData[playerid][InConvoy] == true) && (AConvoys[Convoy][Members][0] != playerid))
{
// Let the player know he's not the leader of his convoy and cannot start a job
SendClientMessage(playerid, -1, "{FF0000}Você não é o líder do comboio, por tanto não pode iniciar uma missão.");
// Exit the function
return 1;
}
// A convoy-leader proceeds here, and also a normal player (no convoy-member)
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Check if the player is inside a valid trucking vehicle
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case VehicleFlatbed, VehicleDFT30, VehicleCementTruck: // Flatbed, DFT-30, CementTruck
if (APlayerData[playerid][TruckerLicense] == 1) // Check if the player has acquired a truckers license
ShowPlayerDialog(playerid, DialogTruckerJobMethod, DIALOG_STYLE_LIST, "Selecione o método:", "Configurar sua própria carga e rota\r\nAtribuir auto-carga", "Selecionar", "Cancelar");
else
Trucker_StartRandomJob(playerid); // Start a random job
case VehicleLineRunner, VehicleTanker, VehicleRoadTrain: // Player is driving a truck which needs a trailer
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) // Check if there is a trailer attached
if (APlayerData[playerid][TruckerLicense] == 1) // Check if the player has acquired a truckers license
ShowPlayerDialog(playerid, DialogTruckerJobMethod, DIALOG_STYLE_LIST, "Selecione o método:", "Configurar sua própria carga e rota\r\nAtribuir auto-carga", "Selecionar", "Cancelar");
else
Trucker_StartRandomJob(playerid); // Start a random job
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa de um trailer para iniciar o trabalho.");
default: SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um caminhão para iniciar o trabalho.");
}
}
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um caminhão para iniciar o trabalho.");
}
case ClassBusDriver:
{
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == VehicleCoach) // Check if the player is inside a valid busdriver vehicle
if (APlayerData[playerid][BusLicense] == 1) // Check if the player has acquired a busdriver license
ShowPlayerDialog(playerid, DialogBusJobMethod, DIALOG_STYLE_LIST, "Selecione o método :", "Escolha sua própria rota de ônibus\r\nAtribuir auto-rota", "Selecionar", "Cancelar");
else
BusDriver_StartJob(playerid, random(sizeof(ABusRoutes))); // Start a random job
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar dirigindo um ônibus para iniciar o trabalho!");
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar dirigindo um ônibus para iniciar o trabalho!");
}
case ClassPilot:
{
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Check if the player is inside a valid piloting vehicle
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case VehicleShamal, VehicleNevada, VehicleMaverick, VehicleCargobob, VehicleAT400, VehicleAndromada, VehicleDodo: // Plane (Shamal), Plane (Nevada), helicopter (Maverick)
Pilot_StartRandomJob(playerid); // Start a random piloting job
default: SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo de voo para iniciar o trabalho.");
}
}
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo de voo para iniciar o trabalho.");
}
case ClassMafia:
{
new Quadrilha = APlayerData[playerid][QuadrilhaID];
if ((APlayerData[playerid][InQuadrilha] == true) && (AQuadrilha[Quadrilha][Members][0] != playerid))
{
SendClientMessage(playerid, -1, "{ff0000}Você não é o líder da quadrilha, por tanto não pode iniciar uma missão.");
return 1;
}
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Check if the player is inside a valid piloting vehicle
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case VehicleSandKing, VehicleMoonbeam: // Sangking, Moonbeam
Mafia_StartRandomJob(playerid); // Start a random mafia job
default: SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo da máfia para iniciar o trabalho.");
}
}
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo da máfia para iniciar o trabalho.");
}
case ClassCourier:
{
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Check if the player is inside a valid courier vehicle
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case VehicleBurrito, VehicleFaggio, VehicleBenson: // Van (Burrito), bike (Faggio)
Courier_StartJob(playerid); // Start a random courier job
default: SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo dos Correios para iniciar o trabalho.");
}
}
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo dos Correios para iniciar o trabalho.");
}
case ClassRoadWorker:
{
// Check if the player is the driver of a vehicle
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Check if the player is inside a valid courier vehicle
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case VehicleUtilityVan, VehicleTowTruck: // Utility Van, Towtruck
Roadworker_StartRandomJob(playerid); // Start a random roadworker job
default: SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo do DNIT para iniciar o trabalho.");
}
}
else
SendClientMessage(playerid, -1, "{ff0000}Você precisa estar conduzindo um veículo do DNIT para iniciar o trabalho.");
}
default: SendClientMessage(playerid, -1, "{ff0000}A sua classe não pode fazer todos os trabalhos.");
}
}
else // Send a message to let the player know he already has a job
SendClientMessage(playerid, -1, "{ff0000}Você já está realizando um trabalho!");
}
else
return 0;
// Let the server know that this was a valid command
return 1;
}
Obrigado.