Jak zapobiec cheatowaniu w modzie 4632 6

O temacie

Autor Bogdan Zwei

Zaczęty 3.06.2016 roku

Wyświetleń 4632

Odpowiedzi 6

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Chciałbym wam mniej-więcej opisać, jak zapobiec używaniu kodów i marvina w Gothic. Posługuję się tutaj Gothiciem 2.
Do tego przyda nam się FrameFunctions (lub trigger) co klatkę oraz klasa oCGame.

W triggerze co klatkę ustawiamy:

if (MEM_Game.game_testmode)
{
MEM_Game.game_testmode = 0;
};

To sprawi, że po włączeniu marvina zaraz się on wyłączy. Można także się pobawić tym i zrobić jakieś kary za używanie kodów, np. zwiększyć przychodzące obrażenia do hero czy zmniejszyć obrażenia zadawane przez hero, lecz do tego przyda się dodatkowa zmienna w story globals:
var int PlayerIsCheating;
oraz skrypt w FF co klatkę:
if (MEM_Game.game_testmode)
{
PlayerIsCheating = true;
};

Później możemy się bawić "skutkami ubocznymi" używania kodów w taki sposób:

if (PlayerIsCheating)
{
    //skrypt;
};

Można się także pobawić i sprawdzić jak długo ktoś miał marvina włączonego, dodając dodając do zmiennej MEM_GameMananger.playTime podczas włączenia marvina i do drugiej zmiennej czas wyłączenia MEM_GameMananger.playTime.
var int endofcheating;
var int startofcheating;
var int fullCheatingTime;
var int blockStart;
var int blockEnd;
if (MEM_Game.game_testmode)
&& (!blockStart)
{
startofcheating = MEM_GameMananger.playTime;
blockStart = true;
}
else if (startofcheating && !MEM_Game.game_testmode)
&& (!blockEnd)
{
endofcheating = MEM_GameMananger.playTime;
blockEnd = true;
};

if (startofcheating && endofcheating)
{
fullCheatingTime += endofcheating - startofcheating;
startofcheating = 0;
endofcheating = 0;
blockStart = false;
blockEnd = false;
};

Bawcie się dobrze!
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Całkiem niedawno opatentowałem coś takiego:
func void DisableCommand (var string command)
{
    if (Hlp_StrCmp (STR_SubStr (MEM_ReadString (MEM_ReadInt (ESP+4)), 0, STR_Len (command)), command))
    {
    MEM_WriteString (MEM_ReadInt (ESP+4), "");
    };
};

func void DisableKey (var int key)
{
    if (MEM_ReadInt (ESP+4) == key)
    {
    MEM_WriteInt (ESP+4, -1);
    };
};

func void DisableKey_Hook ()
{
    DisableKey (KEY_F8);
    DisableKey (KEY_K);
};

func void DisableComnand_Hook ()
{
    DisableCommand ("CHEAT GOD");
    DisableCommand ("CHEAT FULL");
};

Init_Global:
HookEngineF (7882848, 7, DisableComnand_Hook);
HookEngineF (7329120, 6, DisableKey_Hook);

Dzięki temu można zablokować dowolną komendę oraz klawisz w trybie Marvin. Można to bardziej rozpisać, by np. klawisz F8 mógłby być używany tylko do ożywienia npc potrzebnego do zadania. Możliwości są spore.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
@Splash, tego szukałem, aby usunąć bug w Gothicu przy spadaniu!

pytanie czy adresy są do g1?

ok, można przeciez przez FF!
 

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Revo16pl

Revo16pl

RaveN Studio
posty101
Propsy100
ProfesjaGrafik 3D
  • RaveN Studio
Fajna rzecz tylko totalnie niepraktyczna, co innego jak wrzucimy to do oryginalnego Gothica ale wrzucanie takich rzeczy do modów które mogą być albo źle zbalansowane, albo niemożliwe do przejścia bo nie ma jakiegoś tam itemu czy czegoś i taki skrypt będzie blokował nam możliwość ukończenia. (przykład CZ chociażby)
 

55TIGER39

55TIGER39

Użytkownicy
posty60
Propsy19
Profesjabrak
  • Użytkownicy
Tylko PO CO?

To nie multiplayer żeby blokować kody.
Single player różni się tym że wielu w tym ja lubi przechodząc dany materiał po raz 100'ny ,,pobawić" daną grą.
Silnikiem, itemami itp.
Zawsze gdy ogrywałem mody do Gothica które blokowały te możliwość MUSIAŁEM później rozbrajać taki mod i wypierdalać takie skrypty wstawiająć oryginalne żeby później możliwość zabawy była odblokowana.
Zwłaszcza w Gothicu gdzie nie oszukujmy się marvin wiele razy ratował dupe przykładowo gdy twój kompan który za tobą miał iść, zbugował się gdzieś co zdarzało się niejednokrotnie.

Tak więc takie zabiegi to czysta głupota i wkurwianie przeciętnego gracza.
 

Werewolf

Werewolf

Użytkownicy
Zielony goblin - za dnia biznesmen, w nocy złoczyńca
posty6346
Propsy2478
ProfesjaGracz
  • Użytkownicy
  • Zielony goblin - za dnia biznesmen, w nocy złoczyńca
Nie mowiac juz o tym, że nie ma modów nie zabugowanych, których bugi trzeba obejsc konsolą. Tak wlasnie mialo byc w przypadku Returna 2.0. Tak wszyscy skwierczeli, że nie bedzie konsoli, oh ah returning bedzie taki idealny, po czym sie okazalo, że wiele zadan TRZEBA wykonac przy pomocy kodow bo a to sie zawieruszy NPC, a to item.
 
http://chomikuj.pl/Thorus12/ = Mody do Gothica - Przeznaczenie, Ludzie z Górniczej Doliny i inne! Mody do RimWorlda!

KOMPUTER:
Spoiler
Windows 7 Professional 64-bit SP1
-Intel Core i7 @ 4.00GHz   Technologia Haswell 22nm
-8,00GB 2-Kanałowy DDR3 @ 666MHz (9-9-9-24)
Gigabyte Technology Co., Ltd. Z97X-Gaming 3 (SOCKET 0)   28 °C
-X220W D-sub (1680x1050@60Hz)
-4095MBNVIDIA GeForce GTX 980 (Gigabyte)
-931GB Western Digital WDC WD10EZEX-08M2NA0 SCSI Disk Device (SATA)
-ASUS DRW-24F1ST a SCSI CdRom Device
-Realtek High Definition Audio


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry