Szerző Téma: AddStaticVehicleEx nem mûködik  (Megtekintve 1116 alkalommal)

AddStaticVehicleEx nem mûködik
« Dátum: 2014. október 13. - 17:21:11 »
0 Show voters
Sziasztok, egy kis segítséget szeretnék kérni.
Így töltöm be a jármûveket:
bekérem az adatokat az adatbázisból és
 
public MySQL_Vehicle_Load(i)
{
    new query[300];
      mysql_format(mysql_connection, query, sizeof(query), \"SELECT * FROM vehicles WHERE vehid = \'%d\'\", i);
mysql_query(mysql_connection, query);
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
    vInfo[vehid] = cache_get_row_int(0,0);
vInfo[modelid] = cache_get_row_int(0,1);
vInfo[vcolor1] = cache_get_row_int(0,2);
vInfo[vcolor2] = cache_get_row_int(0,3);
vInfo[vprice] = cache_get_row_int(0,4);
vInfo[beowner] = cache_get_row_int(0,5);
cache_get_row(0,6, vInfo[owner]);
vInfo[door] = cache_get_row_int(0,7);
vInfo[posx] = cache_get_row_float(0,8);
vInfo[posy] = cache_get_row_float(0,9);
vInfo[posz] = cache_get_row_float(0,10);
vInfo[posa] = cache_get_row_float(0,11);
CreateVehicle(vInfo[modelid], vInfo[posx], vInfo[posy], vInfo[posz], vInfo[posa], vInfo[vcolor1], vInfo[vcolor2], -1);
SetVehicleNumberPlate(i, vInfo[vehid]);
SetVehicleParamsEx(i, 1, 0, 0, vInfo[door], 0, 0, 0);
}
else
{
    format(query, sizeof(query), \"INSERT INTO vehicles (vehid, modelid, vcolor1, vcolor2, vprice, beowner, owner, door, posx, posy, posz, posa) VALUES (\'%d\', \'441\', \'0\', \'0\', \'0\', \'0\', \'\', \'0\', \'0.0\', \'0.0\', \'10.0\', \'0.0\')\", i);
mysql_query(mysql_connection, query);
MySQL_Vehicle_Load(i);
}
return 1;
}

 
Ez mûködik rendesen, be is tölti az autót.
Ezt a függvényt az OnGameModeInit alatt futtatom le egy ciklussal, így betölt 20 db autót.
 
for(new i = 1; i <= 20; i++)
{
        MySQL_Vehicle_Load(i);
}

 
Utána berakok simán egy jármûvet így:
 
AddStaticVehicleEx(469, 2405.5474, 91.5263, 26.4872, 178.7658, 1, 3, -1);

 
Az autókat az adatbázisból betölti rendesen, viszont utána az AddStaticVehicle-t nem tölti be valamiért.
Ha elõre rakom és utána futtatom le a betöltést, akkor mûködik, csak nekem mindenképpen az adatbázisból betöltés után kellene raknom az AddStaticVehicle-s autókat.
Ha bármit rakok a ciklust után, az mintha nem is lenne.
Valaki tudja miért van ez?
[gmod]Javítottam helyetted a

taget

tagre![/gmod]
« Utoljára szerkesztve: 2014. október 13. - 23:21:11 írta Dfoglalo »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
AddStaticVehicleEx nem mûködik
« Válasz #1 Dátum: 2014. október 13. - 17:34:17 »
0 Show voters
rakd a ciklust az ongamemodeinit legvégére... ::|

AddStaticVehicleEx nem mûködik
« Válasz #2 Dátum: 2014. október 13. - 19:52:54 »
0 Show voters
Nekem úgy kellene, hogy az elsõ 20 id-t az adatbázisos kocsik kapják meg, utána jöjjenek, amikor simán berakok. Ezért ez nem jó :/

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
AddStaticVehicleEx nem mûködik
« Válasz #3 Dátum: 2014. október 13. - 21:55:16 »
0 Show voters
AddStaticVehicleEx(469, 2405.5474, 91.5263, 26.4872, 178.7658, 1, 3, 0);

 
Próbáld meg így talán segít, de ha nem akkor a AddStaticVehicleEx-et hanyagold és használ helyette AddStaticVehicle-t!
[gmod]Javítottam helyetted a

taget

tagre![/gmod]
« Utoljára szerkesztve: 2014. október 13. - 23:20:43 írta Dfoglalo »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
AddStaticVehicleEx nem mûködik
« Válasz #4 Dátum: 2014. október 14. - 06:19:10 »
0 Show voters
Az OnGameModeInit alatt még mi található ezen a betöltésen kívül? Esetleg más betöltés amit még hamarább betöltesz?  ::|

AddStaticVehicleEx nem mûködik
« Válasz #5 Dátum: 2014. október 14. - 10:21:45 »
0 Show voters
Így van minden pontosan:
 
public OnGameModeInit()
{
UsePlayerPedAnims();
SetGameModeText(\"JT-RP v1.0\");
mysql_log(LOG_ALL, LOG_TYPE_HTML);
ConnectMySQL();
if(mysql_errno(mysql_connection) != 0) printf(\"MySQL hibakód: %d\", mysql_errno(mysql_connection));
if(mysql_errno(mysql_login_connection) != 0) printf(\"MySQL hibakód: %d\", mysql_errno(mysql_login_connection));
//Betöltés==================================================================
for(new i = 1; i <= VEHICLES; i++)
{
        MySQL_Vehicle_Load(i);
}
print(\"KÉSZ\");
//SpawnPointok==============================================================
AddPlayerClass(0,2414.6580,92.3942,26.4706,90.0,0,0,0,0,0,0);
//Jármûvek==================================================================
AddStaticVehicleEx(469, 2405.5474, 91.5263, 26.4872, 178.7658, 1, 3, -1);
//3D textek=================================================================
Create3DTextLabel(\"[2 ajtós]\", COLOR_SYSTEM, 2417.5493, 87.7860, 26.4707, 20.0,0);
Create3DTextLabel(\"[4 ajtós]\", COLOR_SYSTEM, 2420.6138, 90.5424, 26.4766, 20.0,0);
Create3DTextLabel(\"[Terepjárók]\", COLOR_SYSTEM, 2419.1887, 94.7686, 26.4766, 20.0,0);
Create3DTextLabel(\"[Motorok]\", COLOR_SYSTEM, 2412.3584, 87.3973, 26.4732, 20.0,0);
Create3DTextLabel(\"[Helikopterek]\", COLOR_SYSTEM, 2414.6580, 92.3942, 26.4706, 20.0,0);
Create3DTextLabel(\"[sportkocsik]\", COLOR_SYSTEM, 2415.6890, 96.9316, 26.4766, 20.0,0);
    for(new i = 0; i <= PLAYERS; i++)
{
    //text              1IRANY:csökk:bal növ:jobb   2IRANY: csökk: fel növ:le
jarmumutat = TextDrawCreate(380.0, 200.0, \"_\");
TextDrawFont(jarmumutat, TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(jarmumutat, 1);
TextDrawBoxColor(jarmumutat, 0x000000FF);
TextDrawTextSize(jarmumutat, 40.0, 40.0);
TextDrawSetPreviewModel(jarmumutat, 441);
TextDrawSetPreviewVehCol(jarmumutat, 1, 1);
TextDrawSetPreviewRot(jarmumutat, -50.0, 0.0, -90.0, 1.0);
}
return 1;
}

 

public MySQL_Vehicle_Load(i)
{
    new query[300];
      format(query, sizeof(query), \"SELECT * FROM `vehicles` WHERE `vehid` = \'%d\'\", i);
mysql_query(mysql_connection, query);
new rows = cache_get_row_count();
if(rows == 1)
{
    vInfo[vehid] = cache_get_row_int(0,0);
vInfo[modelid] = cache_get_row_int(0,1);
vInfo[vcolor1] = cache_get_row_int(0,2);
vInfo[vcolor2] = cache_get_row_int(0,3);
vInfo[vprice] = cache_get_row_int(0,4);
vInfo[beowner] = cache_get_row_int(0,5);
cache_get_row(0,6, vInfo[owner]);
vInfo[door] = cache_get_row_int(0,7);
vInfo[posx] = cache_get_row_float(0,8);
vInfo[posy] = cache_get_row_float(0,9);
vInfo[posz] = cache_get_row_float(0,10);
vInfo[posa] = cache_get_row_float(0,11);
CreateVehicle(vInfo[modelid], vInfo[posx], vInfo[posy], vInfo[posz], vInfo[posa], vInfo[vcolor1], vInfo[vcolor2], -1);
SetVehicleNumberPlate(i, vInfo[vehid]);
SetVehicleParamsEx(i, 1, 0, 0, vInfo[door], 0, 0, 0);
}
else
{
    format(query, sizeof(query), \"INSERT INTO `vehicles` (vehid, modelid, vcolor1, vcolor2, vprice, beowner, owner, door, posx, posy, posz, posa) VALUES (\'%d\', \'441\', \'0\', \'0\', \'0\', \'0\', \'\', \'0\', \'0.0\', \'0.0\', \'10.0\', \'0.0\')\", i);
mysql_query(mysql_connection, query);
printf(\"[sYSTEM MESSAGE] %d számú jármû létrehozva!\", i);
MySQL_Vehicle_Load(i);
}
return 1;
}

 
Az OnGameModeInit alatt a KÉSZ-t már nem írja ki. A ciklusnál nem fut tovább.
Mostmár rájöttem, hogy nem az AddStaticVehicleEx-el van a baj, hanem a függvénnyel
[gmod]Javítottam helyetted a

taget

tagre. Legközelebb használd magad és olvasd el a szabályzatot![/gmod]
« Utoljára szerkesztve: 2014. október 14. - 16:55:49 írta Dfoglalo »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
AddStaticVehicleEx nem mûködik
« Válasz #6 Dátum: 2014. október 14. - 10:46:29 »
0 Show voters
a MySQL_V_Vehicle_Load()-ba kéne betenned a ciklust....és azon belülre az else-t....mivel az abban lévõ else miatt nem fut tovább....avagy az else helyett:
 
if(rows != 1)

AddStaticVehicleEx nem mûködik
« Válasz #7 Dátum: 2014. október 16. - 17:19:08 »
0 Show voters
Annyit biztosan tudok, hogy ezzel van a baj:
 
new query[300];
format(query, sizeof(query), \"SELECT * FROM `vehicles` WHERE `vehid` = \'%d\'\", i);
mysql_query(mysql_connection, query);
new rows = cache_get_row_count();
if(rows == 1)
{
    printf(\"[sYSTEM MESSAGE] %d számú jármû Betöltése:\", i);
    vInfo[vehid] = cache_get_row_int(0,0);
vInfo[modelid] = cache_get_row_int(0,1);
vInfo[vcolor1] = cache_get_row_int(0,2);
vInfo[vcolor2] = cache_get_row_int(0,3);
vInfo[vprice] = cache_get_row_int(0,4);
vInfo[beowner] = cache_get_row_int(0,5);
cache_get_row(0,6, vInfo[owner]);
vInfo[door] = cache_get_row_int(0,7);
vInfo[posx] = cache_get_row_float(0,8);
vInfo[posy] = cache_get_row_float(0,9);
vInfo[posz] = cache_get_row_float(0,10);
vInfo[posa] = cache_get_row_float(0,11);
CreateVehicle(vInfo[modelid], vInfo[posx], vInfo[posy], vInfo[posz], vInfo[posa], vInfo[vcolor1], vInfo[vcolor2], -1);
SetVehicleNumberPlate(i, vInfo[vehid]);
SetVehicleParamsEx(i, 1, 0, 0, vInfo[door], 0, 0, 0);
}

 
1-9ig végigfut, és a 10esnél(utolsónál) elakad.
« Utoljára szerkesztve: 2014. október 16. - 17:20:55 írta hzsolt195 »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
AddStaticVehicleEx nem mûködik
« Válasz #8 Dátum: 2014. október 16. - 17:38:32 »
0 Show voters

for(new i = 1; i <= 20; i++)
        {
        MySQL_Vehicle_Load(i);
        }

 
helyett:
 

for(new i = 0; i <= 20; i++)
        {
        MySQL_Vehicle_Load(i);
        }

AddStaticVehicleEx nem mûködik
« Válasz #9 Dátum: 2014. október 16. - 18:23:07 »
0 Show voters
SIKERÜLT!!
 
for(new i = 1; i < VEHICLES; i++)
{
MySQL_Vehicle_Load(i);
    print(\"KÉSZ\");
}

 
Kivettem az egyenlõség jelet és jó lett. Valamiért nem tetszett neki.
Köszönöm szépen mindenkinek!
« Utoljára szerkesztve: 2014. október 16. - 18:32:55 írta hzsolt195 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal