Quantcast
Channel: SA-MP Forums
Viewing all articles
Browse latest Browse all 18226

[Ajuda] Quando o jogador cair na água o trabalho cancela

$
0
0
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:
PHP Code:

COMMAND:iniciartrabalho(playeridparams[])
{

    
// 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 
VehicleFlatbedVehicleDFT30VehicleCementTruck// Flatbed, DFT-30, CementTruck
                                
if (APlayerData[playerid][TruckerLicense] == 1// Check if the player has acquired a truckers license
                                    
ShowPlayerDialog(playeridDialogTruckerJobMethodDIALOG_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 VehicleLineRunnerVehicleTankerVehicleRoadTrain// 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(playeridDialogTruckerJobMethodDIALOG_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(playeridDialogBusJobMethodDIALOG_STYLE_LIST"Selecione o método :""Escolha sua própria rota de ônibus\r\nAtribuir auto-rota""Selecionar""Cancelar");
                            else
                                
BusDriver_StartJob(playeridrandom(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 
VehicleShamalVehicleNevadaVehicleMaverickVehicleCargobobVehicleAT400VehicleAndromadaVehicleDodo// 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 
VehicleSandKingVehicleMoonbeam// 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 
VehicleBurritoVehicleFaggioVehicleBenson// 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 
VehicleUtilityVanVehicleTowTruck// 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;


Agradeço desde já uma ajuda;
Obrigado.

Viewing all articles
Browse latest Browse all 18226

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>