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 - Gamestar
Oldalak: 1 2 3 [4] 5 6 ... 36
46
« Dátum: 2012. május 08. - 20:15:38 »
A MoveObject() függvényben eredetileg sebességként az tudjuk megadni, hogy mekkora legyen a másodpercenként megtett egységek száma. Ebben a függvényben viszont sebesség helyett meg tudjuk azt adni, hogy mennyi ideig tartson a mozgás (ezredmásodpercben mérve). // ----------------------------------------------------------------------------- // Név: MoveObjectEx // Készítette: GameStar // Frissítve: 2012. május 8. // ----------------------------------------------------------------------------- stock MoveObjectEx(objectid, Float:X, Float:Y, Float:Z, Time, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0) { new Float:x, Float:y, Float:z; GetObjectPos(objectid, x, y, z); return MoveObject(objectid, X, Y, Z, floatdiv(floatabs(floatsqroot(floatpower(floatsub(X,x),2)+floatpower(floatsub(Y,y),2)+floatpower(floatsub(Z,z),2))),floatdiv(Time,1000)), RotX, RotY, RotZ); } Példa: MoveObjectEx(object, 10000, 10000, 10000, 3500); Ez az objektum tehát 3,5 (3500 ezredmásodperc) másodperc alatt fog a megadott koordinátákra érni.
47
« Dátum: 2012. május 08. - 15:12:28 »
Jó lett, de ez amúgy nem méter, hanem egység. A 2 pont között X egység távolság van.
48
« Dátum: 2012. május 06. - 22:58:45 »
Mi próbáltunk GS-el tárgyalni errõl, de nem nagyon konzultál ezért reméljük hogy a közösségért lesz benne annyi, hogy legalább válaszol a témára.
Megmondtam, hogy semmi akadálya az egésznek. Nem kell a cím tulajdonosának lennetek ahhoz, hogy átírjuk a névszervereket.
49
« Dátum: 2012. április 29. - 23:11:02 »
Te készteted mert,ez már 2hónapos,és csak most publikálod.
Én készítettem, igen. Mellesleg éppen felújítás alatt áll, nemsoká felrakom az újat...
51
« Dátum: 2012. április 29. - 22:46:46 »
Ötletes.. Mivel írtad ? PHP,Javascript ?
Azokkal, igen.
52
« Dátum: 2012. április 29. - 22:45:45 »
Hasznos, és nagyon jó. Bár, meggondolnám kétszer is, hogy egy egyedi modot beletennék-e. Ne érts félre, csak érted.
Értem én. Nem menti a kódokat, hidd el. De nem muszáj, senki sem mondta.
53
« Dátum: 2012. április 17. - 19:32:08 »
fixhars 2 Mi ez?Alapértelmezetten az ékezetes karakterek hibásan jelennek meg bizonyos helyeken (Menu, GameText, TextDraw, stb). Ha beágyazod ezt, akkor viszont nem. Ez a kiadás már egy felújított változata a 2010-es kiadásomnak, amelynek idõközben megjelent már más által átalakított változata is. Demó: http://noob.hu/2012/04/17/sa-mp-000_1.png[/img] Használat:1. Rakd be az aktuálisan használt pawno/includes mappába 2. Ágyazd be a szkriptbe / módba #include <fixchars> Letöltés* Letöltés (fixchars 2 - 2. kiadás)2. kiadás: - 0.3e támogatás hozzáadva
- TextDrawCreate() hiba javítása
- fixchars() függvény újraírva
- unfixchar(), unfixchars() hozzáadva
Példa a használatra (az autimatikuson felül): public OnFilterScriptInit() { new string[32]=\"Üdv nálunk!\"; fixchars(string); print(string); unfixchars(string); print(string); return 1; } // ---------------------------------- // Magyar karakterek megjelenítésének automatikus javítása // Használathoz csak be kell ágyazni: #include <fixchars> // Készítette GameStar 2010 (frissítve 2012 április) // Weboldal: www.gtaforum.hu // ---------------------------------- #include <a_samp> #if defined fixchars_included #endinput #endif #define fixchars_included stock fixchar(chr) { switch(chr) { case \'ö\': return \'¨\'; case \'Ö\': return \'‘\'; case \'ü\': return \'¬\'; case \'Ü\': return \'•\'; case \'ó\': return \'¦\'; case \'Ó\': return \'¬\'; case \'õ\': return \'§\'; case \'Õ\': return \'\'; case \'ú\': return \'ª\'; case \'Ú\': return \'“\'; case \'é\': return \'¾\'; case \'É\': return \'‡\'; case \'á\': return \'˜\'; case \'Á\': return \'\'; case \'û\': return \'«\'; case \'Û\': return \'·\'; case \'í\': return \'¢\'; case \'Í\': return \'‹\'; } return chr; } stock fixchars(string[]) { new chr; while(string[chr]) { string[chr] = fixchar(string[chr]); chr++; } return 1; } stock unfixchar(chr) { switch(chr) { case \'¨\': return \'ö\'; case \'‘\': return \'Ö\'; case \'¬\': return \'ü\'; case \'•\': return \'Ü\'; case \'¦\': return \'ó\'; case \'¬\': return \'Ó\'; case \'§\': return \'õ\'; case \'\': return \'Õ\'; case \'ª\': return \'ú\'; case \'“\': return \'Ú\'; case \'¾\': return \'é\'; case \'‡\': return \'É\'; case \'˜\': return \'á\'; case \'\': return \'Á\'; case \'«\': return \'û\'; case \'·\': return \'Û\'; case \'¢\': return \'í\'; case \'‹\': return \'Í\'; } return chr; } stock unfixchars(string[]) { new chr; while(string[chr]) { string[chr] = unfixchar(string[chr]); chr++; } return 1; } stock fixchars_GameTextForPlayer(playerid,text[],time,style) { fixchars(text); return GameTextForPlayer(playerid,text,time,style); } #define GameTextForPlayer fixchars_GameTextForPlayer stock fixchars_GameTextForAll(text[],time,style) { fixchars(text); return GameTextForAll(text,time,style); } #define GameTextForAll fixchars_GameTextForAll stock Text:fixchars_TextDrawCreate(Float:x, Float:y, text[]) { fixchars(text); return TextDrawCreate(x,y,text); } #define TextDrawCreate fixchars_TextDrawCreate stock Menu:fixchars_CreateMenu(title[], columns, Float:x, Float:y, Float:col1width, Float:col2width = 0.0) { fixchars(title); return CreateMenu(title,columns,x,y,col1width,col2width); } #define CreateMenu fixchars_CreateMenu stock fixchars_SetMenuColumnHeader(Menu:menuid, column, columnheader[]) { fixchars(columnheader); return SetMenuColumnHeader(menuid, column, columnheader); } #define SetMenuColumnHeader fixchars_SetMenuColumnHeader stock fixchars_AddMenuItem(Menu:menuid, column, menutext[]) { fixchars(menutext); return AddMenuItem(menuid, column, menutext); } #define AddMenuItem fixchars_AddMenuItem stock fixchars_TextDrawSetString(Text:text, string[]) { fixchars(string); return TextDrawSetString(text,string); } #define TextDrawSetString fixchars_TextDrawSetString // 0.3e #if defined CreatePlayerTextDraw stock fixchars_CreatePlayerTextDraw(playerid, Float:x, Float:y, text[]) { fixchars(text); return CreatePlayerTextDraw(playerid, x, y, text); } #define CreatePlayerTextDraw fixchars_CreatePlayerTextDraw #endif #if defined PlayerTextDrawSetString stock fixchars_PlayerTextDrawSetS(playerid, PlayerText:text, string[]) { fixchars(string); return PlayerTextDrawSetString(playerid,text,string); } #define PlayerTextDrawSetString fixchars_PlayerTextDrawSetS #endif
[mod]Nincs reklám![/mod]
54
« Dátum: 2012. április 14. - 23:54:25 »
Nem
55
« Dátum: 2012. április 14. - 23:15:09 »
Üdv Amikor az Android Marketrõl akarok letölteni, akkor az a probléma merül fel, hogy \"Starting download\", és vége. (Galaxy S 1 telefon) Valakinek esetleg van ötlete a probléma megoldására? (Az alkalmazások adatainak törlését megpróbáltam, és a googlemail/gmail probléma sem áll fenn)
56
« Dátum: 2012. április 14. - 02:06:15 »
Üdv Ez a felület az elrontott kódodon hajtja végre EBBEN a leírásban leírtakat. Nem garantálom, hogy minden kódon mûködik, de a hibabejelentés itt lehetséges. A kódokat nem tároljuk el! PAWN Autoindent megnyitásaPélda: public OnFilterScriptInit() { new a, b, c; new d; new e f; new Float:g[][]= { {0.0,0.0,0.0}, {0.0,0.0,0.0}, {0.0,0.0,0.0}, }; print(\"a\"); print(\"a\"); print(\"a\"); print(\"a\"); if(print(\"a\")) { print(\"b\"); if(print(\"b\")) { print(\"c\"); if(print(\"c\")) { print(\"d\"); } } } return 1; } vagy public OnFilterScriptInit() { new a, b, c; new d; new e f; new Float:g[][]= { {0.0,0.0,0.0}, {0.0,0.0,0.0}, {0.0,0.0,0.0}, }; print(\"a\"); print(\"a\"); print(\"a\"); print(\"a\"); if(print(\"a\")) { print(\"b\"); if(print(\"b\")) { print(\"c\"); if(print(\"c\")) { print(\"d\"); } } } return 1; } -> public OnFilterScriptInit() { new a, b, c; new d; new e f; new Float:g[][]= { {0.0,0.0,0.0}, {0.0,0.0,0.0}, {0.0,0.0,0.0}, }; print(\"a\"); print(\"a\"); print(\"a\"); print(\"a\"); if(print(\"a\")) { print(\"b\"); if(print(\"b\")) { print(\"c\"); if(print(\"c\")) { print(\"d\"); } } } return 1; }
INDENTIFIKÁCIÓ Üdv! Ezt a mai leírásomat abból a szándékból kezdtem el írni, hogy rávezessem a kezdõket az indentifikáció használatának szükségességére. Elõször tisztázzuk le ennek fogalmát: egy teljesen megegyezõ futtatandó fájlhoz (.amx) különbözõ stílusú, de azonos mûveleteket tartalmazó forráskód (.pwn) tartozhat, mivel a Pawn fordítója a fordítás során a formázásokat figyelmen kívül hagyja. Formázásnak tekintjük a kommenteket, az üres sorokat ill. a behúzást vagy idegen szóval indentifikációt. A behúzás azt jelenti, hogy egy bizonyos blokkba (függvény, elágazás, ciklus, stb.) írt kódot mindig egy meghatározott mennyiséggel beljebb húzzuk a kijjebb álló kódnál, ezzel megkapva ez \"csontvázas\" kinézetet, így ránézésre láthatjuk, hogy \"mi min belül van\". MIÉRT? Talán a kezdõknek nem tûnhet ez olyan fontosnak, de képzeljük el, hogy egy több ezer parancsot tartalmazó programról van szó, és abban szeretnénk mondjuk egy függvényen belül a 8. egymásba ágazott if utasításban valamit változtatni. Kín és szenvedés lenne egy azonos behúzási szinten lévõ kódban ezt megtalálni, nem beszélve arról, ha magukban az elágazásokban is eleve hosszú kód van, míg indentifikálva egybõl láthatjuk a szinteket. A következõ részben egy rövid kódot fogok nektek beilleszteni egy szkriptbõl indentifikáció nélkül, majd vele. Próbáljátok megfejteni mit csinál mindkét esetben. Hogyan volt könnyebb? public OnPlayerUpdate(playerid){ if(!newround && living[playerid]){ new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); if(Z < 150.0){ printf(\"DEBUG: ID %d knocked out, put in Spec\", playerid); new outstr[128]; GetPlayerName(playerid, outstr, 128); format(outstr, 128, \"{FFCC33}%s {CC33FF}kiesett...\", outstr); SendClientMessageToAll(0xCC33FFFF, outstr); living[playerid] = false; if(IsPlayerInAnyVehicle(playerid)){ new id = GetPlayerVehicleID(playerid); DestroyVehicle(id); } for(new i; i < GetMaxPlayers(); i++){ if(specing == playerid){ specing++; while(!living[specing]){ specing++; if(specing > GetMaxPlayers()-1) specing = 0; } PlayerSpectatePlayer(i, specing); } } new count = 0; for(new i; i < GetMaxPlayers(); i++) if(living) count++; printf(\"DEBUG: Player alive count is %d\", count); SetPlayerPos(playerid, 100.0, 100.0, 200.0); TogglePlayerSpectating(playerid, true); specing[playerid] = 0; while(!living[specing[playerid]] && specing[playerid] < GetMaxPlayers()) specing[playerid]++; PlayerSpectatePlayer(playerid, specing[playerid]); if(count < 2){ newround = true; SetTimer(\"NextRound\", 3000, false); for(new i; i < GetMaxPlayers(); i++){ if(living){ new pName[MAX_PLAYER_NAME]; GetPlayerName(i, pName, 128); format(outstr, 128, \"{CC33FF}A KÖRT {FFCC33}%s {CC33FF}NYERTE!\", pName); SendClientMessageToAll(0xCC33FFFF, outstr); points++; } } } } } return true; } public OnPlayerUpdate(playerid){ if(!newround && living[playerid]){ new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); if(Z < 150.0){ printf(\"DEBUG: ID %d knocked out, put in Spec\", playerid); new outstr[128]; GetPlayerName(playerid, outstr, 128); format(outstr, 128, \"{FFCC33}%s {CC33FF}kiesett...\", outstr); SendClientMessageToAll(0xCC33FFFF, outstr); living[playerid] = false; if(IsPlayerInAnyVehicle(playerid)){ new id = GetPlayerVehicleID(playerid); DestroyVehicle(id); } for(new i; i < GetMaxPlayers(); i++){ if(specing == playerid){ specing++; while(!living[specing]){ specing++; if(specing > GetMaxPlayers()-1) specing = 0; } PlayerSpectatePlayer(i, specing); } } new count = 0; for(new i; i < GetMaxPlayers(); i++) if(living) count++; printf(\"DEBUG: Player alive count is %d\", count); SetPlayerPos(playerid, 100.0, 100.0, 200.0); TogglePlayerSpectating(playerid, true); specing[playerid] = 0; while(!living[specing[playerid]] && specing[playerid] < GetMaxPlayers()) specing[playerid]++; PlayerSpectatePlayer(playerid, specing[playerid]); if(count < 2){ newround = true; SetTimer(\"NextRound\", 3000, false); for(new i; i < GetMaxPlayers(); i++){ if(living){ new pName[MAX_PLAYER_NAME]; GetPlayerName(i, pName, 128); format(outstr, 128, \"{CC33FF}A KÖRT {FFCC33}%s {CC33FF}NYERTE!\", pName); SendClientMessageToAll(0xCC33FFFF, outstr); points++; } } } } } return true; } Azt hiszem, mostanra mindenki megértette az indentifikáció fontosságát!A fenti kódtól pedig ne tessék megijedni, csak illusztráció...HOGYAN? Az indentifikációt mindenki saját belátása szerint végzi, fõ az átláthatóság, ám az alábbiakban néhány elterjedtebb módszert mutatok be. 1.) Allman-stílusAz Allman-stílus az ANSI C illetve vele együtt több C-alapú nyelv (pl. PAWN) hivatalosan támogatott behúzási módja. Egy TAB-ot használ a behúzásra, a nyitó- és zárójeleket új sorba helyezi el az eredeti szinten. Az indentifikáció akkor helyes, ha az adott kódrészlet befejezésével a kiindulási szintre érünk vissza. PÉLDA: while(x == y) { valami(); valami2(); } ciklusonkivulivalami(); 2.) Whitesmiths-stílusAz Allman-stílustól eltérõen a nyitó- és zárójeleket behúzva írja. Az intentifikáció akkor helyes ha a kód végén a kiindulástól egy szinttel beljebb vagyunk. PÉLDA: while(x == y) { valami(); valami2(); } ciklusonkivulivalami(); 3.) 1TBS-stílusJómagam is ezt használom. A nyitójeleket az elõzõ sor végére rakja, a zárójeleket külön sorba eredeti szinten, de ha pl. else állítás van, akkor azonos sorban folytatja. Az indentifikáció akkor helyes, ha az adott kódrészlet befejezésével a kiindulási szintre érünk vissza. PÉLDA: while(x == y){ valami(); valami2(); } ciklusonkivulivalami(); További stílusok és példák: >> ITT <<Még egyszer mondom: teljesen mindegy, ki hogyan használja a behúzásokat, de használnunk kell, hogy más számára is követhetõvé váljon a gondolatmenetünk.
57
« Dátum: 2012. április 13. - 09:55:06 »
Itt könnyedén tudsz bandazónákat készíteni. Az alábbi képen kattints egy tetszõleges pontra a bal egérgombbal, majd tartsd nyomva,kKözben mozgathatod az egeret, így a zóna mérete tetszés szerint állítható. [/quote] Ide kattintva érhetõ el
58
« Dátum: 2011. november 06. - 10:52:06 »
Ugyanaz a színe lett, mint nálunk (végül is a V betû maga zöld de aki ezzel jön, mondja ugyanezt el a GTA-ról), csak mi levettük a zöldet 1 nap után. Aki látta, tudja... Abba meg tényleg nem mennék bele, hogy a fórum leírásában is ugyanazok a kulcsszavak vannak, mint nálunk: Kérdések, beszélgetések, képek, és a vége is ugyanaz...csak a találgatásokat már tényleg durva lett volna odaírni. Illetve a fórumszabály kicsit ellentmondásos: A Magyar SA:MP Fórumot próbáljuk minél inkább az eredeti SA:MP Fórum mintájára szabni.[/quote]
Aki akarja látni a miénket...(ami mellesleg közel 1 éve ott van)
Ezzel a hozzászólással nem a hidegháború újraélesztése a célom, nincs hozzá se kedvem, se energiám. Csupán nem értem miért nem lehet egymással tényleg kijönni, és venni a fáradtságot megkérdezni valamit, ami tetszik...és akkor egybõl nem lenne nézeteltérés... Aki pedig azzal jönne ügyesen kikörnyékezve a témát, hogy mi tegnap lemásoltuk a játéktermet: Annak üzenem, hogy már jóval a sampforum elõtt használtuk, csak egy bug miatt le kellett venni.
59
« Dátum: 2011. november 02. - 14:19:00 »
Te nem értesz engem...vastagon kiemeltem, hogy nem azt írták le neked, hogy lopott...
60
« Dátum: 2011. november 02. - 13:53:50 »
Diggity\" post=\"188767\" timestamp=\"1319914924\"] mielött valaki azzal jön hogy loptam.. [/quote]
Diggity link=topic=10842.msg94813#msg94813 date=1318585034] Gratulálok.. Kimásolod máshonnan a dolgokat és felrakod a saját fórumodra, nagyon ügyes vagy.. Ezért tényleg értelme van csinálni egy fórumot.. - by Gumikacsa. [/quote] Bárhogy is nézzük, ez a hozzászólás nem azt jelenti ki, hogy ezt a szkripted loptad, hanem szerintem csak annyit, hogy más fórumok tartalmát hasznosítod a sajátodon. Részleteket nem tudok, mivel nem én írtam ki.
Oldalak: 1 2 3 [4] 5 6 ... 36
|