←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pytania o offsety

  • +
  • -
csMaster - zdjęcie csMaster 06.06.2020

Czy mógłby mnie ktoś oświecić za co konkretnie odpowiadają te offsety ?

#define m_flInAttack 33
#define m_flHeight 61
#define m_flAccuracy 62
#define m_flNextReload 75
#define m_fHasSurvivedLastRound 113
#define m_flNextChatTime 119
#define m_bDelayFire 236
#define m_iTargetVolume 238
#define m_iWeaponVolume 239
#define m_flFallVelocity 251
#define m_fNextSuicideTime 258
#define m_flWallJumpTime 263
#define m_iClientHealth 359
#define m_flNextSayTime 612
#define m_bIsVip 837

stock const m_rgAmmo_CBasePlayer[32] = {376,377,...}
stock const m_rgAmmoLast[32] = {408,409,...}

Te opisy wyglądają troche niejednoznacznie.

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 06.06.2020

Hmm, no są offsety, które się rzadko spotyka. Czy próbowałes patrzyć np tutaj: https://wiki.alliedm...BaseEntity_(CS) ? Jest tam masa informacji z opisami etc. często zaglądałem tam do: CBasePlayer

#define m_fHasSurvivedLastRound 113

Z tym mi się kojarzy, że to bylo używane do sprawdzania czy dać graczowi defaultowe bronie w nowej rundzie czy nie.

#define m_fNextSuicideTime 258

To jest info kiedy gracz może się sam zabić komendą. W sensie taki cooldown jakby.

#define m_iClientHealth 359

to można się domyślać, aczkolwiek trzeba by sprawdzić, żeby być 100% pewnym

Odpowiedz

  • +
  • -
csMaster - zdjęcie csMaster 06.06.2020

#define m_iClientHealth 359
to można się domyślać, aczkolwiek trzeba by sprawdzić, żeby być 100% pewnym

 

Można się domyślać, ale niestety najprostsza droga okazuje się błędna. Ten offset nie wpływa na ilość życia gracza, ale został wykorzystany w Spawn Health Bug Fix https://forums.allie...ad.php?t=141407

#define m_fHasSurvivedLastRound 113

Tu prawdopodobnie nazwa poprawnie opisuje znaczenie. Ten offset może przechowywać informacje o tym, czy gracz przetrwał poprzednią rundę. Tylko przechowywana informacja jest typu int, więc może służyć do czegoś innego.

#define m_fSuicideNextTime 258

Chodzi o zablokowanie używania komendy 'kill' do czasu wyznaczonego przez ten offset ? Czy może coś więcej niż tylko ta jedna komenda ? Jaki czas jest tam przechowywany, get_gametime() ? Czyli jeśli dobrze rozumiem to ten offset przypisuje się graczowi a po zmienieniu tego offsetu na (get_gametime() + 10) przez 10 sekund nie będzie można używać komendy 'kill' bez względu na to czy gracz żyje czy nie ? Czy jeśli te 10 sekund miną a gracz nie będzie żył to nie będzie żadnego błędu typu: nie żyje i może wpisać 'kill' ?

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 06.06.2020

Troche informacji jest tutaj https://git.ckcorp.r...ot/hl_classes.h

Odpowiedz

  • +
  • -
csMaster - zdjęcie csMaster 06.06.2020

float				m_flWallJumpTime;	// how long until next walljump

Tak ogólnie, co oznacza walljump ? Bo chyba nie odbicie się od ściany. Nie widziałem jeszcze czegoś takiego w cs.

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 07.06.2020

Half Life nie posiadał takie funkcji ?

 

https://dev-cs.ru/am...medll_const/inc

Odpowiedz

  • +
  • -
wonsz żeczny - zdjęcie wonsz żeczny 07.06.2020

float				m_flWallJumpTime;	// how long until next walljump

Tak ogólnie, co oznacza walljump ? Bo chyba nie odbicie się od ściany. Nie widziałem jeszcze czegoś takiego w cs.

 

 

Mi jedynie walljump kojarzy się z bugiem w cs'ie, dzięki któremu za pomocą ściany możemy dalej skoczyć (podobne do long jumpa) :D

Odpowiedz