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. 1726
SA-MP: verziók / SA-MP szerver oldali frissítés 0.3c R3/R4/R5« Dátum: 2011. augusztus 03. - 22:52:41 »
Akinek szüksége van GetPlayerMoney funkcióra sscanf-ben akkor próbálja ki a következõ kódot.
[pawn] int * GetMoney() { return (int *)(*g_pServer + g_iTrueMax * 12 + ; } int GetPlayerMoney(int playerid) { return *(GetMoney() + playerid); } [/pawn] 1727
Leírások/Útmutatók / [Leírás] Kód optimalizáció/Forráskód értelmezésének nehezítése« Dátum: 2011. augusztus 03. - 16:03:45 »
Nem rossz leírás de ez a rész nem teljesen igaz:
[pawn] new i = 0; for(; i++ < MAX_PLAYERS;) [/pawn] Ez a rész hogy a megfelelõ index értékek között fusson le (0 -tól 499-ig) ahhoz kell egy kis trükk persze a postfix (i++;) és prefix-es (++i;) alak már megint fabatkát se ér pawnban pont ennél, de van rá példa hogy számít. Akkor mûködik megfelelõen ha így alkalmazzuk: [pawn] new i = -1; for(; i++ < MAX_PLAYERS - 1;) { printf(\"i: %d\", i); } [/pawn] És a while is tud meglepetést okozni itt egy pár példa ami helyesen kerül végrehajtásra: [pawn] new test1 = -1; while(test1++ < MAX_PLAYERS - 1) { printf(\"test1: %d\", test1); } print(\" \"); //------- new test2 = 0; while(test2 < MAX_PLAYERS) { printf(\"test2: %d\", test2++); // Egy utasításban növelve az értékét postfixes alakban } print(\" \"); //------ new test3 = -1; while(++test3 < MAX_PLAYERS)// Prefixes alakban. { printf(\"test3: %d\", test3); } [/pawn] Az én javaslatom az hogy bármelyik formát akarjuk használni mindig legyen egy tesztelés (printf), hogy lássuk számunkra megfelelõ értékekkel fut-e végig a ciklus folyamatunk. És itt van még két apróság prefix és postfix közötti különbség: [pawn] new test1 = 0; while(test1 < MAX_PLAYERS) { printf(\"Alap érték: %d\", test1); printf(\"test2: %d\", test1++); //Postfix printf(\"postfix: %d | az elõzõ funkcióba növeltük a változónk értékét postfixes alakban.\", test1); print(\" \"); } [/pawn] [pawn] new test2 = -1; while(test2 < MAX_PLAYERS - 1) { printf(\"Alap érték: %d\", test2); printf(\"test2: %d\", ++test2); // Prefix printf(\"prefix: %d | az elõzõ funkcióba növeltük a változónk értékét prefixes alakban.\", test2); print(\" \"); } [/pawn] A lényeg hogy elég becsapósak tudnak lenni ezek a ciklus utasítások, ezért mindig le kell ellenõrizni õket fõleg ha valami komplikáltabb dologgal foglalkozunk. Ha nem tesszük akkor jön a következõ hiba üzenet \"Array index out of bounds\". 1728
SA-MP: Szerverfejlesztés / [PHP ] SendChatToWeb();« Dátum: 2011. augusztus 03. - 09:21:29 »
Nem rossz fs.
Idézetet írta: Koncz Norbert date=1312296379\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10049\" data-ipsquote-contentclass=\"forums_Topic A fejlesztését, javítását rátok bízom. Épp egy módot készítek ezért nem nagyon fogom figyelniAhhoz képest minden második hsz a tied. 1729
Leírások/Útmutatók / [TUT]A false és a true kifejezés.« Dátum: 2011. augusztus 02. - 09:29:21 »Sokaknak nem kell ezt leírni de hátha õk is más szemmel néznek majd rá ezentúl ezekre a kifejezésekre. Egyszerûen arról van szó hogy van egy bool: nevezetû kifejezés ami arról szól hogy egy változónak csak is 1 és 0 lehet az értéke. Ezt a program nyelvek true és false kifejezésre határolták be, ami arra utal hogy ez a változó csak is 1 vagy 0 értékû lehet. (Ennek egyszerû az oka, kevesebb memória területet foglal el az ilyen változó.) Tehát mikor látunk programunkban valami hasonlót: [pawn] if(valami == false) [/pawn] Akkor ne az jusson az eszünkbe hogy a valami az hamis ezzel csak a dolgunkat nehezítjük meg. Errõl pontosan annak kell eszünkbe jutni amit kifejez. A \"valami\" változónak csak 0 és 1 lehet az értéke most azt vizsgálom, hogy 0-e (false) az értéke. Tovább folytatva ezt a dolgot, ha egy false kifejezést látunk akkor egy 0 legyen a szemünk elõtt ha egy true kifejezést akkor meg egy 1-es. Ezután lehet matematikai egyenleteket is elképzelni, mivel konkrét számokkal dolgozunk. Egy kis kivonás elmélet: [pawn] 1 - 1 = 0 // Egy minusz egy egyenlõ nulla. 1 - 0 = 1 // Egy minusz nulla egyenlõ 1 true - true = 0 // true(1) minusz true(1) egyenlõ nulla true - false = 1 // true(1) minusz false(0) egyenlõ egy [/pawn] Ugye mennyivel másképp hangzik? Olyan matematikai kifejezést nem olvasni sehol sem hogy \"igaz minusz hamis egyenlõ igazzal\", \"igen minusz nem egyenlõ igen\". Tehát a végén még egyszer: true az 1 false az 0 1730
Leírások/Útmutatók / [TuT]Egyszerû AFK szkript készítése« Dátum: 2011. augusztus 02. - 08:37:28 »Elég csak átfutni gondolatban a kódot és hamar rá lehet jönni mikor csatlakozok a szerverre ez a változó [pawn] public OnPlayerConnect(playerid) { AFK[playerid] = true; return 1; } [/pawn] true értéket kap így ha beírom hogy /afk kitöröli a nevembõl az elsõ 5 karaktert. Szuper. [pawn] //Ha a játékos AFK változójának értéke true, azaz igaz: else if(AFK[playerid] == true) { AFK[playerid] = false; //Átállítjuk a játékos AFK változóját hamisra. SetPlayerVirtualWorld(playerid, 0); //Visszaállítjuk az alap virtuális világba. GetPlayerName(playerid, nev, MAX_PLAYER_NAME); //Lekérdezzük a nevét. strdel(nev, 0, 5); //Kitöröljük a nev változóból ezt: [AFK]. SetPlayerName(playerid, nev); //Visszaállítjuk nevét. TogglePlayerControllable(playerid, true); //Haggyuk hogy mozogjon újra. } [/pawn] Tesztelj, mielõtt publikálsz valamit please. 1731
Szkript kérések / Itázs és repülõ« Dátum: 2011. augusztus 01. - 22:06:56 »
[mod]Topic megtisztítva remélem nem lesz benne több nem ide illõ hozzászólás.[/mod]
1732
Segítségkérés / Run Time Error pedig minden betöltõdik..« Dátum: 2011. augusztus 01. - 11:47:49 »Idézetet írta: Gumikacsa date=1312191840\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9901\" data-ipsquote-contentclass=\"forums_Topic Betettem a függvénykönyvtárhoz tartozó MySQL plugint.Linux nem erõsségem, de erre a hibára a plugin topicjában keress megoldást. 1733
Segítségkérés / Run Time Error pedig minden betöltõdik..« Dátum: 2011. augusztus 01. - 10:33:30 »Idézetet írta: Gumikacsa date=1312180914\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9901\" data-ipsquote-contentclass=\"forums_Topic [pawn]#include <a_samp> 1734
SA-MP: Szerverfejlesztés / Admin-Kocsi Bázis[LV]« Dátum: 2011. július 31. - 23:16:19 »
Ok csináld, várjuk elõszeretettel valakinek a moveobject készítés se megy, röviden be lehet fejezni a negatív hozzászólást.
1735
Segítségkérés / save tuning« Dátum: 2011. július 31. - 20:24:11 »
Én írtam egy fs-t korábban ami kilistázza a jármûre helyezett componens-eket, onnan már nem nehéz létrehozni azt hogy fájlba is mentse.
http://sampforum.hu/index.php?topic=10915.msg123146#msg123146 Találtam mást is próbáld ki lehet jó lesz: http://forum.sa-mp.com/showthread.php?t=256748 1736
Fórum Archívum (Témák/Fórumok) / FPS-SYSTEM.eu« Dátum: 2011. július 31. - 16:06:50 »Idézetet írta: Epsilon date=1312100103\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8271\" data-ipsquote-contentclass=\"forums_Topic Ez a hoszt már nem olyan, mint régen volt.Hát ebben egyetértek. 1737
SA-MP: verziók / SA-MP szerver oldali frissítés 0.3c R3/R4/R5« Dátum: 2011. július 31. - 12:38:19 »
Nem csak elméletileg, az este elég sokat bajlódtam az IsPlayerNpc memória címének kiderítésével persze a kezdõ lökést Zeex adta a legnehezebb részét megcsinálta amúgy fogalmam sincs hogy lehetne egyszerûbben megállapítani a memória címet, és a dolgot nehezíti hogy minden egyes szerver elindításnál valamennyit változik.
Zeex ráadásul össze is kombinálta a sscanf a meglévõ samp verziókhoz is, röviden ez a sscanf jó a 0.3R2 és a 0.3R5 samp verzióhoz is. http://forum.sa-mp.com/showpost.php?p=1320028&postcount=1123 1738
Segítségkérés / Object jármûre« Dátum: 2011. július 31. - 09:15:25 »
Elsõnek is nem a CreateDynamicObject-tel kellene létrehozni az objectet hanem sima CreateObject funkcióval.
Másodjára meg kellene határozni a jármû azonosító számát is, hogy szegény AttachObjectToVehicle tudja hogy melyik jármûre helyezze az (*)objectet. [pawn] if(strcmp(\"/sziréna\", cmdtext, true) == 0) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid) { new Object = CreateObject(18646, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1); AttachObjectToVehicle(Object, vehicleid, -0.564999, 0.125000, 0.879999, 0.000000, 0.000000, 0.000000); //Object Model: 18646 | } else SendClientMessage(playerid, -1, \"Nem tartozkódsz egy jármûben se.\"); return 1; } [/pawn] 1739
Szkript kérések / OnPlayerWriting« Dátum: 2011. július 31. - 00:22:58 »
Végülis nem is kellene gomb nyomást lekérdezni elég lenne ha azt lehetne megállapítani hogy aktív-e a text input ablak (ahova gépelünk).
Talán majd 0.3d-ben lesz olyan is. 1740
Fórum Archívum (Témák/Fórumok) / Mta Verziók Letöltése.« Dátum: 2011. július 30. - 21:02:54 »
Sokan fognak örülni neki én próbáltam az utolsót (REAL Map Editor)és van egy remek funkciója, miszerint ha kijelölsz vele egy alap samp objectet akkor az kiírja a modelid számát.
|