Ü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 - Zsolesszka

Oldalak: 1 ... 8 9 [10] 11 12 ... 136
136
Segítségkérés / Cheat/hack
« Dátum: 2013. Október 29. - 10:32:07 »
Ezt kellene használni:
http://forum.sa-mp.com/showthread.php?t=262796
https://github.com/Zeex/samp-plugin-crashdetect/releases
A következõ crashnél valamit írni fog a server.cfg fájlba ha az megvan, annak segítségével kideríthetõ mi okozza a szerver összeomlást.

137
Segítségkérés / MySQL hiba!
« Dátum: 2013. Október 29. - 10:29:19 »
Túl kevés az információ ahhoz hogy hasznos segítséget kapj.
Mi a server.cfg tartalma, a használt mód neve, több plugin esetleg?
Sõt az is elõfordulhat hogy a mysql plugin R5 változata nem kompatibilis a sa-mp 0.3x R2 verziójával mivel a mysql plugin már R34 kiadásnál tart.

138
Segítségkérés / MySQL hiba!
« Dátum: 2013. Október 29. - 10:19:58 »
A server.cfg fájlban cseréld fel a kettõ plugin nevét:
 
plugins nativechecker mysql[/quote]
helyett:
 
plugins mysql nativechecker[/quote]

139
Segítségkérés / Motor indítás probléma
« Dátum: 2013. Október 29. - 10:17:04 »
if(engine == 0)

 
helyett:
 
if(engine < 1)

 
Mivel kezdésnek -1 az értéke használat után már 0 vagy 1, így egy olyan ellenõrzést kell alkalmazni amelyik mindkét esetre igaz. :D

140
Segítségkérés / Sql row --> Listadialog
« Dátum: 2013. Október 29. - 10:13:58 »
sscanf segítségével
De pontosan milyen is az a vesszõ amit említesz?

141
Megoldható hogy több oldalas legyen a dialog.
Csak ki kell kísérletezni a megfelelõ megoldást ez persze pár tesztelést igényelni fog a játékban mivel a print/printf nem képes ennyire hosszú karakterláncot megjeleníteni consol ablakban, ezért csak a játékban lévõ ShowPlayerDialogot lehet használni erre a célra.
Mivel mysql adatbázisból kéred le az adatokat egyszerûen határt szabhatsz a lekért adatok mennyiségének illetve a kezdés pontját is beállíthatod mégpedig a LIMIT utasítás használatával.
Melynek ha kettõ szám adatot adsz meg, abban az esetben az elsõ szám a kezdés pozícióját jelenti a második a megjelenített adatsorok számát.
 
SELECT * FROM `tablename` LIMIT  0, 20
SELECT * FROM `tablename` LIMIT  50, 20

 
Az érthetõség kedvéért csak 20-at adtam meg a lekért sorok maximális számának.
Magyarázat:
Az összes adat (*) kiválasztása (SELECT) a (tablename) adatbázisból melynek kezdése a (LIMIT 0, 20)  (a példában az elsõnél 0 majd a másodiknál az 50.) rekordtól számított maximálisan 20 darab adatsor.
Azt megismétlem hogy ez csak akkor ilyen ha kettõ szám adat szerepel a LIMIT utasítás után egy picit másképp mûködik ha csak egy adat van ott, de az is csak a maximálisan lekért adatsorok számát jelöli.

142
Igen ezt említettem is az egyik hozzászólásban, hogy mintha nem mûködne így, ezért be kell illesztened minden sorba a színezést:
 
format(thestring, sizeof thestring, \"%s{0000FF}%s\\n\", thestring, mysql_line);

 
Ez persze minden sorban újabb 8 karakter helyet foglal.  :(
Edit:
Akkor arra is jól emlékszek.

143
Ha nem illesztesz be semmilyen plusz adatot akkor meg format helyett simán használhatod az strcat-ot is a következõképp:
 

new
   bigstr[4096];
bigstr = \"{0000FF}\";    
while(mysql_fetch_row(mysql_line))
{
   strcat(bigstr, mysql_line);
   strcat(bigstr, \"\\n\");
}

144
Teljesen mindegy melyik verziót használod, ha sikerül mûködésre bírni.
A format függvénynél ha újra beilleszted argumentumként pont azt a változót amelyiket szeretnéd úgymond formázni, az mindaddig megtartja tartalmát amíg el nem tárolja saját magának így újra betudja illeszteni ugyanabba a változóba.
Tehát egy semmire nem való pawn kóddal szemléltetve:
 

new
   str[128];
str = \"teszt\";
for(new i; i < 100; i++)
{
   format(str, sizeof str, \"%s\", str);
   print(str);
}

 
Végig megtartja a \"teszt\" karakterláncot az str változóban.
A sorrend amirõl te beszélsz az csak annyi hogy milyen sorrendben helyezed el az argumentumokat a format függvény legvégén:
 
 bigstr, mysql_line);
mysql_line, bigstr);

 
Edit:
Sajnos arra nem emlékszek hogy valóban elég csak egyetlen egy színkódot elhelyezni a legelsõ sorban és valóban az összes sor olyan színû lesz DIALOG_STYLE_LIST -nél a ShowPlayerDialogban, ezt le kell tesztelni mivel kopnak az emlékek sajna ahogy egyre kevesebbet foglalkozok samp-al.  :(

145

Edit: nem ide tartozik, de akkor ezek szerint az MSGBOX-nál a kiírt szöveg az inputtext?
 
[/quote]Nem.
Átolvastam az egészet, és eléggé meglepõ hogy egy ilyen kis apróságon fennakadsz.
Karakterláncok összefûzésére valóban az strcat használata a célszerû de mivel új adatokat is be kell illeszteni, és elgondolkodtató hogy egy darab illetve két darab változót szeretne az ember használni így kétféle lehetõség marad:
 

new
    bigstr[4096];
bigstr = \"{0000FF}\"; // színkód elhelyezése a karakterlánc legelejére ha az egész szöveget egy színben akarod megjeleníteni.
while(mysql_fetch_row(mysql_line))
{
       format(bigstr, sizeof bigstr, \"%s%s\\n\", bigstr, mysql_line);
}
ShowPlayerDialog(playerid, 342, DIALOG_STYLE_LIST, \"teszt\", bigstr, \"Select\", \"\"); // A SendClientMessage lehet crashel ekkora karakterláncnál meg megse tudja jeleníteni.

 
Persze ebben az új adatra arra gondoltam ha netalán szeretnéd megszámozni a sorokat.  (persze ezt lehet mysql lekérdezéssel is be lehetne illeszteni de csak a példa kedvéért írtam ezt) :D



new
    bigstr[4096],
    temp[128],
    i;
bigstr = \"{0000FF}\"; // színkód elhelyezése a karakterlánc legelejére ha az egész szöveget egy színben akarod megjeleníteni.
while(mysql_fetch_row(mysql_line))
{
   format(temp, sizeof temp, \"(%d)%s\\n\", i, mysql_line);
   strcat(bigstr, temp);
   i++;
}
ShowPlayerDialog(playerid, 342, DIALOG_STYLE_LIST, \"teszt\", bigstr, \"Select\", \"\");

146
Azt ne feledd ha jól emlékszek akkor az inputtext vissza adja neked annak a sornak a tartalmát amelyikre kattintasz DIALOG_STYLE_LIST-nél. :D

147
Segítségkérés / Sql row --> Listadialog
« Dátum: 2013. Október 28. - 19:59:18 »
http://wiki.sa-mp.com/wiki/Enum
 

enum akarmi
{
   nev[24],
   szam
};
new
     nevjegyzek[30][akarmi];
 
nevjegyzek[0][nev] = \"Máté\"; // de lehet format függvény kell hozzá
nevjegyzek[0][szam] = 703338888;

 
A \"playerid\" azonosítót ebben az esetben nem használhatsz, csak akkor használhatod ha kifejezetten játékosonként akarod online tárolni az adatot a memóriában, de gondolom olyan játékosok telefonszámát is szeretnéd felsoroltatni akik éppen nem játszanak a szerveren (offline). :D

148
Jó felé kapizsgálnak egyesek.
A dialog stringben (karakterláncban) lévõ karakterek számától függ a megjeleníthetõ sorok száma.
Ugye a következõ sor jelzés is már kettõ darab karaktert foglal így ha egy pontot jelenítenél meg soronként akkor 3 karakternyi hely szükséges hozzá.
Én úgy emlékszek, ellentétben a wiki-n lévõ adatnál hogy 4096 karakternél van ez a határ.
Tehát egy kis matekkal számolva 4096/3-al 1365 sor jeleníthetõ maximálisan abban az esetben ha csak egyetlen egy karakter szerepel soronként, akik meg észrevették hogy 1 kimarad (1365*3 = 4095) és oda még elférne egy karakter (1366. sornak) azoknak mondom hogy az a NULL karakter helye és az nem jelenik meg. :D
De ha tévedek, akkor ez van.  :angel:

149
Segítségkérés / /v átírása
« Dátum: 2013. Október 26. - 21:20:45 »
Nincs tesztelve.
 
CMD:v2(playerid, params[])
{
new
car,
color1,
color2;
if(sscanf(params, \"k(vehicles)D(-1)D(-1)\", car, color1, color2)) SendClientMessage(playerid, 0x0000ff, \"Használat: /v [Jármû Név / Jármû ID (400-611)] [szín 1] [szín 2]\");
else
{
if(color1 == -1) color1 = random(255);
if(color2 == -1) color2 = random(255);
if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
new
   Float:X,
   Float:Y,
   Float:Z,
   Float:Angle;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
SpawnedVehicles[playerid] = CreateVehicle(car, X+3, Y, Z, Angle, color1, color2, -1);
LinkVehicleToInterior(SpawnedVehicles[playerid], GetPlayerInterior(playerid));
PlayerPlaySound(playerid, 1085, 0, 0, 0);
PutPlayerInVehicle(playerid, SpawnedVehicles[playerid], 0);
new
   str[128];
format(str, sizeof(str), \"{33AA33}Jármû lekérve! | Jármû Név: {FF9933}%s {33AA33}| Model ID: {FF9933}%d {33AA33}| Szín 1: {FF9933}%d {33AA33}| Szín 2: {FF9933}%d\", VehicleNames[spawnedVehicles[playerid]-400], SpawnedVehicles[playerid], color1, color2);
SendClientMessage(playerid, 0, str);
}
return 1;
}

 
Jármû névre csak pontos jármûnév beírásra mûködik, persze az is javítható csak strfind-et kell használni strcmp helyett, a sscanf.inc fájlban lévõ SSCANF:vehicle(string[])  funkcióban.

150
Segítségkérés / Jármû probléma
« Dátum: 2013. Október 21. - 18:51:04 »
Ez úgy hülyeség ahogy van:
 
csak nem oszt ki neki azonnal id-t, csak restart után.[/quote]
Valami plusz változót használhatsz a jármûvek azonosítására, és abban rontottál el valamit.
Kód?

Oldalak: 1 ... 8 9 [10] 11 12 ... 136
SimplePortal 2.3.7 © 2008-2024, SimplePortal