Need help with spawning a vehicle -
mickos - 03.06.2014
Thanks,
Kind regards,
Mickos
Re: Need help with spawning a vehicle -
SimonItaly - 03.06.2014
There are many unneded 'if' with the same clause repeated in this script, check out:
pawn Код:
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 3)
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
if(PlayerAcc[playerid][Admin] >= 3)
Then, you're probably with an higher admin level then 3, but this 'if' won't let you pass:
pawn Код:
if(PlayerAcc[playerid][Admin] == 3)
{
Correct it with '>= 3'. And also correct the rest of the code!
Re: Need help with spawning a vehicle -
Threshold - 03.06.2014
pawn Код:
CMD:rhino(playerid, params[])
{
if(!PlayerAcc[playerid][Log]) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] < 3) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
if(IsCaged[playerid] || IsJailed[playerid] || IsFreezed[playerid]) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
if(InMinigame[playerid]) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") &&
GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
if(PlayerCar[playerid] != INVALID_VEHICLE_ID)
{
DestroyVehicle(PlayerCar[playerid]);
PlayerCar[playerid] = INVALID_VEHICLE_ID;
}
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
else GetPlayerFacingAngle(playerid, angle);
LinkVehicleToInterior(PlayerCar[playerid] = CreateVehicle(432, x, y, z + 2, angle, -1, -1, 0), GetPlayerInterior(playerid));
SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, PlayerCar[playerid], 0); //PutPlayerInVehicle moet als laatste, want interior & virtual world moet nog updaten
SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
InMinigame[playerid] = 0;
IsCaged[playerid] = 0;
IsJailed[playerid] = 0;
IsFreezed[playerid] = 0;
return 1;
}
??
Re: Need help with spawning a vehicle -
KillerStrike23 - 03.06.2014
Sorry!
Re: Need help with spawning a vehicle -
jessejanssen - 03.06.2014
pawn Код:
CMD:rhino(playerid, params[])
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 3)
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
if(PlayerAcc[playerid][Admin] >= 3)
{
if(IsCaged[playerid] == 1 || IsJailed[playerid] == 1|| IsFreezed[playerid] == 1) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
if(InMinigame[playerid] == 1) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") && GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
if(GetVehicleModel(PlayerCar[playerid]) != 0) DestroyVehicle(PlayerCar[playerid]);
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
else GetPlayerFacingAngle(playerid, angle);
PlayerCar[playerid] = CreateVehicle(432, x, y, z+2.00, angle, -1, -1, 0);
LinkVehicleToInterior(PlayerCar[playerid], GetPlayerInterior(playerid));
SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, PlayerCar[playerid], 0);
SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
InMinigame[playerid] = 0;
IsCaged[playerid] = 0;
IsJailed[playerid] = 0;
}
}
IsFreezed[playerid] = 0;
return 1;
}
This was your original code a little more indented and all curley brackets added, now I am thinking that you're probably level 9999 Admin and that's the reason it won't do anything, I would use the code this way;
pawn Код:
CMD:rhino(playerid, params[])
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] >= 3)
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
if(IsCaged[playerid] == 1 || IsJailed[playerid] == 1|| IsFreezed[playerid] == 1) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
if(InMinigame[playerid] == 1) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") && GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
if(GetVehicleModel(PlayerCar[playerid]) != 0) DestroyVehicle(PlayerCar[playerid]);
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
else GetPlayerFacingAngle(playerid, angle);
PlayerCar[playerid] = CreateVehicle(432, x, y, z+2.00, angle, -1, -1, 0);
LinkVehicleToInterior(PlayerCar[playerid], GetPlayerInterior(playerid));
SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, PlayerCar[playerid], 0);
SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
InMinigame[playerid] = 0;
IsCaged[playerid] = 0;
IsJailed[playerid] = 0;
}
else return SendClientMessage(playerid, COLOR_RED, "** Only Administrator level 3 or higher can use this command!");
IsFreezed[playerid] = 0;
return 1;
}
This way it should ALWAYS give you a message back and I also removed the double Admin level check, I hope this works for you!
Best regards,
Jesse