Idea why this isnt working ? -
MCZOFT - 28.11.2014
Hello , im making an Uniq Trucking system for my server ,
this last i want to make if player typed cmd ( /startcdl) and selected the first Item ,
server will check his Truck if is a truck legal to let the cmd working ,
second : this where im having the problem - if he chosen the first Case he will need Oil Trailer to do it ,
if he clicks the second he will need artic to do it
if he clicks the third case he will need Soil artic to do it , but when im having the Oil Trailer and im clicking on the First Case he's is telling me " This mission Cant be done without Oil Trailer" even i have oil trailer attached ..
PHP код:
stock IsCDLTRUCK(carid)
{
new model = GetVehicleModel(carid);
if(model == 514 || model == 515 || model == 403)
{
return 1;
}
return 0;
}
stock IsCDLTrailer(carid)
{
new model = GetVehicleModel(carid);
if(model == 584 || model == 591 || model == 435 || model == 450)
{
return 1;
}
return 0;
}
stock IsCDLOil(carid)
{
new model = GetVehicleModel(carid);
if(model == 584)
{
return 1;
}
return 0;
}
stock IsCDLArtic(carid)
{
new model = GetVehicleModel(carid);
if(model == 591 || model == 435)
{
return 1;
}
return 0;
}
stock IsCDLSOLA(carid)
{
new model = GetVehicleModel(carid);
if(model == 450)
{
return 1;
}
return 0;
}
PHP код:
YCMD:startcdl(playerid, params[], help)
{
if(help) return SCM(playerid, COLOR_GREY, "Not supported");
new carid = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pCDLic] == 1)
{
if(IsCDLTRUCK(carid))
{
PAP[playerid] = 1;
ShowPlayerDialog(playerid, 9111, DIALOG_STYLE_LIST, "Choose any of those locations", "Load Fuel \nLoad Boxes \nLoad Traps", "Ok", "Cancel");
return 1;
}
else
{
SCM(playerid, COLOR_GREY, "*You cant be Runningthis without your Own able Truck");
return 1;
}
}
return 1;
}
PHP код:
if(dialogid == 9111)
{
if(!response) return 0;
if(response)
{
new carid = GetPlayerVehicleID(playerid);
new vehicleid = GetPlayerVehicleID(playerid);
if(listitem == 0)
{
if(IsCDLTRUCK(carid) && IsTrailerAttachedToVehicle(vehicleid))
{
if(GetVehicleTrailer(carid) != IsCDLOil(carid)) return SCM(playerid, COLOR_RED, "You need Oil Trailer to Do this mission");
PAP[playerid] = 1;
SetPlayerCheckpoint(playerid, -269.1287,2610.6057,63.2069, 3.0);
SendClientMessage(playerid, 0xFFFFFFFF, "You started your first mission. Please follow the checkpoints");
return 1;
}
}
if(listitem == 1)
{
if(IsCDLTRUCK(carid) && IsTrailerAttachedToVehicle(vehicleid))
{
if(GetVehicleTrailer(carid) != IsCDLArtic(carid)) return SCM(playerid, COLOR_RED, "You need ARtic Trailer to do this mission");
PAP[playerid] = 3;
SetPlayerCheckpoint(playerid, -1051.4005,-655.8729,31.7361, 3.0);
SendClientMessage(playerid, 0xFFFFFFFF, "You started your first mission. Please follow the checkpoints");
return 1;
}
}
if(listitem == 2)
{
if(IsCDLTRUCK(carid) && IsTrailerAttachedToVehicle(vehicleid))
{
if(GetVehicleTrailer(carid) != IsCDLSOLA(carid)) return SCM(playerid, COLOR_RED, "You need A Soil Artic to do this mission");
PAP[playerid] = 5;
SetPlayerCheckpoint(playerid, -2286.7529,2282.9390,5.9015, 3.0);
SendClientMessage(playerid, 0xFFFFFFFF, "You started your first mission. Please follow the checkpoints");
return 1;
}
}
}
}
Re : Idea why this isnt working ? -
MCZOFT - 29.11.2014
24h BUMP ...
Re: Idea why this isnt working ? -
CutX - 29.11.2014
that line
pawn Код:
if(GetVehicleTrailer(carid) != IsCDLOil(carid))
it's the same as sayin
pawn Код:
if(34 != 1)//34 = some vehicle id of the trailer, 1 returned by IsCDLOil
this control structure equals "true" so you will always get the message, doesn't matter what you do.
(oh well, if the trailer has id 1... then.. xD joke aside.)
the correct way to check the trailer would be
pawn Код:
if(!IsCDLOil(carid))//show message if returned 0 and do stuff if not 0
+ some advice. you don't really need 2 variables
pawn Код:
new carid = GetPlayerVehicleID(playerid);
new vehicleid = GetPlayerVehicleID(playerid);
one's quiet enough
overall, its okey i guess. Should work out for you.
ya, just change these 3 control structures
Re : Idea why this isnt working ? -
MCZOFT - 29.11.2014
Thanks for your Answer ,but the problem still there ..
PHP код:
if(!IsCDLOil(carid)) return SCM(playerid, COLOR_RED, "You need Oil Trailer to Do this mission");
he's still telling me You need Oil Trailer even i have the Trailer Attached ..
Re: Idea why this isnt working ? -
PT - 29.11.2014
u need:
https://sampwiki.blast.hk/wiki/IsTrailerAttachedToVehicle
https://sampwiki.blast.hk/wiki/GetVehicleTrailer
Re : Idea why this isnt working ? -
MCZOFT - 29.11.2014
still nothing , i need just one way to let the server knows that the Trailer attached to my vehicle id , is the One from the Stock , but how .. i dont have alot of experience in that trailer systems ..
Re : Idea why this isnt working ? -
MCZOFT - 30.11.2014
Done , i solved it close this topic please