Üzenetek megjelenítése

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
Az sem jó szerintem.

2237
Fórum Archívum (Témák/Fórumok) / Teszt
« Dátum: 2014. január 04. - 13:58:59 »
Teszt.

2238
Idézetet írta: Dfoglalo date=1388839118\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45646\" data-ipsquote-contentclass=\"forums_Topic
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 :D
 
Á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
Bemutatkozás / Quentin bemutatkozása :3
« Dátum: 2014. január 04. - 13:39:36 »
hm Pedrito. :s
Üdvözöllek! :D

2240

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
SA-MP: Szerverfejlesztés / Kerítés generálása
« 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
SA-MP: Szerverfejlesztés / Setrank (Rang neved elõtt chaten by KaRi.)
« 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
SA-MP: Szerverfejlesztés / Setrank (Rang neved elõtt chaten by KaRi.)
« 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
Segítségkérés / K+H gomb ézékelése
« 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
Segítségkérés / K+H gomb ézékelése
« 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
Beszélgetés / Te veszel valamit a rokonaidnak, és ha igen, akkor mit?
« Dátum: 2013. december 21. - 20:15:50 »
Apróságokat. Gyermekeknek csokit.. Felnõtteknek valami apróságot.. Na erre nem tudok tippet. :D

2247
Rendezvények / [HUN/ENG]V. Hungarian Xmas Party 2013.12.21 19:00
« 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
Szkript kérések / /adminok
« 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
Szkript kérések / /adminok
« 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
Szkript kérések / /adminok
« 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
  • [Admin];

       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
SimplePortal 2.3.7 © 2008-2024, SimplePortal