What is wrong with it? -
Kostas' - 01.11.2011
I made a cmd which it appears the box you write anything you want for change the vehicle plate.
The box appears to write input, but after this, the vehicle doesn't respawn. So the plate doesn't change.
Is anything wrong
pawn Код:
CMD:vplate(playerid, params[])
{
new Float:x,Float:y,Float:z,Float:ang;
GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"ERROR: {FFFFFF}You're not in a vehicle!");
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT,"{FFFFFF}Vehicle Plate","{FFFF00}Input the vehicle plate you want below.","Yes","Cancel");
return 1;
}
pawn Код:
if(dialogid == 5) {
if(response) {
new Float:x,Float:y,Float:z,Float:ang;
SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0);
SetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
}
}
Re: What is wrong with it? -
IstuntmanI - 01.11.2011
You can't use GetPlayerVehicleID( ) after SetVehicleToRespawn( ) because the player isn't anymore in the vehicle.
Change
Код:
if(dialogid == 5) {
if(response) {
new Float:x,Float:y,Float:z,Float:ang;
SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0);
SetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
}
}
with this:
Код:
if(dialogid == 5)
{
if( !response )
return 1;
new Float:x, Float:y, Float:z, Float:ang, vehicleid;
vehicleid = GetPlayerVehicleID( playerid );
SetVehicleNumberPlate( vehicleid, inputtext );
GetVehiclePos( vehicleid, x, y, z );
GetVehicleZAngle( vehicleid, ang );
SetVehicleToRespawn( vehicleid );
SetVehiclePos( vehicleid, x, y, z );
PutPlayerInVehicle( playerid, vehicleid, 0 );
SetVehicleZAngle( vehicleid, ang );
}
Re: What is wrong with it? - [L3th4l] - 01.11.2011
Try this:
pawn Код:
CMD:vplate(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid,COLOR_RED,"ERROR: {FFFFFF}You're not in a vehicle!");
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT,"{FFFFFF}Vehicle Plate","{FFFF00}Input the vehicle plate you want below.","Yes","Cancel");
return 1;
}
if(dialogid == 5)
{
if(response)
{
new
Float: iPos[4], iVehicleID;
iVehicleID = GetPlayerVehicleID(playerid);
GetVehiclePos(iVehicleID, iPos[0], iPos[1], iPos[2]);
GetVehicleZAngle(iVehicleID, iPos[3]);
SetVehicleNumberPlate(iVehicleID, inputtext);
SetVehicleToRespawn(iVehicleID);
PutPlayerInVehicle(playerid, iVehicleID, 0);
SetVehiclePos(iVehicleID, iPos[0], iPos[1], iPos[2]);
SetVehicleZAngle(iVehicleID, iPos[3]);
}
}
Re: What is wrong with it? -
Kostas' - 01.11.2011
Thank you both!