Guten
Ich hab ein kleines Problemchen bei meinen SMS System
Aus irgendeinen Grund wird mir immer die Selbe SMS angezeigt obwohl ich eine Andere auswähle
Auslesen lass ich die so:
case diaHandySMS:{
if(!response)return 1;
format(query,256,"SELECT `sms`.`betreff`,`sms`.`new`,(SELECT `user`.`username` FROM `user` WHERE `user`.`userid`=`sms`.`from`) as `sender` FROM `sms` WHERE `sms`.`to`=%d;",GetPVarInt(playerid,"userid"));
mysql_query(query,(-1), (0), sql);
mysql_store_result(sql);
new row = mysql_num_rows(sql);
if(row){
for(new i=0;i<row;i++){
new Name[MAX_PLAYER_NAME],head[31],idsss[2];
mysql_fetch_row_data(sql);
mysql_fetch_field("sender",Name,sql);
mysql_fetch_field("betreff",head,sql);
mysql_fetch_field("new",idsss,sql);
format(dialog, sizeof(dialog), "%s%s%s - %s\n",dialog,((strval(idsss)==0)?("{FFFFFF}"):("{008000}")),Name,head);
}
ShowPlayerDialog(playerid,diaSMSList,DIALOG_STYLE_LIST,"Handy SMS Speicher",dialog,"Lesen","Zurück");
}
else{
SendClientMessage(playerid,cYellow,"[HANDY] Du hast keine SMS im speicher!");
}
mysql_free_result(sql);
return 1;
}
Funktioniert Wunderbar
Der Code wo ich den dialog dann weiterführen lasse ist der:
case diaSMSList:{
if(!response)return 1;
readsms(playerid, listitem);
return 1;
}
Wird auch ausgeführt
Nun zu der Funktion die nicht so will wie so soll
readsms(playerid, ids){
new query[256],smsid[12];
format(query,256,"SELECT `sms`.`id`,`sms`.`message`,`sms`.`betreff`,`sms`.`from`, (SELECT `user`.`username` FROM `user` WHERE `user`.`userid` = `sms`.`from`) as `sender`, (SELECT FROM_UNIXTIME(`sms`.`time`, '%%d.%%m.%%Y %%T')) as `gesendet` FROM `sms` WHERE `sms`.`to` = %d;",GetPVarInt(playerid,"userid"));
mysql_query(query,(-1), (0), sql);
mysql_store_result(sql);
new row = mysql_num_rows(sql);
if(row){
for(new i=0;i<row;i++){
if(i != ids)continue;
new Name[MAX_PLAYER_NAME],id[30],betreffs[80],head[31],froms[12];
mysql_fetch_row_data(sql);
mysql_fetch_field("id",smsid,sql);
mysql_fetch_field("from",froms,sql);
mysql_fetch_field("sender",Name,sql);
mysql_fetch_field("betreff",head,sql);
mysql_fetch_field("message",betreffs,sql);
mysql_fetch_field("gesendet",id,sql);
format(query, sizeof(query), "%s schieb am %s Uhr:\n\n%s", Name, id, betreffs);
ShowPlayerDialog(playerid,diaSMSread,DIALOG_STYLE_MSGBOX,head,query,"Antworten","Zurück");
SetPVarInt(playerid,"SMSusr",strval(froms));
SetPVarString(playerid,"SMShead",head);
}
}
mysql_free_result(sql);
format(query,128,"UPDATE `sms` SET `new`=0 WHERE `id`=%d;",strval(smsid));
mysql_query(query,(-1), (0), sql);
return 1;
}
er liest immer die erste aus die er finden kann
gedebuggt habe ich es da kam als ids eine 1 hin jedoch zeigt er mir immer die sms 0 an.
kann jemand von euch einen Fehler finden?
Ich bin ratlos