Ü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 ... 18 19 [20] 21 22 ... 136
286
Segítségkérés / Fájlkezelõ vs MySQL
« Dátum: 2013. június 29. - 20:48:03 »
Hát én ezt nem értem ha házi a szerver és a házi szerveren van mysql adatbázis kezelés már mi az isten faszáért lenne lassú? Mint az állítjátok páran.
Áruljátok már el nekem hogy localhost-os kapcsolaton keresztül már miért is lenne lassú?

287
Segítségkérés / Miért nem hoz létre sor? (MySQL)
« Dátum: 2013. június 29. - 08:00:56 »
VALUES (\'%s\', %d, \'teszt\',100,0,0,10)

 
Amúgy olvasd a server_log.txt fájlt valószínûleg találsz benne hiba üzeneteket, vagy a mysql_log.txt fájlt, mindkettõt a samp-server.exe mappájában találod.

288
Segítségkérés / - Ismeretlen nevû hiba! -
« Dátum: 2013. június 28. - 18:51:54 »
Az OnGameModeInit alatt gondolom minden játékosnak létrehozol egy textdrawot for ciklussal?
Lehet nem képes frissíteni a TextDrawSetString az üzenetet, régebbi samp verzióknál is volt ilyen hiba lehet ez kicsit javult mostanra de mégsem tökéletesen.
Próbaként rejtsd el a textdrawot, változtasd meg a tartalmát, majd jelenítsd meg.
Kódként:
 
    TalkTexts[playerid] ++;
    TextDrawHideForPlayer(playerid,Letter[playerid);
    switch(TalkTexts[playerid]) {
        case 1: TextDrawSetString(Letter[playerid],\"dfhgdfh\");
            case 2: TextDrawSetString(Letter[playerid],\"sfsdg\");
......
            case 17: TextDrawSetString(Letter[playerid],\"asfdgdas\");
            {
     
                    KillTimer(TalkTimer);
            }
    }
    TextDrawShowForPlayer(playerid,Letter[playerid);

 
Edit:
Használj CreatePlayerTextDraw-ot, és nem kell minden egyes játékosnak létrehozni OnGameModeInit alatt hanem pl.: csak az online játékosoknak csatlakozáskor.

289
Segítségkérés / VehicleID-t nem ismeri fel...
« Dátum: 2013. június 28. - 15:50:47 »
if(vehid == kamion1 || vehid == kamion2 || vehid == kamion3 || vehid == kamion4 || vehid == kamion5 || vehid == kamion6)

290
Segítségkérés / Parancsok DM-ben
« Dátum: 2013. június 27. - 22:16:15 »
Tudsz kivételeket hozzá tenni, de akkor a fenti megoldás nem megfelelõ számodra, kivételekhez elengedhetetlen hogy ne írd be minden parancshoz amelyiket nem szeretnéd hogy használhatóak legyenek DM-ben.
Vagy egyszerûen megoldod OnPlayerCommandReceived alatt sima strcmp-s parancsokkal a dm-ben használatosakat a tiltás elõtt.

291
Beszélgetés / Mi az "álmod"?
« Dátum: 2013. június 26. - 20:03:43 »
Négyes találat az ötös lottón.

292
Segítségkérés / Nem müködnek a parancs részei .
« Dátum: 2013. június 25. - 19:16:00 »
Mert a params változó ezeket az adatokat tárolja, most példaként, a beírt parancs:
/set world Kojak 23
Ebbõl a pirossal jelölt részt, tárolja a params változó.
Ezt áthelyezed sscanf segítségével az acmd változóba, majd strcmp segítségével próbálod összehasonlítani:
if( !strcmp( \"world Kojak 23\", \"world\", true ) )
                                      ^^
                                       ||
                                 Ez az acmd tartalma.
Így már látod miért nem mûködik.

293
Segítségkérés / Object láthatóságának távolsága
« Dátum: 2013. június 25. - 12:38:27 »
Idézetet írta: cosmos date=1372066801\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38830\" data-ipsquote-contentclass=\"forums_Topic


http://wiki.sa-mp.com/wiki/CreateObject
 
igen már láttam, utána is írtam, de akkor warningot dob
 
[/quote]
Akkor ha minden igaz nem a legfrissebb a_samp.inc fájlt használod.
A streamer plugin-nál meg a CreateDynamicObjectEx funkcióban van lehetõség látótávolság beállítására.

294
Segítségkérés / Pawno unable
« Dátum: 2013. június 24. - 18:19:52 »
Általában pont az szokott lenni a baja hogy frissen telepített az operációs rendszered és hiányzik valamilyen fájl talán fájlok.
Egy idõben az msn telepítése megoldotta a dolgot de az megszûnt, próbálj valamilyen
redistributable csomagot feltelepíteni, hátha segít.

295
Fórum Archívum (Témák/Fórumok) / törlendõ
« Dátum: 2013. június 23. - 17:21:01 »
Idézetet írta: Sramm date=1371999098\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"44770\" data-ipsquote-contentclass=\"forums_Topic
Valóban, csakhogy ha Sajtoscsokiskának kisebb az id-je vele fog elõször visszatérni és nem sajtoscsokissal, akik keresünk.
 
Így van mivel a for ciklus 0 tól indul el tehát a legkisebb id-vel rendelkezõ játékost ellenõrzi és ahol egyezést talál azzal tér vissza, erre már sokan próbáltak megoldást találni de az újabb sscanf pluginban már van olyan visszatérési értéke a sscanf-nek ami jelzi hogy több esetleges találat is létezik.
 
0) Y_Less
1) [CLAN]Y_Less
2) Jake
3) Alex
4) Hass
This code:
pawn Code:
 
new ids[3], i;
if (sscanf(\"Le\", \"?<MATCH_NAME_PARTIAL=1>u[3]\", ids)) printf(\"Error in input\");
for (i = 0; ids != INVALID_PLAYER_ID; ++i)
{
    if (ids == cellmin)
    {
        printf(\"Too many matches\");
        break;
    }
    printf(\"id = %d\", ids);
}
if (i == 0) printf(\"No matching players found.\");

 

[/quote]
Így fel lehet sorolni azokat a játékosokat akiknek a nevükben egyezés található a keresett kifejezésre.
Persze meg kell határozni mennyi találattal térjen vissza new ids[3] ezt az értéket növelhetjük, persze a keresett név részletet is legalább minimum 3 karakternyire határozzuk meg valóban kevesebb az esélye hogy 3-nál több egyezõ találatot kapunk.

296
Fórum Archívum (Témák/Fórumok) / törlendõ
« Dátum: 2013. június 23. - 13:15:00 »
Jó hát én azoknak írtam akik szeretnék használni hogy ne tegyék, mivel a kód hibás bármennyire is bizonygatod hogy nálad jó, én elfogadom hogy neked jó de másokat nem kell megtéveszteni. 
Amúgy Sramm által posztolt verzió meg praktikusabb és egyszerûbb azt javaslom bárkinek. :D
A kód a céljára megfelelõen lett tesztelve, az átírások debug információk megjelenítésére kerültek bele melyek a (hibás) mûködést bizonyítják, annak eredeti mûködését nem befolyásolják, viszont sokkal egyszerûbben lehet elvégezni a tesztelést mintsem 20 npc-t felküldeni a szerverre és az alapján tesztelni. A végeredményen nem javítana, a tökéletes mûködés bizonyítása már ezek után a te feladatot.

297
Fórum Archívum (Témák/Fórumok) / törlendõ
« Dátum: 2013. június 23. - 12:21:34 »
Értem, hát elkezdtem tesztelni igaz kivettem a GetPlayerName eljárást de így érdekes módon az strcmp már hamis eredményt adott vissza abban az esetben ha üres karakterlánccal lett összehasonlítva, szóval el se jutottam az strfind részhez:
 
#include <a_samp>
#define GetPlayerName(%0,%1,%2) macskasszendvics = GetName[%0]
new
GetName[MAX_PLAYERS][128];
public
OnFilterScriptInit()
{
GetName[0] = \"Vaami\";
GetName[1] = \"mi\";
GetName[2] = \"i\";
GetName[3] = \"mi\";
GetName[4] = \"ami\";
GetName[5] = \"Valami\";
GetName[6] = \"alami\";
printf(\"\\n\\n\\nGetPlayerID: %d\\n\\n\\n\", GetPlayerID(\"Val\", 1));
return 1;
}
stock GetPlayerID(const sprintvan[], demar=0)
{
new macskasszendvics[128];
for(new i = 0; i < MAX_PLAYERS; i++)
{
      printf(\"strcmp elõtt: %s <-> %s = %d\", macskasszendvics, sprintvan, i);
      GetPlayerName(i, macskasszendvics, sizeof(macskasszendvics));
      if(strcmp(macskasszendvics, sprintvan, true) == 0)
      {
         printf(\"strcmp után: %s <-> %s = %d\", macskasszendvics, sprintvan, i);
         return i;
      }
}
new sajtkukac = -1;
new kutyasmacska[128];
new nefurgyele = -1;
if(demar)
{
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
            GetPlayerName(i, kutyasmacska ,sizeof(kutyasmacska));
            if(!strfind(kutyasmacska, macskasszendvics[demar], true, 0))
                  nefurgyele++, sajtkukac=i;
            if(nefurgyele > 0) return -2;
      }
}
return sajtkukac;
}

 

strcmp elõtt:  <-> Val = 0
strcmp elõtt: Vaami <-> Val = 1
strcmp elõtt: mi <-> Val = 2
strcmp elõtt: i <-> Val = 3
strcmp elõtt: mi <-> Val = 4
strcmp elõtt: ami <-> Val = 5
strcmp elõtt: Valami <-> Val = 6
strcmp elõtt: alami <-> Val = 7
strcmp után:  <-> Val = 7
GetPlayerID: 7
[/quote]
Ez az elsõ része annak hogy az IsPlayerConnected használata szükséges. :D


Most megnézem az strfind részét is.
Edit: Nem is vizsgálom tovább mivel az strfind résznél:
 

if(!strfind(kutyasmacska, macskasszendvics[demar], true, 0))

 
Nem látom az eredeti keresett szövegrészhez tartozó változó használatát (sprintvan). Így igazából nem értem hogy miként került át a macskasszendvics[demar] változóba a keresett kifejezés mivel semmi erre utaló eljárással nem találkoztam elõtte.  Amúgy ez a változó macskasszendvics[demar] a legutolsónak csatlakozott játékos nevét tárolná, persze azt is csak akkor ha használva lenne az IsPlayerConnected.
Ezért szerintem vizsgáld át újra a kódod és ha tényleg megfelelõen mûködik azután postold ki a fórumra.

298
Fórum Archívum (Témák/Fórumok) / Re:[STOCK] GetPlayerID
« Dátum: 2013. június 23. - 11:20:43 »
Játékos adat lekérdezésénél minden esetben for ciklusban alkalmazni kellene az IsPlayerConnected eljárást mivel ez egy elég egyszerû adatot tartalmazó eljárás, emiatt sokkal gyorsabban lefut mint a GetPlayerName funkció.
Az strfind meg -1-el tér vissza ha nem talál egyezést emiatt kicsit eltér a használata a többi funkciótól pl.: strcmp-tõl.
Míg az strcmp-nél alkalmazható a tagadás jele a függvény elõtt addig az strfind-él már rossz eredményhez vezethet.
 
if(strcmp(cmdtext, \"/sayhello\", true) == 0)
if(strfind(\"Are you in here?\", \"you\", true) != -1)

 
Mint látod a kettõ függvénynél a visszatérési értéket másra vizsgáljuk.
Az strfind vissza adja az azonosság kezdetének pozícióját, tehát ha nulla értéket ad vissza az már azt jelenti hogy a legelsõ karaktertõl már egyezik a keresett kifejezés.
 
strfind(\"Are you in here?\", \"Are\", true)[/quote]
Ha te letagadod a funkció elõtt akkor elég sok esetben hamis eredményt fogsz kapni, mivel a funkció elõtti letagadás (!): bármilyen eredmény jó ami nagyobb nullánál.
De az strfind-él a nulla értékû visszatérés már egyezést\\találatot jelent.

299
Segítségkérés / Ban Offline ként.
« Dátum: 2013. június 23. - 10:53:17 »
Megkeresed a regisztrációs adatait és kitiltod, nem tudom mi olyan nehéz azon. :D
Tudod a játékos nevét az alapján megkeresed, ha meg IP alapján szeretnéd tiltani a server_log.txt fájl is tartalmazza (meg általában minden normálisabb regisztrációs rendszer) ki melyikkel lépett fel. Bemásolod a samp.ban fájlba az IP-t majd újra betöltöd a futó samp szerveren /rcon reloadbans, vagy újraindítod a szervert, kész.

300
Segítségkérés / enum
« Dátum: 2013. június 22. - 21:28:48 »
#include <a_samp>
enum Adat
{
Penz
};
new PlayerInfo[MAX_PLAYERS][Adat];
public
OnPlayerCommandText(playerid, cmdtext[]) // Visszahívás, azért, mert a samp_szerver.exe meghívja ezt az eljárást mikor egy játékos / jellel kezdõdõ szöveget ír be a chatbe.
{
if(strcmp(\"/penzad\", cmdtext) == 0)
{
PlayerInfo[playerid][Penz] += 500;
return 1;
}
if(strcmp(\"/penztarca\", cmdtext) == 0)
{
new
   string[256];
format(string,sizeof(string),\"%d$ van a pénzrárcádban...\",PlayerInfo[playerid][Penz]);
SendClientMessage(playerid, 0xFFFF00AA, string);
return 1;
}
return 0;
}

Oldalak: 1 ... 18 19 [20] 21 22 ... 136
SimplePortal 2.3.7 © 2008-2024, SimplePortal