#include <a_samp>
#pragma tabsize 0
#define COLOR_YELLOW 0xFFFF00AA
new gPlayerVehicle[MAX_PLAYERS];
new Float:carposition[4];
forward VehPlate(playerid); public VehPlate(playerid)
{
SetVehiclePos(gPlayerVehicle[playerid],carposition[0],carposition[1],carposition[2]);
SetVehicleZAngle(gPlayerVehicle[playerid],carposition[3]);
PutPlayerInVehicle(playerid,gPlayerVehicle[playerid],0);
TogglePlayerControllable(playerid,true);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256],idx;
cmd = strtok(cmdtext,idx);
//-----------------------commands----------------------
if(strcmp(cmd,"/nomer",true)==0)
{
new tmp[256];
new vehicleid = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) != 2)
{
SendClientMessage(playerid,COLOR_YELLOW," Вы должны быть в транспорте, чтобы сменить номер.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_YELLOW," Пиши: /nomer [ТЕКСТ НОМЕРА]");
SendClientMessage(playerid,COLOR_YELLOW," Подсказчик: Вместо пробела ставьте - (тире)");
return 1;
}
if(strlen(tmp)<0 || strlen(tmp)>8)
{
SendClientMessage(playerid,COLOR_YELLOW," На номере должно быть не менее 1 символа, и не более 8
return 1;
}
else
{
GetVehiclePos(vehicleid,carposition[0],carposition[1],carposition[2]);
GetVehicleZAngle(vehicleid,carposition[3]);
SetVehicleNumberPlate(vehicleid,tmp);
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,false);
SetVehicleToRespawn(vehicleid);
gPlayerVehicle[playerid] = vehicleid;
SetTimerEx("VehPlate",700,0,"i",playerid);
SendClientMessage(playerid,COLOR_YELLOW," Номера будут установлены через несколько секунд.");
return 1;
}
}
return 0;
}
вот, держи.