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.
ilyesmit fogok használni. Gyorsan beteszem ezt a pár mapot meg kocsit a módba, aztán ha még lesz idõm, nekilátok a dolognak. Ha mégsem, akkor majd holnap. Amint sikerült megcsinálnom a dolgot, értesítem róla a kedves fórumozókat egy csodálatos hozzászólás keretein belül. A maradék dolog pedig csak a maxium karakterek száma... Valaki egy pontos, alátámasztott adatot nem tudna közölni végre? :hmmm:
Talán meglepõ, de igen, én pont az apróságokon akadok fent. Egy házrendszer, meg bútorrendszer, vagy esetleg valami kis függvény mennek mint a karikacsapás, az ilyen kis apróságok viszont sokszor nem mennek.
[/quote] Itt mintha a lekérdezett adat mindig a soron következõ %s helyére kerülne. Ez így is történik? Csak mert erre gondoltam már párszor, de még mindig nem látom a logikáját, hogy miért ne az elsõ helyre kerülne a karakterlánc minden alkalommal. Valahogy sosem próbáltam meg e miatt... Ezek szerint hagyjam a fenébe azt a sok változót, amelyet késõbb egy stingbe tennék vagy format(bigstr, sizeof bigstr...-al, vagy pedig strcat-al? Upsz, rosszul értelmeztem, már látom benne a logikát. Akkor amirõl én az elõbb beszéltem, kicsit másról szólt. Na mindegy is, akkor ezt most már értem. Eleinte az lesz a bigstr, hogy {00FF00}Valami\\n, aztán már {00FF00}Valami\\nSonkaaa\\n, majd {00FF00}Valami\\nSonkaaa\\nSaaajt\\n, stb., és így tovább. A második \"megoldás\" már nem is igazán megoldás, hiszen a lényeg nem az, hogy különbözõ számot adjak neki, hanem az, hogy kiírjam a dolgokat egy dialogba, majd azokat késõbb még fel is tudjam használni, az adott adat újbóli lekérdezések nélkül. Viszont az elsõ megoldásod abszolúte tökéletes. A végén még ma megvalósítom a dolgot, habár nemsokára lépni készülõdök.
Spoiler for SendClientMessage:
// A SendClientMessage lehet crashel ekkora karakterláncnál meg megse tudja jeleníteni.
[/quote] Amúgy a SendClientMessage csak egy példa volt, természetesen nem ahhoz kell, hanem dialoghoz. Igazából írhattam volna azt is a SendClientMessage helyett, csakhogy nem tudtam hogyan kéne azt leírni, hisz errõl is szól a 2. kérdésem. Meg persze a SendClientMessage rövidebb is, mint egy dialog, szóval miért ne írtam volna le azt, amelyikkel gyorsabban megvagyok?
Eszembe jutott egy kérdés. Milyen IP címen elérhetõek a szerverek? A megjegyezhetõség miatt kérdezem.
[/quote] Szia 144.76.182.26
[/quote]
Spoiler for Halkan megjegyzem...:
A jelenlegi szerverem IP-je jóval inkább megjegyezhetõ... (Nem fogok reklámozni, de aki akar, az könnyedén kitalálja, jelenleg hol hostolok, és megláthatja az IP-t is.) Jó a memóriám, de ez valahogy nem olyan agybarát IP. Habár ha kapnék egy 7777-es porttal rendelkezõ szervert, raknék rá egy domaint, hogy azzal csatlakozzanak, amit igen könnyû lenne megjegyezni A jelenlegi hostnál is ezért könyörgöm lassan 2 éve, de sosem kaptam meg. Az úgy meg rondán néz ki, hogy pl. sampip.hu:8829 - fúúj... Ráadásul mindig szabad volt egy ilyen gép, egy ilyen IP-vel, de mégsem tették át. Persze talán egy picit joggal, hiszen nem kötelességük, de igazán megtehették volna a sok kérésem után... Na mindegy is, ez igazából egy nagy OFF, ezért spoilerbe tettem, de azért megosztottam veletek, remélem nem baj.
An*@d de szeretlek Zsolesszka, te mindig meglepsz Na de komolyra fordítva a szót, ha ez tényleg így van, akkor ez az egész hercehurca elmehet melegebb éghajlatra, mert akkor ott lesz minden adat, ami csak kell a számomra, és nincs semmiféle plusz változó, ezer meg ezer lekérdezgetés, stb. Csak ki kell írni a dolgot. Na majd holnap ezzel kapcsolatban is munkálkodom. De ma már csak mapolok, és fórumozok, ha nem baj Azonban kérdéses még a max karakterek száma... Ha esetleg több lenne mint 2048 (ha jól számoltam), akkor meg lenne oldva a dolog. Így viszont túl lógok a 2048-on a 2200-ammal, és abból a 22 karakterbõl nem nagyon szeretnék engedni - inkább csak növelni. Ha viszont két karakter csökkentésére kényszerülök, hát legyen... 21 karakter kiesik ugye, mert az 2100, marad a 20, ami 2000. És akkor maga a szöveg maximum 18 karakter lehet, de én 20-at szerettem volna. De majd még eldöntöm. Esetleg 2 oldal legyen e, stb. Valkai mondhatna már egy biztos adatot a limitrõl :rolleyes: :shurg: Habár a wiki eléggé megbízható, lehet hogy valami csoda folytán még Zsolesszkának lesz igaza :angel: Edit: nem ide tartozik, de akkor ezek szerint az MSGBOX-nál a kiírt szöveg az inputtext?
Zsolesszka, köszönjük az elmélkedést, és az új információkat Az új adat, miszerint 2x annyi karakter fér el egy dialogban, eléggé jó hír a számomra. Engedd meg, hogy én is matekozzak egy kicsit. Számoljunk 22 karakterrel soronként (benne a \\n-el). Akkor 22*100 = 2200. Akkor ha igaz amit mondasz, és valóban 4096 a határ, el fog férni a dolog egy dialogban is. Imádkozzunk, hogy igazad legyen! :thumbsup: Igaz, 100 sor csak néhány esetben lesz létrehozva, de ha mégis, az utolsó sorok egyikében sem szeretnék bugot. Azt hiszem, holnap utánajárok a dolognak, és egy kis teszt kóddal (ha addig nem elõz meg senki) leellenõrzöm az állítást, és kiíratok annyi sort, amennyit csak tudok. Habár majd számításba kell vennem azt is, hogy 10-nél, majd 100-nál +1 karaktert kapunk, ugyanis - hogy ne kelljen manuálisan számolgatnom - a dialogba a számot írnám le. Na mindegy, holnap úgyis minden kiderül - ha valóban lesz idõm és kedvem letesztelni a dolgot :angel: Azonban itt van még a 2. kérdés is, amelyet nehéz egy jelzõvel illetni, inkább nézzétek meg a példáimat, és a magyarázataimat, hátha megértitek, hogy mit szeretnék megvalósítani - és talán még megoldást is adtok rá Van egy olyan érzésem, hogy egy strcat függvény is lesz a dologban. Igaz, akkor a kapott eredményt nem tudom eltárolni stringekbe, de legalább ki tudom íratni õket, valamint a kiíráskor egy újabb változónak megadok egy értéket, ami a lekérdezett sor ID-je lenne. És akkor utólag vissza tudom keresni az ID alapján a sor bármely adatát. Lehet, hogy megvan a megoldás? De nem szeretnék lekérdezgetni állandóan, szóval ha a különbözõ stringekbe való eltárolásra tudnátok megoldást adni, akkor annak nagyon örülnék. Igaz, amit az elõbb a hozzászólásom írása közben kielmélkedtem, lehet, hogy megoldás lesz... Na majd kiderül.
CMD:teszt(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerVirtualWorld(playerid) == 1) { SendClientMessage(i, 0xFFFFFFFF, \"Ezt látja az, aki az 1-es VW-ben van.\"); } } }
[/quote] Így a parancsot beíró játékosnak kérdezi le a VirtualWorldját... Amúgy elõtted már javítottam a figyelmetlenségemen. Lásd:
CMD:teszt(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerVirtualWorld(i) == 1) { SendClientMessage(i, 0xFFFFFFFF, \"Ezt látja az, aki az 1-es VW-ben van.\"); } } }
Semmi baja a parancsnak, csak figyelmetlen voltam Próbáld meg így:
CMD:teszt(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerVirtualWorld(i) == 1) { SendClientMessage(i, 0xFFFFFFFF, \"Ezt látja az, aki az 1-es VW-ben van.\"); } } }
CMD:teszt(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerVirtualWorld(playerid) == 1) { SendClientMessage(playerid, 0xFFFFFFFF, \"Ezt látja az, aki az 1-es VW-ben van.\"); } } }
Egyébként AnthonyGates is pontosan errõl írt hozzászólást...
A CreateVehiclének be lehet állítani respawn idõt, míg az AddStaticVehiclének már nem. Azonban az AddStaticVehicleExnél már szintén van respawn idõ. Meg még biztos van valami különbség, de most így hirtelen csak ez ugrott be...
Ha nekik mész, sajnos eltolódnak egy kicsit. Ez ellen szerintem semmit sem lehet tenni. Maximum azt, hogy ha elmozdul a helyérõl (OnPlayerUpdate, IsPlayerNPC, GetPlayerPos, SetPlayerPos) visszategye a régi helyre, és/vagy a felvételt újrakezdje.
A végén még leváltom a sunwell.hu-t :angel: ::| :whistle: :unsure: Neeem, dehogyis, azt nem lenne szabad. :nono: Viszont ha szükségem lesz egy jó sok slotos szerverre, már tudom, hogy kit keressek fel
new LehetEOlni = 1; // Lehet ölni /parancs // Majd te megírod a saját parancsfeldolgozódra { i f(IsPlayerAdmin(playerid) { if(LehetEOlni == 0) // Ha nem lehet ölni { LehetEOlni = 1; // Lehet már ölni } else // De ha lehet { LehetEOlni = 0; // Nem lehet ölni } } } public OnPlayerUpdate // Nem pont így van, de a lényeg, hogy az OnPlayerUpdate alá tedd { if(LehetEOlni = 0) // Ha nem lehet ölni { new Float:Elet; if(GetPlayerHealth(playerid, Elet) < 100) // Ha az élete kisebb, mint 100 (megsebezõdik, meglövik, elütik, legyen szó bármirõl, szóval ha nem 100 az élete, akkor... { SetPlayerHealth(playerid, 100); // ...az élete feltöltõdik 100-ra, így sosem tudják majd megölni õt, persze csak akkora, ha nem lehet ölni. } } }
Igen, és akkor 1000-nél objected is lehet, ha egyáltalán most az a probléma, hogy túllépted a határt. De ahhoz kelleni fog a streamer plugin, és függvénykönyvtár. De persze az is probléma lehet, hogy nem jól használod a konvertert, vagy pedig rossz helyre írod a forráskódon belül a függvényeket. Az OnGameModeInIt alá tetted az objecteket? (Nem tudom, hogy mennyire vagy kezdõ, de ezen téma, és ezen hozzászólásaid az elsõ megnyilvánulásaid ezen a fórumon, így tehát elégé alap dolgokra kérdezek rá, ha nem baj.)
Én az elsõt használnám. Mivel nálam a fegyverek használhatóak, ezért a fegyverekhez nem használok ilyet, azonban a pénzhez már igen: és az én kis Anti Pénz Hack kódocskámat az OnPlayerUpdate alatt használom, nem pedig timer alatt. Ami egyébként jobban laggoltatna is szerintem. A timer pedig folyamatosan meghívódik, nem csak akkor, amikor a játékos csinál valamit, a helyzete frissül, Updateleõdik. Így ha leviszi a játékot ikonba, akkor elméletileg a timer tovább megy, az Update alatti dolgok viszont csak akkor teljesülnek, ha valamit csinál, pl. egy fegyvert elõvesz. Szerintem bõven elég az OnPlayerUpdate-et használni, hiszen azért találták ki, hogy megkönnyítse a helyzetünket, valamint ne okozzon a folyamatosan figyelendõ dolog akkora laggot, mint pl. egy timer. Ez az én véleményem. Puszi, pacsi.