hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 02:02



Jelenlévő felhasználók

Jelenleg 388 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 387 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 10 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: script megnyitasa
HozzászólásElküldve: 2008.12.19. 13:57 
Valaki tudna nekem segiteni, nem tudom mivel lehetne meg nyitani a scripteket, szovegszerkesztokkel probaltam azzal nem sikerult :x , na varok vmi otletet!! :mrgreen:


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2008.12.20. 20:15 
Offline
Újonc

Csatlakozott: 2008.12.17. 15:47
Hozzászólások: 6
script?
amx pluginokra gondolsz ezalatt? lehet én vagyok buta :D
de ha amx pluginokra gondolsz akkor sma kiterjesztésű fájlokat tudod csak megnyitni
az amxx vagy amx kiterjesztéseket biztos nem fog menni szövegszerkesztővel


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.29. 14:14 
Offline
Nagyúr

Csatlakozott: 2009.11.17. 19:57
Hozzászólások: 752
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 19 alkalommal
Az amxx és amx fájlokat Amx Mod X Disassembler-el nyithatod meg.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.29. 14:15 
Offline
Nagyúr

Csatlakozott: 2009.11.17. 19:57
Hozzászólások: 752
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 19 alkalommal
Most látom, hogy régi a kérdés.
Remélem mások számára hasznos.
Keresek egy linket a letöltéshez.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.29. 15:51 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Megnyitni bármivel meg tudod, de nincs értelme.
Az Amx Mod X Disassembler meg megkapod a plugin assembly kódját, onnan tovább kell manuálisan elemezned.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.29. 18:01 
Offline
Nagyúr

Csatlakozott: 2009.11.17. 19:57
Hozzászólások: 752
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 19 alkalommal
Ha rengeteg alapkódot ismer az ember ezzel rengeteg plugint újra lehet írni.
Ismersz olyat ami SMA kódolás szerűen képes visszavezetni? Esetleg olyasmi programot?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.30. 15:30 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Ha ismered az assembly nyelvet, akkor nem is kell neked SMAra konvertáló :) Am meg lehetne írni, de ugyebár neked kell megállapítani a típusokat, értékeket, változókat, így lehetséges, de pl a válktozónevekre sosem fogod tudni melyik mi is valójában, mi a funkciója. A fórdító gépi kódra fordítja le a forráskódot, így rengeteg felesleges infót eltüntet. Visszafordítani szinte bármilyet programot visszalehet fordítani assemblyre, elterjedtebb nyelveknél akár a forrás is kinyerhető, de sohasem az eredeti forrás.

Amxx pluginoknál annyi előnyöd van, hogy alapesetben debugként fordítja a kódodat, így elmenti a fügvények neveit, függvényhívások és megtalálhatóságának helyét, így ha hiba van és debug módban fut a plugin, akkor lementi a hiba pontos helyét, konkrétan azt a sort írja ki, ahol egy függvény hívásakor hiba lépett fel. Ha nem debugként lett lefordítva akkor hibát sosem fog adni (ha jól tudom).

CheesDave biztos többet tud erről mesélni, sőt, lehet hogy engem fog kijavítani, ha elolvasta a postom :) Jelenleg ennyi jutott eszembe erről, így a válaszom röviden tömören: nem ismerek, és nem hinném hogy lenne AmxModX-re.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.30. 17:55 
Offline
Félisten
Avatar

Csatlakozott: 2008.04.28. 16:04
Hozzászólások: 872
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 59 alkalommal
Igazából nagyon mélyen nemástam magam bele a témába, a teljes kódot nem akartam visszafejteni, csak bizonyos részeket, erre jó egy egyszerű amxxdump nevű program, ez visszafejti egész olvashatóra a kódot.
Példa:
Kód:
E:\server\SCRIPTING\dump>amxxdump -D plugin_init -E amx_spawn.amxx

0x990                      PROC              ; public plugin_init()
0x994                     BREAK
0x998                     BREAK
0x99C                    PUSH.C  0x22C
0x9A4                    PUSH.C  0x21C
0x9AC                    PUSH.C  0x1F4
0x9B4                    PUSH.C  0xC
0x9BC                  SYSREQ.C  0xA         ; register_plugin("Amx_Spawn","0.5"
,"D@V3")
0x9C4                     STACK  0x10        ; free 4 cells
0x9CC                     BREAK
0x9D0                    PUSH.C  0x290
0x9D8                    PUSH.C  0x4
0x9E0                    PUSH.C  0x268
0x9E8                    PUSH.C  0x240
0x9F0                    PUSH.C  0x10
0x9F8                  SYSREQ.C  0xB         ; register_concmd("amx_spawn","amx_
spawn",4,"<name> - ujraelesztes")
0xA00                     STACK  0x14        ; free 5 cells
0xA08                     BREAK
0xA0C                  ZERO.pri
0xA10                      RETN

E:\server\SCRIPTING\dump>amxxdump -D amx_spawn -E amx_spawn.amxx

0xA14                      PROC              ; public amx_spawn(id,level,cid)
0xA18                     BREAK
0xA1C                     BREAK
0xA20                    PUSH.C  0x2
0xA28                    PUSH.S  0x14        ; cid
0xA30                    PUSH.S  0x10        ; level
0xA38                    PUSH.S  0xC         ; id
0xA40                    PUSH.C  0x10
0xA48                      CALL  0xA8        ; stock cmd_access(id,level,cid,num
)
0xA50                       NOT
0xA54                      JZER  0xA6C
0xA5C                     BREAK
0xA60                 CONST.pri  0x1
0xA68                      RETN
0xA6C                     BREAK
                                             ; new arg[32]
0xA70                     STACK  0xFFFFFF80  ; allocate 32 cells
0xA78                  ZERO.pri
0xA7C                  ADDR.alt  0xFFFFFF80
0xA84                      FILL  0x80        ; 32 cells
0xA8C                     BREAK
0xA90                    PUSH.C  0x1F
0xA98                  PUSH.ADR  0xFFFFFF80  ; arg[32]
0xAA0                    PUSH.C  0x1
0xAA8                    PUSH.C  0xC
0xAB0                  SYSREQ.C  0xC         ; read_argv(1,arg[32],31)
0xAB8                     STACK  0x10        ; free 4 cells
0xAC0                     BREAK
                                             ; new player
0xAC4                     STACK  0xFFFFFFFC  ; allocate 1 cells
0xACC                    PUSH.C  0x2
0xAD4                  PUSH.ADR  0xFFFFFF80  ; arg[32]
0xADC                    PUSH.S  0xC         ; id
0xAE4                    PUSH.C  0xC
0xAEC                      CALL  0x3B8       ; stock cmd_target(id,arg[],flags)
0xAF4                STOR.S.pri  0xFFFFFF7C  ; player
0xAFC                     BREAK
0xB00                LOAD.S.pri  0xFFFFFF7C  ; player
0xB08                       NOT
0xB0C                      JZER  0xB2C
0xB14                     BREAK
0xB18                 CONST.pri  0x1
0xB20                     STACK  0x84        ; free 33 cells
0xB28                      RETN
0xB2C                     BREAK
0xB30                  ZERO.pri
0xB34                      HEAP  0x4
0xB3C                    STOR.I
0xB40                  PUSH.alt
0xB44                    PUSH.S  0xFFFFFF7C  ; player
0xB4C                    PUSH.C  0x8
0xB54                  SYSREQ.C  0xD         ; cs_get_user_team
0xB5C                     STACK  0xC         ; free 3 cells
0xB64                      HEAP  0xFFFFFFFC
0xB6C                  EQ.C.pri  0x3
0xB74                      JZER  0xB94
0xB7C                     BREAK
0xB80                 CONST.pri  0x1
0xB88                     STACK  0x84        ; free 33 cells
0xB90                      RETN
0xB94                     BREAK
                                             ; new name2[32]
0xB98                     STACK  0xFFFFFF80  ; allocate 32 cells
0xBA0                  ZERO.pri
0xBA4                  ADDR.alt  0xFFFFFEFC
0xBAC                      FILL  0x80        ; 32 cells
                                             ; new name[32]
0xBB4                     STACK  0xFFFFFF80  ; allocate 32 cells
0xBBC                  ZERO.pri
0xBC0                  ADDR.alt  0xFFFFFE7C
0xBC8                      FILL  0x80        ; 32 cells
0xBD0                     BREAK
0xBD4                    PUSH.C  0x1F
0xBDC                  PUSH.ADR  0xFFFFFE7C  ; name[32]
0xBE4                    PUSH.S  0xC         ; id
0xBEC                    PUSH.C  0xC
0xBF4                  SYSREQ.C  0x7         ; get_user_name(id,name[32],31)
0xBFC                     STACK  0x10        ; free 4 cells
0xC04                     BREAK
0xC08                    PUSH.C  0x1F
0xC10                  PUSH.ADR  0xFFFFFEFC  ; name2[32]
0xC18                    PUSH.S  0xFFFFFF7C  ; player
0xC20                    PUSH.C  0xC
0xC28                  SYSREQ.C  0x7         ; get_user_name(player,name2[32],31
)
0xC30                     STACK  0x10        ; free 4 cells
0xC38                     BREAK
0xC3C                    PUSH.S  0xFFFFFF7C  ; player
0xC44                    PUSH.C  0x4
0xC4C                  SYSREQ.C  0xE         ; cs_user_spawn(player)
0xC54                     STACK  0x8         ; free 2 cells
0xC5C                     BREAK
0xC60                  PUSH.ADR  0xFFFFFEFC  ; name2[32]
0xC68                  PUSH.ADR  0xFFFFFE7C  ; name[32]
0xC70                    PUSH.C  0x2E8
0xC78                    PUSH.C  0xC
0xC80                  SYSREQ.C  0xF         ; log_amx("Admin %s: respawn %s. ",
name[32],name2[32])
0xC88                     STACK  0x10        ; free 4 cells
0xC90                     BREAK
0xC94                  PUSH.ADR  0xFFFFFEFC  ; name2[32]
0xC9C                  PUSH.ADR  0xFFFFFE7C  ; name[32]
0xCA4                    PUSH.C  0x344
0xCAC                    PUSH.C  0x3
0xCB4                    PUSH.C  0x0
0xCBC                    PUSH.C  0x14
0xCC4                  SYSREQ.C  0x10        ; client_print(0,3,"[AMXX] %s: %s u
jraelesztve.",name[32],name2[32])
0xCCC                     STACK  0x18        ; free 6 cells
0xCD4                     BREAK
0xCD8                  PUSH.ADR  0xFFFFFEFC  ; name2[32]
0xCE0                  PUSH.ADR  0xFFFFFE7C  ; name[32]
0xCE8                    PUSH.C  0x3B4
0xCF0                    PUSH.C  0x2
0xCF8                    PUSH.C  0x0
0xD00                    PUSH.C  0x14
0xD08                  SYSREQ.C  0x10        ; client_print(0,2,"[AMXX] %s: %s u
jraelesztve.",name[32],name2[32])
0xD10                     STACK  0x18        ; free 6 cells
0xD18                     BREAK
0xD1C                 CONST.pri  0x1
0xD24                     STACK  0x184       ; free 97 cells
0xD2C                      RETN


Nem a legátláthatóbb, de minden benne van.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.30. 17:59 
Offline
Félisten
Avatar

Csatlakozott: 2008.04.28. 16:04
Hozzászólások: 872
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 59 alkalommal
Link: http://forums.alliedmods.net/showthread.php?t=52875
Persze vannak ennél komolyabb kütyük is, de mint mondtam abba nem vagyok jártas.

Egyébként a téma indítója szerintem csak 1 SMA-t akart megnyitni :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: script megnyitasa
HozzászólásElküldve: 2010.03.30. 22:45 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Konkrétumot az indító se írt, de szerintem már nem aktuális : ))


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 10 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 18 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole