Siren -
Lajko1 - 12.10.2013
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
Re: Siren -
Lajko1 - 13.10.2013
anyone?
Re: Siren -
park4bmx - 13.10.2013
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
Re: Siren -
matyi10012 - 13.10.2013
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;
}
Re: Siren -
Pingperfect - 13.10.2013
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;
}
Re: Siren -
Lajko1 - 13.10.2013
Well thank you I will try to figure out with your help