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?
|