[AJUDA/HELP] Comando /desligarmotor e /ligarmotor
#1

Boas, nesse cуdigo ai, eu gostaria que me ajudassem no seguinte:
-Apenas quem fosse dirigir/conduzir aparecesse a mensagem do OnPlayerEnterVehicle e do OnPlayerExitVehicle.
-Apenas o condutor pudesse dar /desligarmotor - /ligarmotor.
-------
Hello, this code there, I would like to help me on the following issues:
-That's the message OnPlayerEnterVehicle and OnPlayerExitVehicle, appear only to those who were driving.
-Only the driver could give / desligarmotor - / ligarmotor.
-------
Код:
#include a_samp
#include "../include/gl_common.inc"

#define PlayerActionMessage

#pragma tabsize 0
///=====Cores===//

#define VERDE        0x33AA33AA
#define VERMELHO    0xFF000096
#define PRETO    0x000000FF
#define AZUL      0x2641FEAA
#define ROXO      0xC2A2DAAA
#define AMARELO  0xFFFF00AA
#define CINZA    0xAFAFAFAA
#define AZUL2 0x0762F8FF
#define BRANCO 0xFFFFFFFF

new EntroudeF[MAX_PLAYERS] = 0;

public OnPlayerCommandText(playerid, cmdtext[])
{
        new cmd[256];
        new idx;
        cmd = strtok(cmdtext, idx);
        new engine,lights,alarm,doors,bonnet,boot,objective;

        if(strcmp(cmd, "/ligarmotor",true) == 0) {
        new veiculoid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid)){
                    GetVehicleParamsEx(veiculoid,engine,lights,alarm,doors,bonnet,boot,objective);
                    if(engine == VEHICLE_PARAMS_ON){
                    SendClientMessage(playerid,0x800000AA,"O veнculo jб estб ligado!");
                return 1;
            }else{
                SetVehicleParamsEx(veiculoid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
                EntroudeF[playerid] = 1;
                PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
                SendClientMessage(playerid,0x008040AA,"Motor Ligado.");
			}
                }else{
            SendClientMessage(playerid,0x800000AA,"Vocк nгo se encontra em um veнculo!");
        }
        return 1;
        }
        if(strcmp(cmd, "/desligarmotor",true) == 0) {
        new veiculoid = GetPlayerVehicleID(playerid);
                if(IsPlayerInAnyVehicle(playerid)){
            GetVehicleParamsEx(veiculoid,engine,lights,alarm,doors,bonnet,boot,objective);
            if(engine == VEHICLE_PARAMS_OFF){
                SendClientMessage(playerid,0x800000AA,"O veнculo jб estб desligado!");
                return 1;
            }else{
                        SetVehicleParamsEx(veiculoid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
                        PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e desliga o motor.");
                        SendClientMessage(playerid,0x008040AA,"Motor Desligado.");
            }
                }else{
            SendClientMessage(playerid,0x800000AA,"Vocк nгo se encontra em um veнculo!");
            }
            return 1;
         }
	  }
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(EntroudeF[playerid] == 1 ) EntroudeF[playerid] = 0,SendClientMessage(playerid, BRANCO, "Use /ligarmotor para ligar o motor e /desligarmotor para desligar o motor.");
	return 0;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    SendClientMessage(playerid, AMARELO, "Nгo deixe o motor ligado, poderб sofrer o risco de roubo.");
	return 1;
}
Reply
#2

For the /(des)ligarmotor thing, try using GetPlayerVehicleSeat or GetPlayerState like this:

INSTEAD OF:
pawn Код:
if(IsPlayerInAnyVehicle(playerid))
USE:
pawn Код:
if(!GetPlayerVehicleSeat(playerid))
or
pawn Код:
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
For the other issue, use OnPlayerStateChange instead:

pawn Код:
public OnPlayerStateChange(playerid, oldstate, newstate)
{
    if(newstate == PLAYER_STATE_DRIVER) //Entered vehicle
    {
        if(EntroudeF[playerid] == 1) EntroudeF[playerid] = 0, SendClientMessage(playerid, BRANCO, "Use /ligarmotor para ligar o motor e /desligarmotor para desligar o motor.");
    }
    else if(oldstate == PLAYER_STATE_DRIVER) //Left vehicle
    {
        SendClientMessage(playerid, AMARELO, "Nгo deixe o motor ligado, poderб sofrer o risco de roubo.");
    }
    return 1;
}
Reply
#3

WORKS, I LOVE YOU xb (;
Thanks man, and help me with the PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
C:\Users\Joгo\Desktop\GTA\SAMP - JOGAR\PAWNOOOOOOOOOOOOO\Iniciante\filterscripts\v. pwn(51) : warning 215: expression has no effect
and doesn't work...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)