06.02.2016, 19:08
I'm working on a dynamic job system. Everything works fine and loads fine, but somehow my /gotojob command fails me. Let's say I do /gotojob 1, which should teleport me to the job with the id 1. It doesn't. It teleports me to the job with the id 2 instead. I don't know why or what I did wrong.
But there is the command and the load function for the jobs from the database.
How can I fix this and what can I do better?
But there is the command and the load function for the jobs from the database.
Код:
CMD:gotojob(playerid, params[])
{
if(pInfo[playerid][pAdminLevel] > 0)
{
new aName[MAX_PLAYER_NAME], id;
GetPlayerName(playerid, aName, sizeof(aName));
if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_GREY, "Usage: {FFFFFF}/gotojob [jobid]");
new string[256], string2[256];
format(string2, sizeof(string2), "Admin %s has teleported to the job %d.", aName, id);
AdminChat(string2, COLOR_CHATADMIN);
format(string, sizeof(string), "You have teleported to the job ID: %d.", id);
SendClientMessage(playerid, COLOR_GREY, string);
SetPlayerPos(playerid, jInfo[id][jPosX], jInfo[id][jPosY], jInfo[id][jPosZ]);
}
else return SendClientMessage(playerid, COLOR_GREY, NotAdmin);
return 1;
}
Код:
public OnJobsLoad(jobid)
{
new string5[256], string3[256];
for(new i = 0; i < cache_num_rows(); i++)
{
jInfo[i][jID] = cache_get_field_content_int(i, "jobID");
cache_get_field_content(i,"jobName",jInfo[i][jName],mysql,256);
jInfo[i][jPickup] = cache_get_field_content_int(i, "jobPickup");
jInfo[i][jPosX] = cache_get_field_content_float(i, "jobPosX");
jInfo[i][jPosY] = cache_get_field_content_float(i, "jobPosY");
jInfo[i][jPosZ] = cache_get_field_content_float(i, "jobPosZ");
jInfo[i][jType] = cache_get_field_content_int(i, "jobType");
jCount++;
CreatePickup(jInfo[i][jPickup], 1, jInfo[i][jPosX],jInfo[i][jPosY],jInfo[i][jPosZ], 0);
format(string3, sizeof(string3), "{0095E6}Job ID: {FFFFFF}%d\n{0095E6}Job Name: {FFFFFF}%s\n{0095E6}Use /getjob", jInfo[i][jID], jInfo[i][jName]);
Create3DTextLabel(string3, 0x008080FF, jInfo[i][jPosX],jInfo[i][jPosY],jInfo[i][jPosZ], 8.0, 0, 0);
}
format(string5, sizeof(string5), " %d jobs loaded from database.", jCount);
print(string5);
return 1;
}
Код:
mysql_format(mysql, query2, sizeof(query2), "SELECT * FROM `jobs`"); mysql_tquery(mysql, query2, "OnJobsLoad");


