#include <a_samp>#include <zcmd>new sstr[128];CMD:time(playerid){ for(new x = 1;x<24;x++) strcat(sstr,\"%d óra\\n\",x); ShowPlayerDialog(playerid, DIALOG_TIME, DIALOG_STYLE_LIST, \"{00ff00}Idõ kiválasztó\", sstr, \"Választ\", \"Kilép\"); return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == 1000 && response){SetPlayerTime(playerid,listitem+1);format(sstr,sizeof(sstr),\"Az idõd sikeresen meg lett változtatva {FFFFFF}%02d:00{00FF00}-ra/re.\", listitem+1);return SendClientMessage(playerid,0x00FF00FF,sstr);} return 1;}
Ez a különbség egy mérnök és egy matematikus között. A mérnök egy mûködõ megoldást akar, tök mindegy, hogy milyen áron. A matematikus egy mûvész, a legelegánsabb megoldást akarja megkeresni.Szerintem semmi baj nincsen azzal, ha egy kódot általánosítunk és hatékonyabbá teszünk. Ha például hozzá kéne adni perceket is, nem csak órákat, akkor nagy probléma lenne az eredeti scripttel, míg a \"lecsípett\" kódokkal csak egy konstanst kéne átírni.
Istenem, ez a legyen minél rövidebb mániátok.. Az elsõt még megértem, hiszen tényleg praktikusabb, és jó ha megmutatja, de utána miért kell ezt minden témában tovább fokozni, hogy én még több sort le tudok csípni belõle? :facepalm:Ennyi erõvel ezt a végtelenségig lehet fokozni: #include <a_samp>#include <zcmd>new sstr[128];CMD:time(playerid){ for(new x = 1;x<24;x++) strcat(sstr,\"%d óra\\n\",x); ShowPlayerDialog(playerid, DIALOG_TIME, DIALOG_STYLE_LIST, \"{00ff00}Idõ kiválasztó\", sstr, \"Választ\", \"Kilép\"); return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == 1000 && response){SetPlayerTime(playerid,listitem+1);format(sstr,sizeof(sstr),\"Az idõd sikeresen meg lett változtatva {FFFFFF}%02d:00{00FF00}-ra/re.\", listitem+1);return SendClientMessage(playerid,0x00FF00FF,sstr);} return 1;} Már az elsõ is tökéletes, az, hogy hol a response és egyéb hülyeségek nem számítanak..
for(new x = 1;x<24;x++) strcat(sstr,\"%d óra\\n\",x);
sstr[0] = EOS;