forward LoadUserSMS(playerid, phone);
public LoadUserSMS(playerid, phone)
{
new query[240];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `SMS` WHERE `Phone` = '%d'", phone);
mysql_tquery(handle, query, "OnSmsUserLoad", "id", playerid, telefono);
return 1;
}
forward OnSmsUserLoad(playerid, phone);
public OnSmsUserLoad(playerid, phone)
{
new total;
for(new i = 0; i < cache_num_rows(); i++)
{
if(total < 15)
{
pSMS[playerid][ID][i] = cache_get_field_content_int(i, "ID");
pSMS[playerid][Telep][i] = cache_get_field_content_int(i, "Phone");
pSMS[playerid][From][i] = cache_get_field_content_int(i, "From");
cache_get_field_content(i, "Message", pSMS[playerid][Message][i], .max_len = 128);
pSMS[playerid][Stats][i] = cache_get_field_content_int(i, "Stats");
total++;
if(pSMS[playerid][Stats][i] == 2)
{
SendClientMessage(playerid, -1, "You have unread messages.");
}
}
}
}
//Command viewmessages:
new sms[1024];
for(new i = 0; i < MAX_SMS; i++)
{
if(MyNumber[playerid] == pSMS[playerid][Phone][i])
{
new status[30];
status = "new";
if(pSMS[playerid][Stats][i] == 1) format(status, sizeof(status), "new");
format(sms, sizeof(sms), "%sFrom %i (%s)\n", sms, pSMS[playerid][From][i], status);
}
}
ShowPlayerDialog(playerid, DIALOG_PHONE_SMS, DIALOG_STYLE_LIST, "My messages", sms, "View", "Close");
// On dialog response
if(dialogid == DIALOG_PHONE_SMS)
{
if(!response) return 1;
new title[100];
new message[128];
ActionSMS[playerid] = pSMS[playerid][ID][listitem];
format(title, sizeof(title), "From #%i", pSMS[playerid][From][listitem]);
format(message, sizeof(message), "%s", pSMS[playerid][Message][listitem]);
new query[400];
mysql_format(handle, query, sizeof(query), "UPDATE `SMS` SET Stats= '1' WHERE ID = '%d'", ActionSMS[playerid]);
mysql_query(handle, query);
ShowPlayerDialog(playerid, DIALOG_PHONE_SMS2, DIALOG_STYLE_MSGBOX, title, message, "Delete", "Save");
return 1;
}
if(dialogid == DIALOG_PHONE_SMS2)
{
if(response)
{
new query[400];
mysql_format(handle, query, sizeof(query), "DELETE FROM `SMS` WHERE ID = '%d'", ActionSMS[playerid]);
mysql_query(handle, query);
ActionSMS[playerid] = 0;
ResetPhonesUser(playerid);
LoadUserPhones(playerid);
}
else
{
ActionSMS[playerid] = 0;
ResetPhonesUser(playerid);
LoadUserPhones(playerid);
return 1;
}
return 1;
}
#define MAX_SMS 15 // Max SMS x player
enum SMS
{
ID,
Telep,
From,
Message[128],
Stats
};
new pSMS[MAX_PLAYERS][SMS][MAX_SMS];
cache_get_field_content(i, "Message", pSMS[playerid][Message][i], .max_len = 128);
public OnSmsUserLoad(playerid, telefono)
{
new id, loaded;
while(loaded < cache_get_row_count())
{
id = cache_get_field_content_int(loaded, "ID");
pSMS[playerid][ID][loaded] = id;
pSMS[playerid][Telep][loaded] = cache_get_field_content_int(loaded, "Phone");
pSMS[playerid][From][loaded] = cache_get_field_content_int(loaded, "From");
cache_get_field_content(loaded, "Message", pSMS[playerid][Message][loaded]);
pSMS[playerid][Stats][loaded] = cache_get_field_content_int(loaded, "Stats");
SendClientMessage(playerid, -1, pSMS[playerid][Message][loaded]);
loaded++;
}
}
pSMS[playerid][Phone][1]; // Shows number OK pSMS[playerid][Message][1]; // Shows message incorrectly.
|
mysql_format(handle, query, sizeof(query), "SELECT * FROM `SMS` WHERE `Phone` = '%d'", phone); mysql_tquery(handle, query, "OnSmsUserLoad", "id", playerid, telefono) |
new pSMS[MAX_PLAYERS][SMS][MAX_SMS];
new pSMS[MAX_PLAYERS][MAX_SMS][SMS];
pSMS[playerid][Message][listitem]
pSMS[playerid][listitem][Message]
mysql_format(handle, query, sizeof(query), "SELECT * FROM `SMS` WHERE `Phone` = '%d'", phone); mysql_tquery(handle, query, "OnSmsUserLoad", "id", playerid, phone);
|
Replace:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
|
|
Thanks Konstantinos it worked, can you explain me why it happens?
|