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

137
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.

138
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\");
}

139
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.  :(

140

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\", \"\");

141
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

142
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

143
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:

144
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.

145
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?

146
Segítségkérés / CreateDynamicObject
« Dátum: 2013. október 20. - 17:38:25 »
Ezek a hiba üzenetek nem zavarnak?
 
[17:30:13] *** Streamer Plugin: Warning: Obsolete or invalid native \"Streamer_RegisterInterface\" found (script might need to be recompiled with the latest include file)
[17:30:13] *** Streamer Plugin: Warning: Obsolete or invalid native \"Streamer_AddPlayer\" found (script might need to be recompiled with the latest include file)
[17:30:13] *** Streamer Plugin: Warning: Obsolete or invalid native \"Streamer_RemovePlayer\" found (script might need to be recompiled with the latest include file)
[17:30:13] *** Streamer Plugin: Warning: Obsolete or invalid native \"Streamer_VerifyPickup\" found (script might need to be recompiled with the latest include file)
[17:30:13] *** Streamer Plugin: Warning: Obsolete or invalid native \"Streamer_VerifyCheckpoint\" found (script might need to be recompiled with the latest include file)
[17:30:13] *** Streamer Plugin: Warning: Include file version (unknown version) does not match plugin version (0x26105) (script might need to be recompiled with the latest include file)
[/quote]
Töltsd le a legújabb streamer plugint http://forum.sa-mp.com/showthread.php?t=102865,
majd találsz benne egy streamer.inc fájlt is, azt másold a szervered/pawno/include mappájába és fordítsd le újra az általad használt módot szkripteket, ja és a sscanf plugint se ártana frissíteni, mivel 2013-at írunk te meg a 2009-est használod http://forum.sa-mp.com/showthread.php?t=120356.

147
Segítségkérés / CreateDynamicObject
« Dátum: 2013. október 20. - 17:11:47 »
Ilyet csinálj a végére:
 
 printf(\"Mappok betöltve!   %d\", CountDynamicObjects());

 
És közöld mit írt ki, meg jó lenne az egész betöltõ kód is, ha hasznos segítséget szeretnél. :D

148
Segítségkérés / Kick kötelezõ indok
« Dátum: 2013. október 16. - 19:11:36 »
Talán:
 
if(sscanf(........
if(isnull(indok)) return SendClientMessage(playerid, -1, \"Add meg az indokot\");
if(IsPlayer....

149
csak az a bökkenõ hogy csatlakozok szeróra a kocsi motorja ugye nem jár és mégis az van mintha járna a beszállásomkor,  nem lép mûködésbe a string[/quote]
Erre válaszoltam hogy írd be az általad készített Textdraw dolgot az alá is.
Hiszen a fentebb említett funkció meghívódik minden jármûnél ami számodra éppen megjelenik a játékban.
Másold be a a wikin látott példát a szkriptedbe, próbáld ki és látni fogod mi történik ahogy haladsz a játékban.

150
http://wiki.sa-mp.com/wiki/OnVehicleStreamIn
Ez alá is írd be, és akkor csatlakozáskor is megfelelõ adatot fog kiírni.

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