Zaključano

Ucitavanje fakcija MySQL R41-4

Započeo ShomyTKD
pre 5 godina
431
pregleda
5
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
ShomyTKD
Wheel Man
pre 5 godina
Problem(error/warning): Pozdrav svima! Posle duže pauze sam rešio da nastavim rad na svom projektu, i upravo sam naleteo na ogroman problem 😢 Pokušavam da napravim dinamični Faction system koji će raditi sa MySQL R41-4. Ovo što vidite dole je ono što sam napravio, međutim server uopšte neće da se pokrene, dobijam grešku u MySQL logu: mysql_close: invalid connection handle '0'. Čim uklonim ovaj deo koda, sve radi kako treba.
U OnGameModeInit pozivam LoadFactions();
Dio skripte:
forward LoadFactions();
public LoadFactions() {
new query, rows;
mysql_format(Database, query, sizeof(query), "SELECT * FROM `FACTIONS`");
mysql_tquery(Database, query);
if(cache_get_row_count(rows) > 0)
for(new id = 0; id < rows; id++) {
cache_get_value_int(id, "ID", fInfo);
cache_get_value_name(id, "Name", fInfo, 32);
cache_get_value_name(id, "Rank1", fInfo, 32);
cache_get_value_name(id, "Rank2", fInfo, 32);
cache_get_value_name(id, "Rank3", fInfo, 32);
cache_get_value_name(id, "Rank4", fInfo, 32);
cache_get_value_name(id, "Rank5", fInfo, 32);
Total_Factions_Created++;
}
printf("%d factions have been loaded from the database.", Total_Factions_Created);
return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
 mysql_close: invalid connection handle '0'

Slika/video ingame problema(obavezno ako je ingame problem): N/A
Agency
Underboss
pre 5 godina
Imas li kreiranih factionsa u bazi?
ShomyTKD
Wheel Man
pre 5 godina
Imam. Ja sam retard.. Mlatim se 2 sata oko ovoga, a trebao sam samo da koristim query umesto tquery... I to mi je tek sad palo na pamet kad sam postavio ovu temu 😄

Interesuje me samo još jedno: Da li sam dobro odradio LoadFactions funkciju u smislu efikasnosti?
TarikBrt
Shot Caller
pre 5 godina
Bolje koristi mysql_tquery 🙂 I zašto query xd ?

forward LoadFactions();
public LoadFactions() {
new query;
mysql_format(Database, query, sizeof(query), "SELECT * FROM `FACTIONS`");
mysql_tquery(Database, query, "OnLoadFrac");
return 1;
}

forward OnLoadFrac();
public OnLoadFrac()
{
        new r;
        cache_get_row_count(r);
for(new id = 0; id < r; id++)
      {
cache_get_value_name_int(id, "ID", fInfo);
cache_get_value_name(id, "Name", fInfo, 32);
cache_get_value_name(id, "Rank1", fInfo, 32);
cache_get_value_name(id, "Rank2", fInfo, 32);
cache_get_value_name(id, "Rank3", fInfo, 32);
cache_get_value_name(id, "Rank4", fInfo, 32);
cache_get_value_name(id, "Rank5", fInfo, 32);
Total_Factions_Created++;
}
printf("%d factions have been loaded from the database.", Total_Factions_Created);
}
ShomyTKD
Wheel Man
pre 5 godina
Nemam pojma zašto query, video sam da tako ljudi stavljaju pa i ja, iskreno xD Jel 400 broj karaktera u "SELECT..."?

Ahaaa, radi i tako. Ja sam probao veoma sličnu stvar, samo što nisam imao dve funkcije kao što ti imaš, nego sam ovo iz funkcije LoadFactions() stavio u OnGameModeInit, i to nije radilo. Koji je razlog? Zbog čega je potrebno imati dve funkcije?

Hvala puno na pomoći 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava