Ü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
Segítségkérés / Rppont kiirás hiba
« Dátum: 2011. Június 28. - 15:16:22 »
Mert egy átlag általában egy nem egész szám tehát float típusú. (0.34)
 
Idézetet írta: Detrot date=1309259880\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9240\" data-ipsquote-contentclass=\"forums_Topic
format(str,128,\"% jelenglegi állása: %d pontozás, átlag: %d\", Info[id][rppontszam],Info[id][rppont]/Info[id][rppontszam]);
 
Próbáld ki így:
 

format(str,128,\"Jelenlegi állása: %d pontozás, átlag: %f\", Info[id][rppontszam], float( Info[id][rppont] / Info[id][rppontszam] ));

1862
Segítségkérés / CreateDynamicObject
« Dátum: 2011. Június 28. - 12:29:29 »
Túl sok a a filterscript azokat vedd ki amikben van CreateObject vagy CreatePlayerObject.
A streamer nem tud dolgozni ha minden szabad hely foglalt.
A létrehozható objectek maximális száma egy játékosnak 400 egyszerre.
Tehát ha te létrehozol CreateObject(.. vagy CreatePlayerObject(.. -el 400 darabot akkor nem lesz szabad hely a streamer.pluginnak, objectek létrehozásához.
Hogy jobban értsd:
Minden egyes object CreateDynamicObject(.. formátumban szerepeljen Incognito Streamer Plugin esetében, még a filterscriptekben is!

1863
Segítségkérés / CreateDynamicObject
« Dátum: 2011. Június 28. - 00:31:20 »
Igen ez az a rész ahol akik tudnak segíteni csak találgatnak mi lehet a gond nálad, ha a szemük elõtt lenne minden része a samp szerverednek pár perc alatt rájönnének mi a gond.
Szerintem hogy ne kelljen találgatni annyit, sokat segítene ha bemásolnád a server.log-ot egyszeri szerver elindításról. (Nem kell több ezer sor chat szöveg!!!!!!!) :D
Az alapján egy csomó mindent ki lehetne zárni.
Sõt ha bemásolnád a módba ezt a sort is az OnGameModeInit alá a legvégére a return 1; elé:
 

printf(\"DynamicObject\'s: %d | Objects: %d\", CountDynamicObjects(), CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0, 250.0));

 
és ez alapján másolnád a log fájlt ide még így is több hiba lehetõséget zárnának ki a hozzáértõk.

1864
Idézetet írta: kurta999 date=1308993455\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9140\" data-ipsquote-contentclass=\"forums_Topic
Szép leírás :)
De 400-ra hiába állítod a drawdistancet, mert a max 300.
Ezt csak Limit Adjuster-el tudod megemelni.
 
Kösz Kurta.
Javítva a téma.

1865
Segítségkérés / Jármû vásárlás
« Dátum: 2011. Június 25. - 00:27:53 »
A script sorról sorra halad ez ebben a formába igaz a játékra is, tehát csak a pénz ellenõrzést kellene a jármû létrehozás elé tenni.
 

CMD:nrg(playerid, params[])
{
    if( GetPlayerMoney( playerid ) < 10000 ) return SendClientMessage( playerid, COLOR_RED, \"[HIBA] Nincs elég pénzed [10000$]\");
    new Float:vPos [ 4 ]; GetPlayerPos ( playerid, vPos [ 0 ], vPos [ 1 ], vPos [ 2 ] ); GetPlayerFacingAngle ( playerid, vPos [ 3 ] );
    new nrg = CreateVehicle ( 522, vPos [ 0 ], vPos [ 1 ], vPos [ 2 ], vPos [ 3 ], 250, 1, -1 );
    PutPlayerInVehicle ( playerid, nrg, 0 );
    GivePlayerMoney(playerid,-10000);
    new strings[512];
    new player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, player, sizeof(player));
    format(strings, sizeof(strings), \"%s Bizniszelt 10000 dollárért egy NRG-500 motort [/nrg]!\", player);
    SendClientMessageToAll(0xFFFF00AA, strings);
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0);
    return 1;
}

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

1867
SA-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]

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

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

1870
[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.

1871
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)\".

1872
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\".

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

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

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

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