Plate Number -
sscarface - 16.04.2017
PHP код:
CMD:numplate(playerid, params[])
{
new txt[16];
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF0000AA, "A driver needs the command for his usage to be!");
if(isnull(txt)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /numplate [new numplate]");
if(!(2 < strlen(txt) < 19)) return SendClientMessage(playerid, 0xFF0000AA, "Character one needs at least 3, at most 18 for the registration number to be.");
new vehicleid = GetPlayerVehicleID(playerid);
new Float:p[4];
GetVehiclePos(vehicleid, p[0], p[1], p[2]);
GetVehicleZAngle(vehicleid, p[3]);
SetVehicleNumberPlate(vehicleid, txt);
pData[playerid][NumPlate] = txt;
SetVehiclePos(vehicleid, p[0], p[1], p[2]);
SetVehicleZAngle(vehicleid, p[3]);
PutPlayerInVehicle(playerid, vehicleid, 0);
new string[144];
format(string, 144, "You rewrote the registration number of your vehicle successfully: '%s'", txt);
SendClientMessage(playerid, 0x33AA33FF, string);
new query[256];
mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `NumPlate`=%s WHERE `Username`='%s'",
pData[playerid][NumPlate], Name[playerid]);
mysql_tquery(mysql, query, "", "");
return 1;
}
Error:
: error 006: must be assigned to an array
PHP код:
pData[playerid][NumPlate] = txt;
Re: Plate Number -
DarkSkull - 16.04.2017
Use strcpy
Add this on top of the script.
PHP код:
#if !defined strcpy
#define strcpy(%0,%1) strcat((%0[0] = EOS, %0), %1)
#endif
PHP код:
pData[playerid][NumPlate] = txt;
Replace with:
PHP код:
strcpy(pData[playerid][NumPlate], txt, sizeof(txt));
Also, Are you sure pData[playerid][NumPlate] is a string?
Re: Plate Number -
GangstaSunny. - 16.04.2017
PHP код:
new numplate [10];
format(numplate,sizeof(numplate),"%s",txt);
pData[playerid][NumPlate] = numplate;
// Or maybe
format(pData[playerid][NumPlate],10,"%s",text);
Re: Plate Number -
sscarface - 16.04.2017
Alright thanks, But any idea whats wrong with this command cuz every time i use this command it respawn my vehicle but doesn't change my vehicle plate number.
PHP код:
CMD:numplate(playerid, params[])
{
new txt[16];
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF0000AA, "A driver needs the command for his usage to be!");
if(isnull(txt)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /numplate [new numplate]");
if(!(2 < strlen(txt) < 19)) return SendClientMessage(playerid, 0xFF0000AA, "Character one needs at least 3, at most 18 for the registration number to be.");
new vehicleid = GetPlayerVehicleID(playerid);
new Float:p[4];
GetVehiclePos(vehicleid, p[0], p[1], p[2]);
GetVehicleZAngle(vehicleid, p[3]);
SetVehicleNumberPlate(vehicleid, txt);
format(pData[playerid][NumPlate],16,"%s",txt);
SetVehicleToRespawn(vehicleid);
SetVehiclePos(vehicleid, p[0], p[1], p[2]);
SetVehicleZAngle(vehicleid, p[3]);
PutPlayerInVehicle(playerid, vehicleid, 0);
new string[144];
format(string, 144, "You rewrote the registration number of your vehicle successfully: '%s'", txt);
SendClientMessage(playerid, 0x33AA33FF, string);
new query[256];
mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `NumPlate`=%s WHERE `Username`='%s'",
pData[playerid][NumPlate], Name[playerid]);
mysql_tquery(mysql, query, "", "");
return 1;
}
EDIT:
So, i found out i am doing something wrong on mysql.
Is this wrong way to save num plate ?
PHP код:
new query[256];
mysql_format(mysql, query, sizeof(query), "UPDATE `accounts` SET `NumPlate`=%s WHERE `Username`='%s'",
pData[playerid][NumPlate], Name[playerid]);
mysql_tquery(mysql, query, "", "");
Re: Plate Number -
sscarface - 16.04.2017
I get this from mysql.log
PHP код:
[13:22:13] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE accounts SET `NumPlate`=123a WHERE `Username`='AleX'", callback: "(null)", format: "(null)"
[13:22:13] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[13:22:13] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column '123a' in 'field list'
[13:22:13] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
Re: Plate Number -
DarkSkull - 16.04.2017
You have to respawn the vehicle inorder the change of Number plate to take place.
https://sampwiki.blast.hk/wiki/SetVehicleNumberPlate