enum smsinf{smsid,groupidvalaszt[50],kuldo,fogado,latta,utolso,fogadodel,kuldodel,uzenet[50],groupidsmsek[50],}new SMSinfo[128][smsinf]; // 128 sms (sor)while (mysql_fetch_row(line)) { i++; sscanf(line,\"p<|>dddddds[50]\",SMSinfo[smsid],SMSinfo[latta],SMSinfo[kuldodel],SMSinfo[fogadodel],SMSinfo[fogado],SMSinfo[kuldo],SMSinfo[uzenet]); if(SMSinfo[kuldo] == pInfo[playerid][telszam])
new counter;for(new i = 0; i < sizeof(sms); i++){ if(strlen(SMSInfo[playerid][uzenet]) > 0) { counter++; }}
new SMSCount[MAX_PLAYERS] = 0;
smsid,groupidvalaszt[50],kuldo,fogado,latta,utolso,fogadodel,kuldodel,uzenet[50],groupidsmsek[50],
login:enum smsinf{kuldo,fogado,kulodel,fogadodel,latta,utolso,groupid,}new SMSinfo[MAX_PLAYERS][500][smsinf];new i=-1; format(query, sizeof(query), \"SELECT latta,kuldotel,fogadotel,utolso,groupid FROM `sms` WHERE kuldotel =\'%d\' or fogadotel = \'%d\'\",pInfo[playerid][telszam],pInfo[playerid][telszam]); mysql_query(query); mysql_store_result(); while (mysql_fetch_row(line)) { i++; sscanf(line,\"p<|>dddds[50]\",SMSinfo[playerid][latta],SMSinfo[playerid][kuldo],SMSinfo[playerid][fogado],SMSinfo[playerid][utolso],SMSinfo[playerid][groupid]); }beszélgetõk :for (new i = 0; i < 500; i++) { if(SMSinfo[playerid][utolso] == 1) { if(SMSinfo[playerid][kuldo] == pInfo[playerid][telszam]) { format(string, sizeof string,\"%s %d \\n\",string,SMSinfo[playerid][fogado]); } else if(SMSinfo[playerid][fogado] == pInfo[playerid][telszam]) { if(SMSinfo[playerid][latta] == 1) { format(string, sizeof string,\"%s %d (új üzenet) \\n\",string,SMSinfo[playerid][kuldo]); }else{ format(string, sizeof string,\"%s %d\\n\",string,SMSinfo[playerid][kuldo]); } } } }rem a kódból rájösz hogy oldottam meg (itt csak a személyek telefonszáma jelenik meg 1 x szer)
sscanf(line,\"p<|>dddds[50]\",SMSinfo[playerid][latta],SMSinfo[playerid][kuldo],SMSinfo[playerid][fogado],SMSinfo[playerid][utolso],SMSinfo[playerid][groupid]);
for (new i = 0; i < 500; i++)
Info (Main text) 2048 [/quote]a dialogod caption szövege szerintem túl hosszú lesz bizonyos sms szám után és nem fogja megjeleníteni a dialogot...nekem van egy olyan parancs motorom amiben egyszerre használható 1 parancs \"/parancs [paraméter]\" és \"//parancs\" formában...a //-es megoldás dialogot hoz elõ, és így minden parancsnak van parancs és dialog verziója...és például van egy parancs: /valami [színid]Színek: 12 = Piros, 23 = Kék, 67 = Zöld[/quote]ez a szöveg jelenik meg a parancs résznél de dialognál a 3 szín (Piros,Kék,Zöld) egymás alatt jelenik meg mint kiválasztható opció...de az értékük 12 23 67 kell legyen ugyanúgy mert azt kezeli a parancs motor...erre csináltam egy \"fordító táblázatot\" ami annyit csinál, hogy a megadott lista indexek mit is jelentenek de persze ehhez teljesen saját motort építettem fel tehát teljesen kompatibilis...0. elem = 121. elem = 232. elem = 67tehát neked valami azonosítót kell hozzárendelned a listaelemekhez...azért kell azonosító mert ha van egy \"lyuk\" tehát valaki törölt egy SMS-t akkor ott nem hagyhatsz üres sort... new SMSinfo[MAX_PLAYERS][500][smsinf]; itt az 500 cella indexe megfelelõ lenne neked azonosításra... new DialogSMSID[MAX_PLAYERS][500]; amikor a dialog stringet rakod össze akkor megadod hogy az a sor melyik sms-hez tartozik...tehát azt is számon kell tartanod hogy hanyadik sort írod a stringbe... DialogSMSID[playerid][sor] = smssorszam; OnDialogResponse alatt már tudod melyik SMS-re nyomott rá (SMS azonosító): DialogSMSID[playerid][listitem] remélem nagyjából érthetõ volt
/valami [színid]Színek: 12 = Piros, 23 = Kék, 67 = Zöld[/quote]ez a szöveg jelenik meg a parancs résznél de dialognál a 3 szín (Piros,Kék,Zöld) egymás alatt jelenik meg mint kiválasztható opció...de az értékük 12 23 67 kell legyen ugyanúgy mert azt kezeli a parancs motor...erre csináltam egy \"fordító táblázatot\" ami annyit csinál, hogy a megadott lista indexek mit is jelentenek de persze ehhez teljesen saját motort építettem fel tehát teljesen kompatibilis...0. elem = 121. elem = 232. elem = 67tehát neked valami azonosítót kell hozzárendelned a listaelemekhez...azért kell azonosító mert ha van egy \"lyuk\" tehát valaki törölt egy SMS-t akkor ott nem hagyhatsz üres sort... new SMSinfo[MAX_PLAYERS][500][smsinf]; itt az 500 cella indexe megfelelõ lenne neked azonosításra... new DialogSMSID[MAX_PLAYERS][500]; amikor a dialog stringet rakod össze akkor megadod hogy az a sor melyik sms-hez tartozik...tehát azt is számon kell tartanod hogy hanyadik sort írod a stringbe... DialogSMSID[playerid][sor] = smssorszam; OnDialogResponse alatt már tudod melyik SMS-re nyomott rá (SMS azonosító): DialogSMSID[playerid][listitem] remélem nagyjából érthetõ volt
new SMSinfo[MAX_PLAYERS][500][smsinf];
new DialogSMSID[MAX_PLAYERS][500];
DialogSMSID[playerid][sor] = smssorszam;
DialogSMSID[playerid][listitem]
if(listitem != -1) { for (new i = 0; i < MAX_SMS; i++) { if(SMSinfo[playerid][listitem][valasztot_telefonszam] == SMSinfo[playerid][groupid]) { if(SMSinfo[playerid][kuldo] == pInfo[playerid][telszam]) { if(SMSinfo[playerid][kuldodel] == 1) { if(SMSinfo[playerid][latta] == 1) { format(string, sizeof string,\"%s(Nem látta még) én: %s\\n\",string,SMSinfo[playerid][uzenet]); }else{ format(string, sizeof string,\"%s én: %s\\n\",string,SMSinfo[playerid][uzenet]); } } }else if(SMSinfo[playerid][fogado] == pInfo[playerid][telszam]) { if(SMSinfo[playerid][fogadodel] == 1) { if(SMSinfo[playerid][latta] == 1) { format(string, sizeof string,\"%s (új)õ: %s \\n\",string,SMSinfo[playerid][uzenet]); format(query, sizeof(query), \"UPDATE `sms` SET latta=\'0\' WHERE id=\'%d\'\",SMSinfo[playerid][smsid]); mysql_query(query); }else{ format(string, sizeof string,\"%s õ: %s\\n\",string,SMSinfo[playerid][uzenet]); } } } if(SMSinfo[playerid][kuldo] == 0 || SMSinfo[playerid][fogado] == 0) { break; } } }