|
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. 1786
Segítségkérés / Melyiket tartjátok jobbnak egy RP szerverre?« Dátum: 2011. július 24. - 17:57:55 »
Hát ahogy neked jobban tetszik úgy oldod meg, mivel mindenféleképpen kell használnod parancsot ezért már csak rajtad áll hogy mellé használsz-e dialog -ot is.
Természetesen azért írom hogy mindenféleképpen kell hozzá parancs is mert gondolom nem gombnyomásra vagy bármi más módon akarod elindítani a bank rendszert, meg valahogy csak meg kell tudni adni mennyi összeg legyen betéve vagy kivéve, hacsak azt is nem billentyûzet-re írod meg amit kétlek. Ezért szerintem zcmd-t meg dialog-ot is használj.
1787
SA-MP / Open.mp: Szerverfejlesztés / 3D Text/Class Készítõ« Dátum: 2011. július 24. - 12:48:28 »
Nem rossz de az ilyeneket miért nem egyszerûsíted le?
switch(listitem) 1788
Beszélgetés / Hogy ejted ki az elõtted szóló nevét?« Dátum: 2011. július 24. - 09:10:48 »![]() csabi 1789
Segítségkérés / sscanf Kocsilehívó hiba« Dátum: 2011. július 24. - 08:56:52 »Idézetet írta: Ronii date=1311451846\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9763\" data-ipsquote-contentclass=\"forums_Topic Nagyon szétvan darabolva a parancsod! Ennél 1xübben is meglehetne oldani, de most nemtudom átírni neked, mert sok a dolgom. :angel:Tényleg sok lehetett a dolgod. ![]() [pawn] if ( vehicle == /* ModelID */ ) return SendClientMessage ( playerid, 0x0000FF, \"Hiba: Tiltott kocsit akartál spawnolni!\" ); { [/pawn] 1790
Segítségkérés / Könnygáz« Dátum: 2011. július 24. - 08:54:16 »
Van valamilyen füst szerû object többféle is, sajnos fejbõl nem tudom az object modelid számát de valaki biztos postolni fogja neked.
1791
SA-MP / Open.mp: Szerverfejlesztés / GetVehicleDriver(vehicleid)« Dátum: 2011. július 24. - 00:56:32 »
Download:
http://solidfiles.com/d/ed99/ Hiba javítva. Letöltés v1.1 http://solidfiles.com/d/4a198/ Nincs for ciklus. Igazán talán roleplay módokban használják ezt a funkciót többet, egyszerre egy jármû azonosító szám megadásával ellenõrizhetõ van-e játékos jármûvezetõként a jármûben. Test script: [pawn] #include <a_samp> #define FILTERSCRIPT #include <zcmd> #include <getvehicledriver> #if defined FILTERSCRIPT public OnFilterScriptInit() { #else public OnGameModeInit() { #endif return 1; } // test command COMMAND:getvehicledriver(playerid, params[]) { if(isnull(params)) return SendClientMessage(playerid, -1, \"Usage: /getvehicledriver [vehicleid 1 - 2000]\"); new str[128], player1 = GetVehicleDriver(strval(params)); if(player1 != INVALID_PLAYER_ID) { new PlayerN[MAX_PLAYER_NAME]; GetPlayerName(player1, PlayerN, 24); format(str, sizeof str, \"VehicleDriver vehicleid: %d | playerid: %d | PlayerName: %s\", GetPlayerVehicleID(player1), player1, PlayerN); SendClientMessage(playerid, -1, str); } else { SendClientMessage(playerid, -1, \"No player is the driver as\"); // Sorry google translate } return 1; } /* //old code: stock GetVehicleDriver(vehicleid) by.: forum.sa-mp.com user { for(new i; i < 500; i++) { if(!IsPlayerConnected(i)) continue; if(GetPlayerState(i) != PLAYER_STATE_DRIVER) continue; if(GetPlayerVehicleID(i) == vehicleid) { return i; } } return -1; } */ [/pawn] És azoknak akik nem akarnak még egy plussz .inc fájlt de használni szeretnék ezt a funkciót itt a kód amit csak be kell ágyazni a gamemod-ba vagy filterscript-be: [pawn] #include <a_samp> /* GetVehicleDriver function by Zsolesszka aka Phento v1.1 Date 2011.07.23 Example put In OnGameModeInit Or OnFilterScriptInit */ static VehicleDriverPlayerid[MAX_VEHICLES] = { INVALID_PLAYER_ID, ... }; //------------------------------------------------------------------------------ stock GetVehicleDriver(vehicleid) { if(vehicleid < 1 || vehicleid > sizeof(VehicleDriverPlayerid)) return INVALID_PLAYER_ID; // invalid array if(VehicleDriverPlayerid[vehicleid - 1] != INVALID_PLAYER_ID && IsPlayerInVehicle(VehicleDriverPlayerid[vehicleid - 1], vehicleid) && GetPlayerVehicleSeat(VehicleDriverPlayerid[vehicleid - 1]) == 0) return VehicleDriverPlayerid[vehicleid - 1]; // return playerid vehicledriver return VehicleDriverPlayerid[vehicleid - 1] = INVALID_PLAYER_ID; } //------------------------------------------------------------------------------ public OnPlayerStateChange(playerid, newstate, oldstate) { // -> if(newstate == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid) { VehicleDriverPlayerid[vehicleid - 1] = playerid; } } //-< return 1; } //------------------------------------------------------------------------------ [/pawn] Hiba javítva, a hiba abból állt ha egy jármû vezetõje voltam és utána egy másiké is akkor hibás adat maradt vissza hogy én még mindig az elõzõ jármû vezetõje is vagyok. Ezt sikerült kiküszöbölni az IsPlayerInVehicle függvénnyel ami ellenõrzi hogy az adott jármûben is van-e a játékos. 1792
Pluginok és Programok / Performance profiler« Dátum: 2011. július 23. - 14:33:42 »
Zeex meglepte a samp közönséget egy újabb pluginnal ami szintén azoknak nyújt újabb segítséget akik szeretnék módjukat, scripjüket minél jobban optimálisabbá tenni.
Profiler plugin 2.0a2 Leírás: A plugin számolja hogy egyes funkciók hányszor lettek meghívva, és mennyi idõt vesz igénybe végrehajtásuk. Ezt az információt elmenti HTML táblázatként melyet megnézhetünk bármelyik modern böngészõvel. Profilozásról több információ: http://en.wikipedia.org/wiki/Profili...programming%29 Használat: Ha azt szeretnéd hogy a profilozza a szkripted, másold a teljes nevét <server>/plugins/profiler.cfg, pl.:
Ha a script szerepel ezen a listán akkor betöltésre kerül és automatikusan profilozásra kerül. A profilozó adatokat gyûjt míg a szkript véget nem ér, vagy be nem zárod a szervert vagy /gmx vagy /unloadfs parancsot nem használod. Amikor ez megtörténik, minden adat mentésre kerül HTML fájlként oda ahol a profilozott szkript található, vagyis azonos könyvtárba. Ha filterscript van profilozva akkor az adatokat a <server>/filterscripts mappába menti ha gamemode akkor a <server>/gamemodes mappába menti. A kimeneti fájl neve megegyezik a betöltött fájl nevével, csak kap egy .prof kiterjesztést (pl.: lvdm.amx.prof), melyet megnézhetünk kedvenc böngészõnkkel. Példa a kimenetre: http://cloud.github.com/downloads/Zeex/profiler/grandlarc.amx.prof Letöltés: https://github.com/Zeex/profiler/archives/master\'>https://github.com/Zeex/profiler/archives/master Forráskód: https://github.com/Zeex/profiler Hát én személy szerint bánom hogy eltüntette ebben a kiadásban a nativ funkciókat de azért így is remek plugin. Hivatalos oldal: http://forum.sa-mp.com/showthread.php?t=271129 Profiler plugin 1.5 és 1.4 verzió
A plugin nevébõl eredõen ez egy teljesítmény profilozó kimutató kiegészítõ, mely futás közben elemez egy adott kódsorozatot (pl.: OnPlayerConnect alatt mindent) melyben elhelyezzük az utasításait, majd mentést készít az eredményrõl fájlként. Részletesebb információ: A plugin a Profiler_Start(); funkciótól kezdve számolja és méri hogy a kódsorozatban a függvények (pl.: SendClientMessage | GetPlayerName | GetPlayerPos | stb) hányszor kerülnek meghívásra és a végrehajtás feladata mennyi idõt vesz igénybe. Egészen addig míg a Profiler_Stop(); utasítást meg nem kapja. Ezután ki írathatjuk az eredményt egy eljárás egyszeri meghívásának idõszükséglete szerint sorba rendezve a következõ [pawn] Profiler_PrintStats(\"profiler1_5.html\", PROFILER_ORDER_BY_TIME); [/pawn] utasítással, ami létrehoz egy profiler1_5.html fájlt, melyet bármelyik böngészõ segítségével megtekinthetünk. Majd ajánlott az eredmények nullázása közvetlenül a [pawn] native Profiler_ResetStats(); [/pawn] utasítással, de ezt leleményesebb scripterek kitudják használni hogy többszöri ellenõrzés eredményének össze vonása legyen kiíratva akár mindig más fájlba.( jelenleg felülírásra kerül a fájlban az eredmény ) Hivatalos oldal: http://forum.sa-mp.com/showthread.php?t=271129 Innen tölthetõ le minden egyes részlete: https://github.com/Zeex/profiler/archives/master\'>https://github.com/Zeex/profiler/archives/master Eljárások: [pawn] // Mérési eredmény rendezésének típusai enum ProfilerStatsOrder { PROFILER_ORDER_NONE, // Nincs rendezés (talán meghívási sorrendben írja ki) PROFILER_ORDER_BY_CALLS, // Eljárások meghívás számával rendezi (hány szor lett meghívva míg az idõszükséglet mérés történik) PROFILER_ORDER_BY_TIME, // Eljárások idõ igénye szerint rendezi PROFILER_ORDER_BY_TIME_PER_CALL // Összesített idõ szerint rendezi sorba }; // Ahhoz hogy a profilozó megtudja vizsgálni amx fájlunkat meg kell adni számára a nevüket. // pl.: \"gamemodes/mygamemode.amx\" vagy filterscripts/myfilterscript.amx\" native Profiler_Init(const path_to_amx[]); // Elemzés kezdete. native Profiler_Start(); // Elemzés vége. native Profiler_Stop(); // Eredmények mentése fájlként. // Megjegyzés: addig ne készítsünk mentést míg az elemzés folyik! // Röviden a pawn kódunkban ne helyezzük a Profiler_Start() és a Profiler_Stop() utasítás közé csak a végére helyezhetjük el, ezt az utasítás! native Profiler_PrintStats(const filename[], ProfilerStatsOrder:order); // Statisztika törlése mellyel megszabhatjuk egy kis logika szerint hány ismétlõdés után törölje az eredményeket, ez eddig automatikus volt minden egyes Profiler_Start meghívásakor. native Profiler_ResetStats(); [/pawn] Használat: Töltsük le a plugint csomagoljuk ki tartalmát pawno/include mappába profiler.inc-t, a plugins mappába op rendszernek megfelelõen profiler.dll (Windows) profiler.so (Linux). Majd illesszük be OnGameModeInit vagy OnFilterscritpInit alá annak az amx fájlnak a nevét melyet elemezni kívánunk, a következõ módon: [pawn] #include <a_samp> #include <profiler> public OnGameModeInit() { Profiler_Init(\"gamemodes/mygamemode.amx\"); return 1; } public OnPlayerConnect(playerid) { Profiler_Start(); // Elemzés kezdete SendClientMessage(playerid, -1, \"Hello\"); printf(\"teszt script\"); Profiler_Stop(); // Elemzés vége Profiler_PrintStats(\"profiler.html\"); // Eredmények mentése profiler.html fájlba Profiler_ResetStats(); return 1; } [/pawn] Legjobb ha mindent abba a .pwn-be illesztünk amiben szeretnénk elemezni egy adott funkciót. Képet lehet találni a hivatalos fórumon milyen eredményt kaphatunk módunkról, melyben a vizsgálat idõtartama alatt kapott eredményben kiírásra kerülnek: Function | Calls | Time per call | Overall time | Overall time, %[/quote] 1793
Szkript kérések / SpanwCar« Dátum: 2011. július 23. - 12:11:50 »Idézetet írta: Sheet date=1311414530\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9628\" data-ipsquote-contentclass=\"forums_Topic
1794
Szkript kérések / SpanwCar« Dátum: 2011. július 23. - 10:28:40 »obo[T]\" post=\"157365\" timestamp=\"1311086020\"] 1795
SA-MP / Open.mp: Szerverfejlesztés / Automata üzenet küldö« Dátum: 2011. július 22. - 23:22:37 »
Nem rossz a következõ verzióban esetleg, az üzenetek sorban lennének megjelenítve és nem random módra, megoldható lenne?
Amúgy ez a rész megkérdezi hogy definiálva van-e a FILTERSCRIPT. #if defined FILTERSCRIPT //defináljuk hogy ez egy filterscriptet[/quote] 1796
SA-MP / Open.mp: Szerverfejlesztés / IP ORSZÁG KI ÍRÓ SCRIPT« Dátum: 2011. július 22. - 22:49:25 »Idézetet írta: Armani date=1311367543\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9780\" data-ipsquote-contentclass=\"forums_Topic nem láttam még publikálva most kaptam angolul de mind 1 köszi zsoleszka az eredeti linketSzívesen nincs mit, akkor zárom is a témát. 1797
Archívum / Reloaded - Bug Fix« Dátum: 2011. július 22. - 22:42:01 »
Köszönöm szépen a moderátori jogot.
1798
SA-MP / Open.mp: Szerverfejlesztés / IP ORSZÁG KI ÍRÓ SCRIPT« Dátum: 2011. július 22. - 22:39:07 »
Oh hát én tudom hogy ki készítette.
Személy szerényem módosította többször is az eredetileg Abhinav által készített scriptet. Ami ezen a fórumon is publikálva van. Itt megtalálható: http://sampforum.hu/index.php?topic=10896.msg122953#msg122953 1799
Segítségkérés / Enum kérdés« Dátum: 2011. július 21. - 11:08:30 »
Én még mindig nem vettem ki hogy mit akarsz ebbõl kihozni azt látom hogy dm-mel kapcsolatos.
Így kérdéses minek kell ennyire bonyolult adat structura felépítés. Egy idõben egy játékos egy dm-ben lehet igaz? Mi lenne ha egyetlen egy változó tárolná csak a dm-t, játékosonként? És ha nincs egyik dm-ben se, akkor ennek a változónak (-1) lenne az értéke, ha minigundm-ben van akkor mondjuk (0) lenne az értéke, ha sawnoffdm-ben van akkor (1) lenne és így tovább. Mikor kilép a dm-bõl akkor az a változó (-1) -es értéket kapna. Edit: kis helyesírás javítás. 1800
Segítségkérés / Minigun pickup« Dátum: 2011. július 21. - 10:56:42 »Idézetet írta: Zsox date=1311199685\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9704\" data-ipsquote-contentclass=\"forums_Topic Így már mûködik, köszönöm!Szívesen nincs mit, zárhatod a témát. Jha mehet a +.
|
