#1

Well I'm trying to make siren command, but as always I have some problems ^^

OnGameModeInit..
pawn Код:
object[0] = CreateObject(18646 ,2487.3000488,-1667.8000488,444.2000150,272.6931152,338.1927490,68.9553223); // ZR350 Siren
    object[1] = CreateObject(18646 ,2487.3000488,-1667.8000488,444.2000130,272.6931152,338.1927490,68.9553223); // ZR350 Siren
    object[2] = CreateObject(19419 ,2488.6999512,-1668.0000000,407.5000000,87.9846191,209.7507324,239.7637939); // Sultan Siren
    object[3] = CreateObject(19419 ,2487.3000488,-1667.8000488,444.2000180,272.6931152,338.1927490,68.9553223); // Sultan Siren
   
    vehicle[0] = AddStaticVehicle(477,1601.6586,-1688.0300,5.6453,90.2666,0,0); // ZR350 1 - Black
    vehicle[1] = AddStaticVehicle(477,1601.6870,-1683.8280,5.6452,90.6299,0,0); // ZR350 2 - Black
    vehicle[2] = AddStaticVehicle(560,1585.2329,-1667.4893,5.5978,270.7180,0,0); // Sultan 1 - Black
    vehicle[3] = AddStaticVehicle(560,1585.2502,-1671.7484,5.5982,269.6357,0,0); // Sultan 2 - Black
and command:
pawn Код:
CMD:siren(playerid, params[])
{
    new vehicleid = GetVehicleModel(vehicleid);
    if(!IsPlayerCop(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "You are not authorized to use this command"); // only cops can use it.
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF0000AA, "You must be a driver to use this command"); // only cops can use it.
    if(GetVehicleModel(vehicleid) != vehicle[0] || vehicle[1] || vehicle[2] || vehicle[3]) return SendClientMessage(playerid, 0xFF0000AA, "You can't do that in this vehicle");
    if(GetVehicleModel(vehicleid) == vehicle[0])
    {
        AttachObjectToVehicle(object[0], vehicle[0], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | ZR350 1
    }
    if(GetVehicleModel(vehicleid) == vehicle[1])
    {
         AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | ZR350 2
    }
    if(GetVehicleModel(vehicleid) == vehicle[2])
    {
        AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | Sultan 1
    }
    if(GetVehicleModel(vehicleid) == vehicle[3])
    {
        AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | Sultan 2
    }
    return 1;
}
So the problem is when I write /siren in one of the vehicles[0,1,2,3] it sends me a msg "You can't do that in this vehicle" Where I failed? :P and thanks for help as always
Reply
#2

anyone?
Reply
#3

Your "if statements" are wrong
U are using "|" for "or" statement but nothing to check it with so it wil always assume is the "true"
U either put the "GetVehicleModel" after every separation or add it inside another brackets and do ur old code

Also ur "GetVegicleModule" needs to be getting their ID ! And the return if statement
Reply
#4

You should try this.
I've changed GetVehicleModel to GetPlayerVehicleID.

Код:
{
    new vehicleid = GetVehicleModel(vehicleid);
    if(!IsPlayerCop(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "You are not authorized to use this command"); // only cops can use it.
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF0000AA, "You must be a driver to use this command"); // only cops can use it.
    if(GetVehicleModel(vehicleid) != vehicle[0] || vehicle[1] || vehicle[2] || vehicle[3]) return SendClientMessage(playerid, 0xFF0000AA, "You can't do that in this vehicle");
    if(GetPlayerVehicleID(playerid) == vehicle[0])
    {
        AttachObjectToVehicle(object[0], vehicle[0], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | ZR350 1
    }
    if(GetPlayerVehicleID(playerid) == vehicle[1])
    {
         AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | ZR350 2
    }
    if(GetPlayerVehicleID(playerid) == vehicle[2])
    {
        AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | Sultan 1
    }
    if(GetPlayerVehicleID(playerid) == vehicle[3])
    {
        AttachObjectToVehicle(object[1], vehicle[1], -0.034999, 0.434999, 0.299999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | Sultan 2
    }
    return 1;
}
Reply
#5

I have made one before, and I can hand you a working one.
It's just in two pieces, but you can just chance that.



pawn Код:
command(sirenon, playerid, params[])
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Factions[Player[playerid][Faction]][fType] == 1  || Factions[Player[playerid][Faction]][fType] == 2)
    {
        if(FactionCar[vehicleid] == 1)
        {
            if(VehicleFaction[vehicleid] == Player[playerid][Faction])
            {
                if(Siren[vehicleid] == 1)return SendClientMessage(playerid, GREY, "This vehicle already has a siren!");
                Siren[vehicleid] = 1;
                SirenObject[vehicleid] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
                AttachObjectToVehicle(SirenObject[vehicleid], vehicleid, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
            }
            else return SendClientMessage(playerid, GREY, "This vehicle isn't a part of your faction.");
        }
        else return SendClientMessage(playerid, GREY, "This isn't a Faction vehicle.");
    }
    else return SendClientMessage(playerid, GREY, FactionOnly);
    return 1;
}

command(sirenoff, playerid, params[])
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Factions[Player[playerid][Faction]][fType] == 1 || Factions[Player[playerid][Faction]][fType] == 2)
    {
        if(FactionCar[vehicleid] == 1)
        {
            if(VehicleFaction[vehicleid] == Player[playerid][Faction])
            {
                if(Siren[vehicleid] == 0)return SendClientMessage(playerid, GREY, "This vehicle doesn't have a siren on it!");
                Siren[vehicleid] = 0;
                DestroyObject(SirenObject[vehicleid]);
            }
            else return SendClientMessage(playerid, GREY, "This vehicle isn't a part of your faction.");
        }
        else return SendClientMessage(playerid, GREY, "This isn't a Faction vehicle.");
    }
    else return SendClientMessage(playerid, GREY, FactionOnly);
    return 1;
}
Reply
#6

Well thank you I will try to figure out with your help
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)