Szerző Téma: 0.3d sscanf  (Megtekintve 1806 alkalommal)

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Dátum: 2011. november 05. - 08:50:25 »
0 Show voters
Üdvözlök mindenkit!
Megmondaná valaki, hogy kb mikor jön ki az sscanf 0.3d-re?
mert a szerveremen még 0.3c-s sscanf van és buggolnak a parancsok.
tudom, hogy ez a baja, mert már volt ijen amikor 0.3c-röl 0.3c rc5 re áltam át.
Elõre is köszönöm a segítséget!
:)

0.3d sscanf
« Válasz #1 Dátum: 2011. november 05. - 09:26:27 »
0 Show voters
A sscanf plugin akkor lesz frissítve ha 0.3d is ki lesz adva rendesen, mert a jelenlegi verziók azok teszt verziók RC (Release candidate) kiadásra jelölt.
Majd ha csak release lesz 0.3d R1 vagy 0.3d R2 (nem lesz benne C jelölés) majd akkor kerül frissítésre a sscanf plugin.
Oka: Mert a memória címek eltolódhatnak ahogy újabb verziók készülnek és ezek a tesztverziók csak pár napig élnek, (addig míg nem jön ki újabb verzió).
Ezért várj a rendes kiadásra samp 0.3d-bõl vagy keresd meg saját magad a memória címeket, a sscanf plugin nyílt forráskódú, de a megtalált memóriacím lehet csak arra a verzióra lesz jó amelyikhez megkerested.
Edit:
0.3d RC7-nél mûködik a 0.3c-hez kiadott verzió, mely javítva lett 03cR5 verzióhoz:
Legalábbis én teszteltem, nálam jó volt.
http://solidfiles.com/d/329c7/
« Utoljára szerkesztve: 2011. november 05. - 09:48:03 írta Zsolesszka »

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #2 Dátum: 2011. november 07. - 17:30:07 »
0 Show voters
Nekem nemmûködik :D
ugyan olyan bugosak a parancsok :D

0.3d sscanf
« Válasz #3 Dátum: 2011. november 07. - 17:39:27 »
0 Show voters
Idézetet írta: totar date=1320683407\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"13104\" data-ipsquote-contentclass=\"forums_Topic
Nekem nemmûködik :D
ugyan olyan bugosak a parancsok :D
 
Az már lehet a te hibád.  :D :D
De kiadva a 0.3d RC8 is. Ott már lehet megint nem jó a sscanf.  :-\\
Edit: persze hogy nem.  :D
« Utoljára szerkesztve: 2011. november 07. - 17:56:30 írta Zsolesszka »

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #4 Dátum: 2011. november 07. - 17:48:32 »
0 Show voters
persze!
pls linket!!

0.3d sscanf
« Válasz #5 Dátum: 2011. november 07. - 17:52:26 »
0 Show voters

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #6 Dátum: 2011. november 07. - 17:56:09 »
0 Show voters
Már át is áltam a szerómmal :DDDD
Vajon ide melyik sscanf jó, vagy ide is várni kell az újításig?:D

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
0.3d sscanf
« Válasz #7 Dátum: 2011. november 07. - 18:00:28 »
0 Show voters
\'Egyik se\'
Elõbb le lett írva, hogy miért.
Amúgy Y_Less azt mondta, hogy ez nem konkrétan memória címekre alapszik, hanem struktúrákra és azoknak az offset-jük tolódik el.
De ha nincs igazam, akkor nem mondtam semmit, mert ez nem az erõsségem :angel:

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #8 Dátum: 2011. november 07. - 18:01:58 »
0 Show voters
Értem!
na m1
amugy kössz az infót zsoleszka!

0.3d sscanf
« Válasz #9 Dátum: 2011. november 07. - 18:17:34 »
+1 Show voters
Várni kell, megnéztem nem megy talán az IsPlayerConnected része megy, de abban se vagyok biztos de a játékos neveket tuti nem találja.
Én meg nem keresgetem a memória címeket, pedig nem nehéz csak idõigényes kicsit. Egyszerû matek csak az a baj hogy az értékek hex számok, és azok számomra nem olyanok hogy ránézek és tudom mennyi az értékük.  :D
@kurta999
De memória címre hivatkozik, mindegy hogy most felépítésre és offset értéknek nevezik :D. Csak kell egy kiindulási pont mert minden szerver indításkor megváltozhat ez a cím (elindult másik program vagy épp leállításra került).
Lehet pont emiatt nem memória címnek nevezik mert minden szerver indításkor megváltozhat. ;)
Röviden van egy indítási cím amit innen nyer ki a sampgdk is ennél a visszahívásnál nyeri ki az adatokat kezdésnek.
 
PLUGIN_EXPORT bool PLUGIN_CALL
Load(void ** ppData)
{
pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF];
GetServer = (GetServer_t)ppData[0xE1];
[/quote]
 Ezen részt majdnem de majdnem úgy lehet tekinteni mint az OnGameModeInit-et vagy OnFilterscriptInit-et szerver indításkor egyszer hívódik meg.
Majd ezt a kinyert címet kell arrébb tolni míg rá nem mutat a tárolt nevekre, adatokra.
 
      g_pServer = (char **)(GetServer() + 8 ) ;
   g_pConnected = *g_pServer + g_iTrueMax * 120 + 8;
   g_pNPCs = *g_pServer + g_iTrueMax * 4;
   g_pNames = *g_pServer + g_iTrueMax * 128 + 8;
[/quote]
« Utoljára szerkesztve: 2011. november 07. - 18:20:52 írta Zsolesszka »

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #10 Dátum: 2011. november 07. - 18:22:32 »
0 Show voters
:D
Biztos xD

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
0.3d sscanf
« Válasz #11 Dátum: 2011. november 07. - 19:11:06 »
0 Show voters
Kösz a felvilágosítást, így már valamennyivel érhetõbb :)
Amúgy ezt a GetServer-es izét már észrevettem, hogy ebbõl indul ki.
De ha esetleg letudnád írni, hogy mivel vagy hogyan jössz rá, hogy mennyivel kell arrébbtolni azt a címkét, akkor nagyon örülnék :D

Nem elérhető totar

  • 425
    • Profil megtekintése
0.3d sscanf
« Válasz #12 Dátum: 2011. november 07. - 19:49:45 »
0 Show voters
Ja de magyarul ne kínaiul :D
És ha netán netán megvan neked a megoldaás akkor rám számíthatol :DD:D
mert én ehez nem értek

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
0.3d sscanf
« Válasz #13 Dátum: 2011. november 07. - 19:51:38 »
0 Show voters
Én ezt már úgy ahogy kezdem értegetni, majd megpróbálok vele valamit csinálni, csak most egy object crashet jelentettem Kye-nek és tesztelgetem, hogy konkrétan mi a baj.

0.3d sscanf
« Válasz #14 Dátum: 2011. november 07. - 21:49:25 »
+1 Show voters
Hát elég nehéz leírni a folyamatot, hogy keresem meg mennyivel kell arrébb vinni az értékeket.
Talán annyit írok hogy cheatengine programot használok abban van Memory Viewer, szóval elindítom a szervert csatlakoztatok rá NPC játékosokat és felmegyek rá én is, ezt csak akkor ha az IsPlayerConnected és az IsPlayerNPC adatai közt keresek különbséget, mivel ha pl.: 5 NPC van a szerveren az 5 csatlakozott játékos 5 NPC így nem lehet különbséget tenni közte mert mindegyik 5. :D
Ha csatlakozok én is akkor 6 Connected players 5 NPC így különbséget lehet tenni.
Viszont mindig játékosnévre keresek rá, mert csatlakozási és NPC adat 1-1 byte játékosonként erre nem lehet keresni. :D csak görgetni lehet a memória adatokban. Így ki lehet szúrni hol van 5 illetve 6 adat egymás után.
Visszatérve a játékosnévre rákeresel valamelyik NPC nevére és a név listában a legelsõ játékos nevének legelsõ karakterének offset értéke lesz a kiindulási értéke a játékosneveknek, ennek azt az értéket kell visszaadnia:
 

logprintf(\" %p GetNames()\", GetNames());

 
Jha igen ha elindítottam a szervert és felmentem rá kilépek ALT+TAB-al és szüneteltetem a szerver futását (pause), vagy csak kattintok rá egyet (Tulajdonságok/Beállítás/Gyors szerkesztés -hez egy pipa).
De nagyon macerás nem is tudom leírni mivel még én se értem teljesen, csak egy kis idõ ráfordítással megtudom találni már.  :D :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal