GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Zippanto - 2017. Június 19. - 12:16:54

Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 19. - 12:16:54
Sziasztok! Egy olyan problémám lenne, hogy a frakció betöltésekor nem történik semmi, logban azt írja hogy successful de nem lesz semmi.
 
A kód:
 


func LoadFractions()
{
    new nums, fields;
    cache_get_data(nums, fields);
    if(nums > 0)
    {
        for(new i = 0; i < nums; i++)
        {
            fInfo[fVan] = bool:cache_get_field_content_int(i,\"exist\");
            fInfo[fDBID] = cache_get_field_content_int(i,\"dbid\");
            cache_get_field_content(i,\"name\",fInfo[fName]);
            cache_get_field_content(i,\"short_name\",fInfo[fSName]);
            fInfo[fMaxMembers] = cache_get_field_content_int(i,\"maxmembers\");
            fInfo[fType] = cache_get_field_content_int(i,\"type\");
        }
    }
}
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 11:27:48
Valaki tudna segíteni?
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 11:38:21
Ennyi információból sokat nemtudunk meg, add meg azt a kódot, ahol lekérdezed a frakció betöltést, mert nyílván ottvan gebasz.
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 11:38:59
mysql_tquery(mysql_id, \"SELECT * FROM fractions\",     \"LoadFractions\",         \"\");
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 11:47:17
Sajnos nincs ötletem, mivel ez a két kód nem hibás. Próbáld meg frissíteni a plugint.
 
Az táblában vannak adatok? Illetve próbáld meg debuggoltatni.
 
Amikor a ciklus elindul, konzolba printf-eld ki, a sorszámot, ha kiirja, akkor a betöltéssel van a gond, ha nem akkor meg a lekdezéssel.
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 11:56:43
Pluginból R39-et használok.
 
Log:
 
[11:48:39] Frakció betöltve! DBID: 1
[11:48:40] Frakció betöltve! DBID: 2
 
MySQL tábla:
 
\"mysql_Tabla.jpg\"
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 11:58:36
Próbáld meg azt, hogy miután betölti, ki printelteted a változók értékét, és arról is küldj egy képet legyél szives.
 
Megpróbálok rájönni mibaja.
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:00:38
[11:54:13] Frakció betöltve! DBID: 1 | Név:  | Rövid név:
[11:54:13] Frakció betöltve! DBID: 2 | Név:  | Rövid név:
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:01:14
Az inteket is kérlek
 
 
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:04:09
[11:57:45] Frakció betöltve! DBID: 1 | Név:  | Rövid név:  | Maximum létszám: 20 | Típus: 1
[11:57:45] Frakció betöltve! DBID: 2 | Név:  | Rövid név:  | Maximum létszám: 20 | Típus: 2
 
 
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:08:02
Megvan a probléma. Az R39-es verzióban, a string betöltéshez meg kell adni a connectionHandle-t illetve a maximum hosszúságot.
 
Mint te is látod, az inteket betöltötte, tehát a stringgel van a baj.
 

cache_get_field_content(row, const field_name[], destination[], connectionHandle = 1, max_len = sizeof(destination))

 
Ez alapján a kódod:
 

cache_get_field_content(i,\"name\",fInfo[i][fName],mysql_id,sizeof(fInfo[i][fName]));
cache_get_field_content(i,\"short_name\",fInfo[i][fSName],mysql_id,sizeof(fInfo[i][fName]));

 
Amennyiben, a sizeof(változóneve) nem müködne, használj számokat pl.
 

cache_get_field_content(i,\"name\",fInfo[i][fName],mysql_id,64);
cache_get_field_content(i,\"short_name\",fInfo[i][fSName],mysql_id,16);

 
 
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:13:14
Igen, most lekéri viszont egy olyan probléma még feláll, hogy a hosszú magánhangzók helyett ?-t kapok. Ezt hogyan oldjam meg?
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:16:15
Ha Notepad-ban dolgozol, akkor a kódolást kell átállítani, ha nem akkor próbáld meg a fixchars.inc-et használni.
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:17:53
Pawno-ban csinálom a módot, és fixchars bent van
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:22:28
Akkor a MySQL adatbázisban a Charset-et állítsd be UTF-8-ra
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:24:07
utf8_hungarian_ci?
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:28:34
Igen!
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:29:50
Azon volt eddig is
Cím: MySQL frakció lekérés táblázatból
Írta: Naretev - 2017. Június 23. - 12:34:18
Akkor próbáld meg az UTF 8 Generalt
 
 
Cím: MySQL frakció lekérés táblázatból
Írta: Zippanto - 2017. Június 23. - 12:43:05
Igen most jó. Hát most nagyon sokat segítettél ebben. Igazából eddig mysql-t nem használtam szóval most ez a kis segítség jól jött!! :D
 
Köszi szépen mindent