Ü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 ... 123 124 [125] 126 127 ... 136
1861
Mivel elég sok helyen felmerül ez a gond és az elmúlt pár napban megkérdeztek engem is gondoltam megosztom ezt a kis szösszenetet veletek, vagyis megpróbálom leírni, megfogalmazni.
 
A jelenlegi samp (0.3c)verzióban a MAX_OBJECTS értéke 400.

#define MAX_OBJECTS                        (400)

 
[/quote]
Mit is jelent ez az érték pontosan?
 
A pontos értelmezése a MAX_OBJECTS kifejezésnek az, hogy egy játékosnak maximálisan ennyi objectet lehet megjeleníteni létrehozni egyszerre, különbözõ CreateObject függvények segítségével az alap objecteken kívül.[/quote]
Itt jönnek képbe a különbözõ streamer dolgok:
Sokan félre értelmezik a streamer-t azt gondolják hogy ez arra való hogy ezt az értéket túllépjük.
De ez nem teljesen így van, a 400 az 400, sa-mp ezen verziójánál ennyi és kész.
Egy adott helyzetben a megjeleníthetõ objectek maximális száma 400!
A hangsúly a megjelenítésen van, amit lehet másképp fogalmazni pl. betöltés, létrehozás.
A streamer mûködési elve a következõ:
 
Ahogy a játékos változtatja a pozícióját számára úgy kerülnek létrehozásra az új objectek és ahogy elhagyja(távolodik), a korábban létrehozott objectek törlésre kerülnek.[/quote]
Ezért tûnik úgy a játékban hogy sokkal több object van mint 400!
És ez így van, de akkor is egyszerre egy játékosnak nem lehet 400-nál több objectet megjeleníteni, a samp 0.3c verziója mellett, és ez igaz az összes többi limitre is TextDraw, 3DText, stb..
Van egy információs rész a játékban amit az F5 gomb lenyomásával lehet elõhozni, ott keressétek azt a sort hogy \"ObjectSlotsUsed\"
és az utána lévõ értéket nézzétek meg többször ahogy haladtok a játékban, ez az érték mutatja hogy számodra éppen mennyi object van megjelenítve, létrehozva, betöltve.
Ha ez az érték folyamatosan 399-et mutat akkor túl sok object lett építve az adott helyen, emiatt nem jeleníti meg az összes objectet amit oda gyártottak mapoltak készítettek, építettek, vagy mással mapoltattak vagy letöltötték a mapokat, stb..
Viszont itt meg kell említeni még egy értéket ami az objectek létrehozásakor distance felirat mutat, ami alapból 200-ra van állítva.
Streamer Plugin by Incognito
Mit is jelent ez egyszerûen fogalmazva?
Képzelj el, képzeljetek el egy 200 sugarú gömb területet melynek a közepében a játékos van.
Ahogy halad a játékban változtatja pozícióját akkor, ami a gömb belsejébe kerül az megjelenítésre kerül(object load), ami a gömb belsõ területén kívülre kerül az viszont törölve lesz(object delete).
És ez az érték más és más lehet a különbözõ objectnél, például egy hatalmas épület distance értékét akár 300-ra is lehet és kell is állítani, ez a maximális érték ami 0.3b óta használható http://wiki.sa-mp.com/wiki/CreateObject
 
Float:DrawDistance   (optional) The distance that San Andreas renders objects. 0.0 will cause objects to render at their default distances. 300.0 is the usable maximum. Usable since 0.3b.[/quote]
, hogy látható maradjon mert ez az érték szintén az object középpontjától kerül ellenõrzésre, viszont egy kisebb tárgyat például egy labdát elég 80-100-ra beállítani, (ennél kisebb értéket nem javaslok személy szerint).
 

Remélem elég érthetõre sikerült megírnom, de majd lehet módosítani fogom, hogy még érhetõbb legyen csak most túl álmos vagyok.

1862
SA-MP / Open.mp: Szerverfejlesztés / Szimpla AFK
« Dátum: 2011. június 24. - 09:51:35 »
Idézetet írta: Gumikacsa date=1308552514\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8988\" data-ipsquote-contentclass=\"forums_Topic
Hello!
Unalmamban írtam egy kisebb AFK systemet.
Beírod hogy /pill akkor kiad neked egy üzenetet hogy AFK vagy(GameText,SendCillenTMessage) és elküld mindenkinek egy üzenetet hogy Pillen vagy a fejedfölé helyez egy 3D Textet hogy AFK
Ha beírod hogy /itt akkor kiad neked egy üzenetet hogy Visszajöttél Játszani(GameText,SendCillentMessage) és elküldi mindenkinek hogy visszajöttél és elt?nteti a 3D Textet hogy AFK vagy.
Forráskód:
 
/*=======================
Kenguru\'s AFK System
=======================*/
#pragma tabsize 0
#include <a_samp>
#include <fixchars>
#include <zcmd>
new Text3D: AFK;
CMD:pill(playerid, params[])
{
new string[256];
new kuldoneve[MAX_PLAYER_NAME];
SendClientMessage(playerid,0x99FF00AA,\"Ha visszajöttél /itt\");
GameTextForPlayer(playerid,\"~r~ Pillen vagy\", 5000, 1);
AFK = Create3DTextLabel(\"AFK\", 0xFF0000FF, 0.0, 0.0, 2.0, 40, 0, 0);
Attach3DTextLabelToPlayer(AFK, playerid, 0.0, 0.0, 0.4);
TogglePlayerControllable(playerid, 0);
GetPlayerName(playerid, kuldoneve, sizeof(kuldoneve));
format(string, sizeof(string), \"%s Pillen Van [/pill]\",kuldoneve, playerid);
SendClientMessageToAll(0x33CCFFCC, string);
return 1;
}
CMD:itt(playerid, params[])
{
new tmp[256];
new kuldoneve[MAX_PLAYER_NAME];
Delete3DTextLabel(AFK);
GameTextForPlayer(playerid,\"~g~ Visszajöttél Játszani\", 5000, 1);
TogglePlayerControllable(playerid, 1);
GetPlayerName(playerid, kuldoneve, sizeof(kuldoneve));
format(tmp, sizeof(tmp), \"%s Viszajött Játszani [/itt]!\", kuldoneve, playerid);
SendClientMessageToAll(0x33CCFFCC, tmp);
return 1;
}

 
Nemtudtam tesztelni 100%-ban egyedül.
 
Míg egy játékos használja a parancsot akkor még jól mûködhet kivéve a a 3DText létrehozása és törlése okozhat gondot.
 
new Text3D: AFK;[/quote]
Ez csak egy játékosnak tárolja el a Create3DTextLabel index értékét és közben ha más is használja a /pill parancsot akkor már felülírásra is került ezen érték, így a törlése (Delete3DTextLabel), már nem lesz jó.
[pawn]
new Text3D: AFK[MAX_PLAYERS];
AFK[playerid] = Create3DTextLabel(\"AFK\", 0xFF0000FF, 0.0, 0.0, 2.0, 40, 0, 0);
Attach3DTextLabelToPlayer(AFK[playerid], playerid, 0.0, 0.0, 0.4);
Delete3DTextLabel(AFK[playerid]);
[/pawn]

1863
Segítségkérés / Checkpoint HELP !!
« Dátum: 2011. június 23. - 14:15:25 »
Kicsit megnéztem õket a SetPlayerCheckpoint eltûnik ha épp beülök egy jármûbe, ezért nem is reagálhat rá. De lehet ez csak nálam fordul elõ.
SetPlayerCheckpoint helyett  a SetPlayerRaceCheckpoint -ot használd, hátha jobb lesz.

1864
@ Kurta igazad van egy cella értéke így nem lehet több 255-nél ezért javítom a fenti kódot.

1865
[pawn]
stock
RandPlayerID()
{
new
   OnLine[MAX_PLAYERS],
   OnLineCount = -1;
for(new i = 0, gmp = GetMaxPlayers(); i < gmp; i++)
{
   if(IsPlayerConnected(i))
      OnLine[++OnLineCount] = i;
}
return (OnLineCount > -1)?(OnLine[random(OnLineCount + 1)]):(INVALID_PLAYER_ID);
}      
[/pawn]
Példa:
[pawn]
COMMAND:sorsol(playerid)
{
new
   str[128];
format(str, sizeof str, \"OnLine véletlenszerû playerid: %d\", RandPlayerID());
SendClientMessage(playerid, -1, str);
//   print(str);
return 1;
}
[/pawn]
Edit:
Közben kicsit kutakodtam hátha valaki írt már pont ezen az elven hát írt de azért nem törlöm a topicot linkelem azt amit találtam:
link
És itt egy egész topic a témáról  ;D
Ha minden igaz akkor minden hiba lehetõség kiküszöbölve. Kód frissítve. Ha mégis akad, akkor írjátok ide.

1866
Segítségkérés / Sorsolás
« Dátum: 2011. június 21. - 23:16:34 »
Idézetet írta: Detrot date=1308688577\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9050\" data-ipsquote-contentclass=\"forums_Topic
én azt számoltam hogy hány player van online. Nem idket. Ha egy játékos bevan lépve akkor rakja feljebb a változót szóval amit írtam ilyen szempontból helyes
 
Ha lefuttatsz egy for ciklust i változóval jelölve, akkor ne playeridet használj!
 
      for(new i; i<MAX_PLAYERS; i++)
      {
         if(IsPlayerConnected(playerid))
         {
            playerek[playerid] ++;
         }
      }
[/quote]
Helyesen:
 

      for(new i; i<MAX_PLAYERS; i++)
      {
         if(IsPlayerConnected(i))
         {
            playerek ++;
         }
      }

 
De most így végig gondolva még jobban az egész úgy ahogy van rossz, hamár bizonygatod hogy helyes.  :angel:
Edit:
Írtam egy kis kódot amit itt postoltam, sokat nem tudtam tesztelni de a bot játékosokkal a házi szerveren jól mûködött, talán ez hasznos lesz számodra, ha meg használsz foreach.inc-t akkor egyszerûbb a dolgod \"Itter_Random(Player)\".

1867
Segítségkérés / tag mismach hiba
« Dátum: 2011. június 21. - 23:14:12 »
Hát túl kevés a kód ahhoz hogy tesztelni lehessen vagy teljes kódot postolj vagy egész scriptet, az eddig példázott kódok helyesek, mûködõképesek.
Esetleg másold be az enum tömböket amikben ez a két változó szerepel \"leaderranga\", \"leaderes\".

1868
Segítségkérés / animba esés hiba
« Dátum: 2011. június 21. - 22:07:58 »
Hát talán próbáld meg fordítva elsõnek lefagyasztani majd utána animációt lejátszani.
De lehet kell egy kis késleltetést (SetTimerEx) is beállítani az animációnak.

1869
Segítségkérés / tag mismach hiba
« Dátum: 2011. június 21. - 21:59:49 »
Ebben a kód részletben nem szerepel olyasmi ami miatt ilyen hibát írna ki.
Esetleg ha a (kiir7) változónak, nincs megadva méret.
 

new kiir7[128];

 
De amúgy is csak megkérdezem minek kell minden egyes esetben megnézni hogy 3-as leader-e a játékos?
Egyetlen egyszer elég lenne a feltétel vizsgálat sorozatban. 

1870
Segítségkérés / Sorsolás
« Dátum: 2011. június 21. - 21:55:07 »
Idézetet írta: Detrot date=1308681236\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9050\" data-ipsquote-contentclass=\"forums_Topic
Mód elejére:
 
new playerek[MAX_PLAYERS];

 

CMD:sorsol(playerid, params)
{
if(IsPlayerConnected(playerid))
{
for(new i; i<MAX_PLAYERS; i++)
{
   if(IsPlayerConnected(playerid))
   {
      playerek[playerid] ++;
   }
}
new rand = random(playerek[playerid]);
    new str[256];
new name[64];
GetPlayerName(rand, name, sizeof (name));
format(str, 256, \"Kisorsolt ID: %d, Játékos neve: %s\", rand, name );
SendClientMessage(playerid, COLOR_WHITE, str);
}
}

 
Pawno nem ír hibát, de nem teszteltem!
 
Pár indexet nem jól adtál meg!
És természetesen megint rossz az elképzelés mert azt veszitek alapul hogy egy szerveren mindig 0 tól vannak a playerid értékek, és minden értéken van csatlakozva valaki holott ez nem igaz.
Mi van akkor ha a 2, 3, 5, 6,  8, 10,-es id-n vannak játékosok a szerveren akkor hogy választanátok ki egyet véletlenül?

1871
Segítségkérés / Furcsa hiba
« Dátum: 2011. június 19. - 15:57:35 »
Oksa, szóval, restart után beállok rendõrnek. Egy játékos beírja /107 én elfogadom, de ekkor semmi nem történik.[/quote]
Ezt meg hogy érted hogy semmi? Egyáltalán semmi üzenet nem jön fel mikor beírod a parancsot (/elfogad)?
Mert akkor már más lehet a gond, mert a parancs felépítése szerint minden eshetõségre meg kellene jeleníteni valamit.
Küld itt pm-ben a szerver IP-t meglesem.

1872
Segítségkérés / Furcsa hiba
« Dátum: 2011. június 19. - 12:36:46 »
Hát nem tudom amit leírsz nem igazán fedi azt ami a kódban szerepel.
Ugye van egy változó (rhivott[playerid]) amit a rendõrt hívó játékosnak igazra való állításával jelölsz (rhivott[playerid] = true;).
Amint egy rendõr ezt elfogadja akkor ez a változó hamis értékre lesz állítva (rhivott[adottid] = false;), akkor több rendõr már nem tudja ezt elfogadni.
Ezért nem értem hogy te restart után mit remélsz?
Hogy minden adat megmaradjon ami változókban van tárolva?
Ahhoz hogy újra elfogadni lehessen egy hívást valakinek használni is kell a /107 parancsot, most akkor azt mondod hogy egyáltalán nem jelenik meg semmilyen üzenet akkor ha valaki beírja \"/elfogad\" ?
Kicsit jobban írd le mi a gond utána már lehet te is rájössz mi lehet a hiba.

1873
Segítségkérés / Furcsa hiba
« Dátum: 2011. június 18. - 22:57:00 »
Ebben a parancsban egyáltalán semmi nem utal arra hogy pont téged hívtak személy szerint itt csak annyi van hogy egy adott játékos egy rendõrt hív akkor a számára kijelölt változó át lesz állítva (rhivott[adottid] = true) és azt bármelyik rendõr teamhez tartozó( if(gTeam[playerid] == TEAM_COPS) ) játékos eltudja fogadni.
Ha egyéb más gond van akkor az a /107 parancsban keresendõ. Postold azt is.

1874
SA-MP / Open.mp: Szerverfejlesztés / CryRPG
« Dátum: 2011. június 18. - 20:04:19 »
:D
Nézegettem kicsit a módot és elég sok mindent sokkal egyszerûbben meg lehetne oldani.
És ez a licensz dolog :D
 
Idézetet írta: Light date=1308390247\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8886\" data-ipsquote-contentclass=\"forums_Topic
Ez arra az esetre van, hogyha az amx-et lopnák el.
Mivel a pwn-t soha nem raktuk fel sehova. (FTP-re SE!)
 
De a nwrproleeandlightverziolicenszje.txt viszont fenn van a szerveren.
Talán a_http.inc-ben lévõ kapcsolati lehetõséggel próbálkoznátok akkor jobb lenne talán, pl: másik webhelyen tárolt .txt fájlból olvasná ki a kódot.

1875
Segítségkérés / Segítség adminhelp
« Dátum: 2011. június 18. - 10:27:54 »

COMMAND:aparancsok(playerid)
{
SendClientMessage(playerid, Alpha, \"[admin]: Adminisztrátori parancsok:\");
SendClientMessage(playerid, Alpha, \"[admin]- Szint nélküli Parancsok: /aregister /alogin - Adminnak regisztráció és belépés /Szintet nem ad/\");
if(AdminInfo[playerid][AdminSzint] > 0)
{
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /kick - Játékos eltávolítása a szerverrõl\");
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /ban - Játékos kitiltása a szerverrõl\");
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /warn - Játékos figyelmeztetése. 3 után autómatikus eltávolítás\");
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /felolvaszt - Játékos Felolvasztása\");
SendClientMessage(playerid, Alpha, \"[admin]-szint 1: /lefagyaszt - Játékost Lefagyasztot\");
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /goto - Játékoshoz teleportálás\");
SendClientMessage(playerid, Alpha, \"[admin]-Szint 1: /asay - Adminisztrációs üzenet írása a felhasználóknak\");
}
if(AdminInfo[playerid][AdminSzint] > 1)
{
SendClientMessage(playerid, Alpha, \"[admin]-Szint 2: /adminfelvesz - Játékos kinevezése Adminisztrátorrá\");
}
   return 1;
}

 
Nem teszteltem de mûködnie kell szerintem de ha túl sok szöveget fog tartalmazni az adott parancs és egy nagyobb szinten lévõ admin írja be a parancsot akkor lehet az elejét nem fogja látni.  >:D

Oldalak: 1 ... 123 124 [125] 126 127 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal