Szerző Téma: Autó system + egy másik gond  (Megtekintve 1591 alkalommal)

Autó system + egy másik gond
« Dátum: 2016. szeptember 26. - 17:47:51 »
0 Show voters
Hellósztok!
Kedves feleim abban kérném segítségetek, hogy van egy autórendszerem amiben ha létrehozok in game egy kocsit akkor újratöltöm az egész SQL táblát. No ez eddig szép és jó, DE amikor ez megtörténik és a létrehozott kocsit kéne létrehozni (mert ezt mentéskor törlöm) CSAK és kizrólag akkor hozza létre hozza amikor az az első kocsi az SQL táblában.
A másik dolog.
Létrehozok labellekelt, és ezeken a színe (pl piros) mosott azaz nincs körülötte fekete körvonal. Mi lehet a hiba?
Válaszotok előre köszönöm!

Autó system + egy másik gond
« Válasz #1 Dátum: 2016. szeptember 26. - 21:12:23 »
0 Show voters
csao
huha az elso resze kicsit zavaros de sztem valami lekerdezes nem stimmel,ha kuldesz egy kodot,akar itt akar privatba tobbet tudok mondani.
a masodikra az a tippem h a color alpha resze nem 255,azaz a szinkod vegen nem FF van ha igy jobban teszik :D illetve az embedded color ami ugye kapcsos zarojelek kozott van asszem nem tamogatja az alphat.

Autó system + egy másik gond
« Válasz #2 Dátum: 2016. szeptember 26. - 22:05:36 »
0 Show voters

mysql_format(kapcs, query, sizeof(query), \"SELECT * FROM `jarmuvek`\");
mysql_tquery(kapcs, query, \"ReloadVehicle\",\"\");
public ReloadVehicle()
{
    new sorok, mezok;
    cache_get_data(sorok, mezok, kapcs);
for(new a = 0; Veh:a < Veh; a++) VehicleInfo[a][Veh:a] = 0;
new vehtulaj[MAX_PLAYER_NAME] , plate[64];
for(new i = 0; i <= sorok; i++)
{
VehicleInfo[i+1][DBID] = cache_get_field_content_int(i, \"DBID\");
VehicleInfo[i+1][Owner] = cache_get_field_content(i, \"Owner\", vehtulaj);
VehicleInfo[i+1][ModID] = cache_get_field_content_int(i, \"modelid\");
VehicleInfo[i+1][spawn][0] = cache_get_field_content_float(i, \"X\");
VehicleInfo[i+1][spawn][1] = cache_get_field_content_float(i, \"Y\");
VehicleInfo[i+1][spawn][2] = cache_get_field_content_float(i, \"Z\");
VehicleInfo[i+1][spawn][3] = cache_get_field_content_float(i, \"A\");
VehicleInfo[i+1][HP] =  cache_get_field_content_float(i, \"HP\");
VehicleInfo[i+1][color][0] = cache_get_field_content_int(i, \"color1\");
VehicleInfo[i+1][color][1] = cache_get_field_content_int(i, \"color2\");
VehicleInfo[i+1][rendszam] = cache_get_field_content(i, \"plate\", plate);
VehicleInfo[i+1][FuelType] = cache_get_field_content_int(i, \"fueltype\");
VehicleInfo[i+1][FuelLevel] = cache_get_field_content_int(i, \"fuellevel\");
VehicleInfo[i+1][MunakID] = cache_get_field_content_int(i, \"JobID\");   
SetVehicleNumberPlate(VehicleInfo[i+1][DBID], plate);
if(VehicleInfo[i+1][Letezik] == false)
{
   new vehid = CreateVehicle(VehicleInfo[i+1][ModID], VehicleInfo[i+1][spawn][0], VehicleInfo[i+1][spawn][1], VehicleInfo[i+1][spawn][2], VehicleInfo[i+1][spawn][3], VehicleInfo[i+1][color][0],  VehicleInfo[i+1][color][1], -1, 0);
   SetVehicleHealth(vehid, VehicleInfo[i+1][HP]);
   SetVehicleNumberPlate(vehid, plate);
   VehicleInfo[i+1][Letezik] = true;
   SendClientMessageToAll(-1, \" (( Kocsi létrehozva! ))\" );
   SetTimerEx(\"TimerReloadVehicle\", 1500, false);
   break;
}
new debugs[125];
format(debugs, sizeof(debugs), \"%d\", i);
SendClientMessageToAll(-1, debugs );
}
print(\"\\n----------------------------------\");
print(\" Kocsik újratöltve\");
print(\"----------------------------------\\n\");
SendClientMessageToAll(-1, \" (( Kocsik újratöltve!! ))\" );
return 1;
}

 
Van benne gy timer de az csak újraindítja az egészet a breaknál.

Autó system + egy másik gond
« Válasz #3 Dátum: 2016. szeptember 26. - 22:31:44 »
0 Show voters
OFF: ajj, fogadj meg egy tanacsot es az azonositokat kovetkezetesen nevezd el,mert ez igy nagyon zavaros,h egyik magyar masik angol :D
amennyire nezem par kerdes
a querynek minek format ha konstans string literallal dolgozol?
amivel a rendszamot lekered az a dokumentacio szerint semmivel nem ter vissza,hanem egy megadott valtozoba irja bele az erteket. akk minek adod ertekul a VehicleInfo rendszamnak? rogton azt add meg cel valtozonak
de meg mindig nem vagom globalissan mi akar ez az egesz lenni, milyen reload timer meg mik ezek :D
VehicleInfoban hol allitod meg a Leteziket? pl falsera
jah amugy azt vagod, hogy ott figyel a ciklusmagban egy szep kis break? :D #elsokocsiixd
(edit: ha nem tudod esetleg mire valo pontosan,akk sugok annyit,h a break leallitja a ciklust,tehat a masodik........ auto nem fog letrejonni,mivel a ciklusod az elso autonal leall.)
« Utoljára szerkesztve: 2016. szeptember 26. - 23:21:29 írta Basshunter »

Autó system + egy másik gond
« Válasz #4 Dátum: 2016. szeptember 27. - 19:19:46 »
0 Show voters
Idézetet írta: Basshunter date=1474921904\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63225\" data-ipsquote-contentclass=\"forums_Topic
OFF: ajj, fogadj meg egy tanacsot es az azonositokat kovetkezetesen nevezd el,mert ez igy nagyon zavaros,h egyik magyar masik angol :D
Elkezdtem magyarul írni azt félúton angolra váltottam (ne kérdezd mért :D )
 

amennyire nezem par kerdes
a querynek minek format ha konstans string literallal dolgozol?
[/quote]
Itt nem teljesen éterem mire gondolsz
 

amivel a rendszamot lekered az a dokumentacio szerint semmivel nem ter vissza,hanem egy megadott valtozoba irja bele az erteket. akk minek adod ertekul a VehicleInfo rendszamnak? rogton azt add meg cel valtozonak[/quote]
 

VehicleInfo[i+1][rendszam] = cache_get_field_content(i, \"plate\", plate); //ezt a továbbiakban használom majd
SetVehicleNumberPlate(VehicleInfo[i+1][DBID], plate); //it csak beállítom az elöbb kikért adattal

 


de meg mindig nem vagom globalissan mi akar ez az egesz lenni, milyen reload timer meg mik ezek :D[/quote]
 

SetTimerEx(\"TimerReloadVehicle\", 1500, false); //ezel indiítom úrja a publickot- mert breakkel megtöröm a folyamatot

 


VehicleInfoban hol allitod meg a Leteziket? pl falsera[/quote]
Mikor betöltöm a szerver indításakor a kocsikat akkor adok az összes kocsina kegy tire értéekt. Viszont mikor új kocsit hozok létre és ügye az nem szerve indításkor nem létezet alapjáraton false le sz a változó.
 

jah amugy azt vagod, hogy ott figyel a ciklusmagban egy szep kis break? :D #elsokocsiixd
(edit: ha nem tudod esetleg mire valo pontosan,akk sugok annyit,h a break leallitja a ciklust,tehat a masodik........ auto nem fog letrejonni,mivel a ciklusod az elso autonal leall.)
[/quote]
Igen tudom, az azért van, mert valami összebugolt mikor nem volt benne és mindig létrehozott annyi kocsit az elsőből ahány kocsi van az adatbázisban


Elemekre szedem neked
 

mysql_format(kapcs, query, sizeof(query), \"SELECT * FROM `jarmuvek`\");
mysql_tquery(kapcs, query, \"ReloadVehicle\",\"\"); //ez a két sor kéri ki az adatoakt
public ReloadVehicle()
{
    new sorok, mezok;
    cache_get_data(sorok, mezok, kapcs); //adatkikéredzéshez a változók
for(new a = 0; Veh:a < Veh; a++) VehicleInfo[a][Veh:a] = 0; //nullázuk az enumokat
new vehtulaj[MAX_PLAYER_NAME] , plate[64]; //értékek
for(new i = 0; i <= sorok; i++)
{
VehicleInfo[i+1][DBID] = cache_get_field_content_int(i, \"DBID\");
VehicleInfo[i+1][Owner] = cache_get_field_content(i, \"Owner\", vehtulaj);
VehicleInfo[i+1][ModID] = cache_get_field_content_int(i, \"modelid\");
VehicleInfo[i+1][spawn][0] = cache_get_field_content_float(i, \"X\");
VehicleInfo[i+1][spawn][1] = cache_get_field_content_float(i, \"Y\");
VehicleInfo[i+1][spawn][2] = cache_get_field_content_float(i, \"Z\");
VehicleInfo[i+1][spawn][3] = cache_get_field_content_float(i, \"A\");
VehicleInfo[i+1][HP] =  cache_get_field_content_float(i, \"HP\");
VehicleInfo[i+1][color][0] = cache_get_field_content_int(i, \"color1\");
VehicleInfo[i+1][color][1] = cache_get_field_content_int(i, \"color2\");
VehicleInfo[i+1][rendszam] = cache_get_field_content(i, \"plate\", plate);
VehicleInfo[i+1][FuelType] = cache_get_field_content_int(i, \"fueltype\");
VehicleInfo[i+1][FuelLevel] = cache_get_field_content_int(i, \"fuellevel\");
VehicleInfo[i+1][MunakID] = cache_get_field_content_int(i, \"JobID\");   // Ideig betöltjük az összes adatok az SQL táblából ami kell nekem
SetVehicleNumberPlate(VehicleInfo[i+1][DBID], plate);  //itt frissítem a rendszámokat ha esetleg változnának valahol
if(VehicleInfo[i+1][Letezik] == false) // HA az adott érték hamis. Ez akkro van amikro egy új kocsit mentünk a rendszerve mivel alabbol ez false,
{
   new vehid = CreateVehicle(VehicleInfo[i+1][ModID], VehicleInfo[i+1][spawn][0], VehicleInfo[i+1][spawn][1], VehicleInfo[i+1][spawn][2], VehicleInfo[i+1][spawn][3], VehicleInfo[i+1][color][0],  VehicleInfo[i+1][color][1], -1, 0); //létrehozzuk
   SetVehicleHealth(vehid, VehicleInfo[i+1][HP]); //HP-t adunk neki
   SetVehicleNumberPlate(vehid, plate); //rendszámot lálítunk
   VehicleInfo[i+1][Letezik] = true; // igazzá tezsik a bool-t
   SendClientMessageToAll(-1, \" (( Kocsi létrehozva! ))\" ); //debug kiirás
   SetTimerEx(\"TimerReloadVehicle\", 1500, false); //ujraindítom az egész folyamatoat
   break; //megszakítom a for ciklust
}
new debugs[125];
format(debugs, sizeof(debugs), \"%d\", i);
SendClientMessageToAll(-1, debugs ); //debug kiiratások
}
print(\"\\n----------------------------------\");
print(\" Kocsik újratöltve\");
print(\"----------------------------------\\n\"); // ez is debug kiiratás
SendClientMessageToAll(-1, \" (( Kocsik újratöltve!! ))\" ); //és ez is
return 1;
}

Autó system + egy másik gond
« Válasz #5 Dátum: 2016. október 03. - 21:57:50 »
0 Show voters
Senki semmi tipp?

Autó system + egy másik gond
« Válasz #6 Dátum: 2016. október 03. - 22:10:12 »
0 Show voters
Idézetet írta: Zsifon date=1474996786\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63225\" data-ipsquote-contentclass=\"forums_Topic


amennyire nezem par kerdes
a querynek minek format ha konstans string literallal dolgozol?
Itt nem teljesen éterem mire gondolsz
 
[/quote]
Arra, h a lekeresben nem szerepel semmilyen valtozonak az erteke, csak egy konstans szoveg a lekerdezes, akkor minek formazni, miert nem lehet rogton atadni a lekerdezest vegzo tquery fuggvenynek. azaz kb erre:
 
mysql_format(kapcs, query, sizeof(query), \"SELECT * FROM `jarmuvek`\"); 
mysql_tquery(kapcs, query, \"ReloadVehicle\",\"\"); //ez a két sor kéri ki az adatoakt

 
---------------->
 
mysql_tquery(kapcs, \"SELECT * FROM `jarmuvek`\", \"ReloadVehicle\",\"\");

 


 

amivel a rendszamot lekered az a dokumentacio szerint semmivel nem ter vissza,hanem egy megadott valtozoba irja bele az erteket. akk minek adod ertekul a VehicleInfo rendszamnak? rogton azt add meg cel valtozonak[/quote]
 

VehicleInfo[i+1][rendszam] = cache_get_field_content(i, \"plate\", plate); //ezt a továbbiakban használom majd
SetVehicleNumberPlate(VehicleInfo[i+1][DBID], plate); //it csak beállítom az elöbb kikért adattal

 

[/quote]
Ezzel az a baj, h a cache_get_field_content nem ter vissza semmilyen hasznaveheto ertekkel, megis ezt adod az egyik valtozo ertekeul.
kb. igy lenne jo tippem szerint:
 

cache_get_field_content(i, \"plate\", VehicleInfo[i+1][rendszam]); //ezt a továbbiakban használom majd
SetVehicleNumberPlate(VehicleInfo[i+1][DBID], VehicleInfo[i+1][rendszam]); //it csak beállítom az elöbb kikért adattal

 
dokumentacio: http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_field_content
itt csekkold le a return values reszt
 

 

de meg mindig nem vagom globalissan mi akar ez az egesz lenni, milyen reload timer meg mik ezek :D[/quote]
 

SetTimerEx(\"TimerReloadVehicle\", 1500, false); //ezel indiítom úrja a publickot- mert breakkel megtöröm a folyamatot

 

[/quote]
Ezzel az a baj, h egyreszt a timer nem pontos tudtommal masreszt pedig nagyon lassu lesz a folyamat. Illetve ha tippelni kene valami olyasmi baja van, h mivel timerrel visszahivod a funkciot, igy leragad az elso kocsinal.
 

 

jah amugy azt vagod, hogy ott figyel a ciklusmagban egy szep kis break? :D #elsokocsiixd
(edit: ha nem tudod esetleg mire valo pontosan,akk sugok annyit,h a break leallitja a ciklust,tehat a masodik........ auto nem fog letrejonni,mivel a ciklusod az elso autonal leall.)
[/quote]
Igen tudom, az azért van, mert valami összebugolt mikor nem volt benne és mindig létrehozott annyi kocsit az elsőből ahány kocsi van az adatbázisban
 
[/quote]
Jah akk azt kellene kijavitani nem igy megoldani :D
De nekem valtozatlanul zavaros ez az egesz, hogy a kocsik id-jet letarolod, meg ahogy indexeled a tombjuket... :D ez a timeres megoldas pedig semmikeppen nem celravezeto.
Pontosan mit szeretnel? :D
« Utoljára szerkesztve: 2016. október 03. - 22:33:06 írta Basshunter »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal