Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - Pedró
Oldalak: 1 ... 148 149 [150] 151 152 ... 220
2236
« Dátum: 2014. január 04. - 14:10:05 »
Az sem jó szerintem.
2237
« Dátum: 2014. január 04. - 13:58:59 »
Teszt.
2238
« Dátum: 2014. január 04. - 13:51:49 »
Dehogyis nincs értelme. Az egy dolog, hogy te nem tudod értelmezni. A lekérdezéseket pedig átalakítja magának. Az sem biztos, hogy így kell lekérdezni pawn-ban, már rég foglalkoztam vele, mostanában csak PHP-ban volt szükségem MySQL-ra
Állj. Honnan veszed, hogy én nem tudom értelmezni, és mire fel vagy ebben olyan biztos? Elõszöris ha már annyira biztos vagy a kódodba, közlök veled pár hibát.. 1.: Mi a francnak kérdezed le az elsõ sornak a értékeit, azelõtt, hogy az összeset lekéred ciklusba? mysql_fetch_row(mysql_line); while(mysql_fetch_row(mysql_line)) // Megnézzük az összes találatot
Helyes: while(mysql_fetch_row(mysql_line)) 2.: Minek kell formázni a karakterláncot? Nincs szükség rá.. format(mysql_string, sizeof(mysql_string), \"SELECT Teloszam FROM Tabla\"); // Lekérdezés formázása mysql_query(mysql_string); // Lekérdezés Helyes: mysql_query(\"SELECT Teloszam FROM Tabla\"); // Lekérdezés
Szerintem egy jó megoldás: new szam; mysql_query(\"SELECT FLOOR(RAND() * 9999) AS random_num FROM Tabla WHERE \'random_num\' NOT IN (SELECT Teloszam FROM Tabla) LIMIT 1\"); mysql_store_result(); szam = mysql_fetch_int(); mysql_free_result(); printf(\"A telefonszám: %i\"); Az SQL kódot írta: Tushar, átalakította: Pedró. (nos abban nem vagyok biztos, hogy 4 számjegyû lesz.)
2239
« Dátum: 2014. január 04. - 13:39:36 »
hm Pedrito. :s Üdvözöllek!
2240
« Dátum: 2014. január 04. - 13:35:23 »
Ezt még egyszer PHP-ban csináltam, amikor ki kellett írni néhány random számot, melyek nem lehettek ugyanazok. Átírtam pawn nyelvre, na meg a te kérésedhez illõre, remélem mûködni fog, és hasznát veszed a dolgoknak. Ha átírás közben elírtam valamit, ez van, sajnálom, de a lényegét érteni fogod a kódnak, és sikerül majd megoldanod a problémádat.
new Szam = // Itt csináld meg a random 4 jegyû számot! format(mysql_string, sizeof(mysql_string), \"SELECT Teloszam FROM Tabla\"); // Lekérdezés formázása mysql_query(mysql_string); // Lekérdezés mysql_store_result(); mysql_fetch_row(mysql_line); while(mysql_fetch_row(mysql_line)) // Megnézzük az összes találatot { if(Szam == strval(mysql_line)) // Ha a szám nem egyezik meg vele, nem történik semmi, azonban ha igen... { new i, Joszam; for(i = 0; Joszam != 1; i++) // ...elindul ez a for ciklus. Addig ismétlõdik, ameddig a Joszam értéke 1 nem lesz { Szam = // Ide írd le megint azt, amivel megcsinálod a random 4 jegyû számot! Ezzel egy új számot kérve. if(Szam != strval(mysql_line)) // Amennyiben nem egyezik meg a Szam, és a találat értéke, a Joszam értéke 1 lesz, így nem folytatódik tovább a ciklus a végtelenségig, ismét új számot kérve { Joszam = 1; } } } } mysql_free_result(); // Felszabadítod az erõforrást // Itt már a Szam értékbe biztosan nem fog megegyezni más telefonszámok értékével. Ha egyszerre több játékos használja a dolgot, érdemes rá tenni egy playerid-s tömböt. // Frissíted az adatbázist, vagy amit akarsz csinálni, például: format(mysql_string, sizeof(mysql_string), \"UPDATE Tabla SET Teloszam = \'%d\' WHERE Nev = \'%s\'\", Szam, Nev(playerid)); mysql_query(mysql_string);
[/quote] Ennek semmi értelme. Egyébként azt honnan veszed, hogy milyen típusú MySQL plugint használ?
Dupla hozzászólás automatikusan összefûzve. ( 2014. január 04. - 13:36:21 )
tudvari, elkészítetted már a MySQL tábláját a telefonrendszernek, amelyben tárolni fogod a telefonokat / telefonszámokat?
2241
« Dátum: 2014. január 04. - 13:31:10 »
Szerintem véletlenül a kódban hagytad a teszteléshez használt debug-szerû üzeneteket. Egyébként tetszik az ötlet. Grat.
2242
« Dátum: 2014. január 03. - 14:02:05 »
Írtam én is egy Dini-s változatot! #define FILTERSCRIPT #include #include #include #include public OnFilterScriptInit() { if(dini_Exists(\"Ranks.txt\")) dini_Create(\"Ranks.txt\"); return 1; } public OnPlayerConnect(playerid) { if(!dini_Isset(\"Ranks.txt\", pName(playerid))) dini_Set(\"Ranks.txt\", pName(playerid), \"N/A\"); SetPVarString(playerid, \"rank\", dini_Get(\"Ranks.txt\", pName(playerid))); return 1; } public OnPlayerDisconnect(playerid, reason) { if(dini_Isset(\"Ranks.txt\", pName(playerid))) { new rank[32]; GetPVarString(playerid, \"rank\", rank, sizeof(rank)); dini_Set(\"Ranks.txt\", pName(playerid), rank); }else dini_Set(\"Ranks.txt\", pName(playerid), \"N/A\"); return 1; } public OnPlayerText(playerid, text[]) { new string[144], rank[32]; GetPVarString(playerid, \"rank\", rank, sizeof(rank)); if(!strcmp(rank, \"N/A\")) { format(string, sizeof(string), \"{%06x}%s(%i){FFFFFF}: %s\", GetPlayerColor(playerid) >>> 8, pName(playerid), playerid, text); }else{ format(string, sizeof(string), \"{80FF80}[%s] {%06x}%s(%i){FFFFFF}: %s\", rank, GetPlayerColor(playerid) >>> 8, pName(playerid), playerid, text); } SendClientMessageToAll(-1, string); return 0; } CMD:setrank(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Hiba, csak RCON adminok használhatáj ezt a parancsot!\"); new id, rank[32], string[144]; if(sscanf(params, \"us[32]\", id, rank)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /setrank [playerid/név] [rank (off=kikapcsolás)]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, \"Hibás játékos azonosítót adtál meg!\"); if(!strcmp(rank, \"off\")) { format(rank, 32, \"N/A\"); format(string, sizeof(string), \"Egy adminisztrátor eltávolította a rankodat!\"); }else{ format(string, sizeof(string), \"Egy adminisztrátor módosította a rankodat! (%s)\", rank); } SendClientMessage(id, -1, string); format(string, sizeof(string), \"Sikeresen módosítottad %s rankját!\", pName(id)); SendClientMessage(playerid, -1, string); SetPVarString(id, \"rank\", rank); return 1; } stock pName(playerid) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, MAX_PLAYER_NAME); return playername; } Ha gondolod nézd át, hátha hasznodra válik! Lényegében csak egy Ranks.txt fájlt használ. Tartalma így nézhet ki: Pedro.=TestRang KaRi.=OWNER Bendi.=colorfull
2243
« Dátum: 2014. január 03. - 13:44:32 »
Elég lenne ha a rank alapjáraton N/A lenne, és nem kellene Toggle változó stb stb.. Ha a rank N/A lenne, ki lenne kapcsolva, és kész. Mellesleg felesleges a dini! Apropó: new id, string[128], rk[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0x00fffbAA, \"[Hiba]Nem vagy RCON\");
Itt minek hozod létre elõsször a változót, és miért utána nézed meg, hogy rcon-e? Ha nem rcon, akkor tulajdonképpen feleslegesen hoztad létre a 3 változót. :/ Érdekesség.. Érdekes módon OnPlayerDisconnect alatt le tudod ellenõriztetni, hogy létezik a játékos fájlja.. if(!dini_Exists(File(playerid))) dini_Create(File(playerid)); Viszont OnPlayerConnect alatt nem.. Nem tudom mennyire érdemes olyan adatot kiolvasni, amely nem létezik!
2244
« Dátum: 2013. december 31. - 21:14:17 »
Csak a GetPlayerKeys pluginnal tudod érzékeltetni, de az ha jól tudom, nem úgy mûködik, hogy játékosonként letudod kérni a gomdlenyomásokat, hanem akárki megnyomja, érzékel, tehát playerid-t, enm tudsz megálapítani. Sztem ez felejtõ probléma [/quote] Elég hülyén fogalmaztam. Tehát vannak bizonyos billentyûgombok, amiket le lehet kérni az alap függvény, callback készlet segítségével. (http://wiki.sa-mp.com/wiki/Keys) Viszont ezek a billentyûzet-beállításoktól függenek. (Például a \"duda-gomb\" nem biztos, hogy mindenkinek a H, vagy a CAPS LOCK billentyûzetgomb lesz. Viszont már létezik GetPlayerKeys plugin, amivel minden billentyûzet-gomblenyomást kezelni tudsz, viszont jelenlegi állapotában a plugin nem minden játékosra igazodik, hanem globálisan, tehát akárki megnyomja például a K betût, érzékeli, de nem tudod megállapítani, hogy ki nyomta meg. Tehát a kérdésedre válaszolva röviden: A H gombot le lehet kérni, abban az esetben, ha például erre a gombra be van állítva a duda, KEY_CROUCH-al azonosítva, viszont a K betût nem tudod lekérni.
2245
« Dátum: 2013. december 31. - 15:14:15 »
Csak a GetPlayerKeys pluginnal tudod érzékeltetni, de az ha jól tudom, nem úgy mûködik, hogy játékosonként letudod kérni a gomdlenyomásokat, hanem akárki megnyomja, érzékel, tehát playerid-t, enm tudsz megálapítani. Sztem ez felejtõ probléma
2246
« Dátum: 2013. december 21. - 20:15:50 »
Apróságokat. Gyermekeknek csokit.. Felnõtteknek valami apróságot.. Na erre nem tudok tippet.
2247
« Dátum: 2013. december 21. - 20:13:43 »
Nekem nagyon tetszett az est! Minden tökéletes volt, a szerver scriptileg megfelelt szerintem mindenkinek, a közösség is pont jó volt! Szinte tökéletesen alakult az este.. Kár, hogy hamar vége lett.. Már alig várom a következõt. ezkamuvoltamugy
2248
« Dátum: 2013. december 21. - 20:10:18 »
OFF: Éreztem, hogy nem kéne írnom hajnali 2-kor, mert akkor már semmit sem tudok teljesen jól, csak aludni :confused: De azért nem árt, ha megadja, hogy pl. > 1, hátha csak 2-es admintól van a parancs. [/quote] Mellesleg a != 0-s megoldásod sem jó. -1-es admint is jelezzen?
2249
« Dátum: 2013. december 21. - 08:16:54 »
Te buta vagy. Az if(level) egyenlo ezzel: if(level > 0). Ha nem erted az if funkcio lenyeget, ne okoskodj.
2250
« Dátum: 2013. december 20. - 21:12:15 »
Tessék:
CMD:adminok(playerid) { new string[256], name[MAX_PLAYER_NAME]; for(new x; x < MAX_PLAYERS; x++) { if(pInfo[playerid][Admin] != 0) { GetPlayerName(x, name, sizeof(name)); format(string, sizeof(string), \"%s%s(%i)\\n\", string, name, x); } } if(!strlen(string)) SendClientMessage(playerid, 0xFF0000FF, \"Jelenleg nincs egyetlen online admin sem!\"); else ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok..\", string, \"Bezárás\", \"\"); return 1; }
[/quote] Ez így nem az igazi. Mellesleg ha már az én kódomat másoltad be, odaírhattad volna, hogy bõvítetted az enyémet.. Mellesleg még hibás is.. (pInfo[playerid][Admin], x -t kellene playerid helyett.)
CMD:adminok(playerid) { new string[256], name[MAX_PLAYER_NAME]; for(new x, level; x < MAX_PLAYERS; x++) { level = pInfo if(level) { GetPlayerName(x, name, sizeof(name)); format(string, sizeof(string), \"%s%s(%i) - Szint: %i\\n\", string, name, x, level); } } if(!strlen(string)) SendClientMessage(playerid, 0xFF0000FF, \"Jelenleg nincs egyetlen online admin sem!\"); else ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok..\", string, \"Bezárás\", \"\"); return 1; }
Oldalak: 1 ... 148 149 [150] 151 152 ... 220
|