engine command
#1

Hey boys i made a engine command but i cant make it example if some one doesnt have the key he cant turn car engine on pls if some one know tell me
Here is the script

PHP код:
COMMAND:engine(playeridparams[])
{
    new 
xr GetPlayerVehicleID(playerid);
    new 
engine,lights,alarm,doors,bonnet,boot,objective;
    new 
sender[MAX_STRING];
    if(
PlayerTemp[playerid][hname]==1myStrcpy(sender,"Stranger");
    else 
myStrcpy(sender,NameEx(playerid));
    if(
IsPlayerInAnyVehicle(playerid) && Vehicles[xr][carmodel] == 481 && Vehicles[xr][carmodel] == 509) return SendClientError(playerid"You are not in any vehicle, or there is no engine implented.");
    {
        if(!
IsPlayerInAnyVehicle(playerid)) return SendClientError(playerid"You are not in any vehicle!");
        new 
State;
        
State GetPlayerState(playerid);
        if(
State!=PLAYER_STATE_DRIVER)    return SendClientMessage(playerid,COLOR_GREY,"You are not the driver!");
        new 
stringa[MAX_STRING];
        new 
vid GetPlayerVehicleID(playerid);
        
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
        if(
engine == 0)
        {
            
SetVehicleParamsEx(vid1lightsalarmdoorsbonnetbootobjective);
            
format(stringa,sizeof(stringa),"%s has turned the engine on.",sender);
            
NearMessage(playerid,stringa,COLOR_ME2);
            
PlayerPlaySound(playerid11330.00.00.0);
            
TogglePlayerControllable(playeridtrue);
        }
        else
        {
            
SetVehicleParamsEx(vid0lightsalarmdoorsbonnetbootobjective);
            
format(stringa,sizeof(stringa),"%s has turned the engine off.",sender);
            
NearMessage(playerid,stringa,COLOR_ME2);
            
TogglePlayerControllable(playeridtrue);
        }
    }
    return 
1;

Reply
#2

It does really depend on your vehicle system, You have to create a enum which belongs to vehicle owning, And you use it, You need to see some tutorials and make one special for your GameMode.
Reply
#3

any video or something for me pls man ?
Reply
#4

bump
Reply
#5

Is there any variable which shows that player has car key or not?
Reply
#6

Do you have a givekey command ?

Код:
COMMAND:engine(playerid, params[])
{
    new xr = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new sender[MAX_STRING];
    if(PlayerTemp[playerid][hname]==1) myStrcpy(sender,"Stranger");
    else myStrcpy(sender,NameEx(playerid));
    if(IsPlayerInAnyVehicle(playerid) && Vehicles[xr][carmodel] == 481 && Vehicles[xr][carmodel] == 509) return SendClientError(playerid, "You are not in any vehicle, or there is no engine implented.");
    {
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientError(playerid, "You are not in any vehicle!");
        new State;
        State = GetPlayerState(playerid);
        if(State!=PLAYER_STATE_DRIVER)    return SendClientMessage(playerid,COLOR_GREY,"You are not the driver!");
        new stringa[MAX_STRING];
        new vid = GetPlayerVehicleID(playerid);
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
		if (PlayerInfo[playerid][pCarKeys] == 0) { // Change pCarKeys if you have someting else
		SendClientMessage(playerid,COLOR_GREY,"   You can not start the car engine, if you dont have any car keys.");
		return 1;
		}
		if(engine == 0)
        {
            SetVehicleParamsEx(vid, 1, lights, alarm, doors, bonnet, boot, objective);
            format(stringa,sizeof(stringa),"%s has turned the engine on.",sender);
            NearMessage(playerid,stringa,COLOR_ME2);
            PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
            TogglePlayerControllable(playerid, true);
        }
        else
        {
            SetVehicleParamsEx(vid, 0, lights, alarm, doors, bonnet, boot, objective);
            format(stringa,sizeof(stringa),"%s has turned the engine off.",sender);
            NearMessage(playerid,stringa,COLOR_ME2);
            TogglePlayerControllable(playerid, true);
        }
    }
    return 1;
}
Reply
#7

yeah
Reply
#8

pawn Код:
enum pInfo
{
        Vehicle,
        VehicleModel
};
new PlayerInfo[MAX_PLAYERS];
// after loading player's stats
if(PlayerInfo[playerid][VehicleModel])
        PlayerInfo[playerid][Vehicle] = CreateVehicle(PlayerInfo[playerid][VehicleModel], x, y, z ...);
// command for turning the engine on/off
if(PlayerInfo[playerid][Vehicle] == GetPlayerVehicleID(playerid)) // if the player's vehicle id is equal to created vehicle
{
        SetVehicleParamsEx(....);
}
With that example player's saved vehicle model will be spawned when they join the server and you then you are saving the vehicle's ID so you can know if which vehicle is from which player. In this case you can change anything you want with vehicle's params.
Reply
#9

but can you create enum for engine ? i will give u the dupekey


Quote:

else if(!strcmp(tmp, "dupekey", true, 7))
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientError(playerid, "You are not in any vehicle!");
if(strcmp(PlayerName(playerid),Vehicles[GetPlayerVehicleID(playerid)][carowner],false))
return SendClientError(playerid, "You do not own this vehicle!");
if(!strlen(tmp2) || !IsNumeric(tmp2) || strlen(tmp2) > 5) return SCP(playerid, "dupekey [ PLAYERID ]");
new giveplayerid = strval(tmp2);
if(!IsPlayerConnected(giveplayerid)) return SendClientError(playerid, "Player not found!");
if(GetDistanceBetweenPlayers(playerid, giveplayerid) > 10)
return SendClientError(playerid, "He is too far away!");
dini_Set(CarFile(GetPlayerVehicleID(playerid)), "dupekey", PlayerName(giveplayerid));
myStrcpy(Vehicles[GetPlayerVehicleID(playerid)][dupekey], PlayerName(giveplayerid));
format(iStr, sizeof(iStr),"has given the keys of their %s to %s.", GetVehicleName(GetPlayerVehicleID(playerid)), MaskedName(giveplayerid));
Action(playerid, iStr);
format(iStr, sizeof(iStr), "6[VEHICLE] %s has given their %s dupe-key to %s.", PlayerName(playerid), GetVehicleName(GetPlayerVehicleID(playerid)), PlayerName(giveplayerid));
iEcho(iStr);
}

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)