sice nejsem nováček v C++, ale WinAPI je mi neznámá. Pokoušel jsem se nějak transformovat příklad (http://farpc.eu/dx3dhook.zip) na DirectPlay, ale neúspěšně. Byl bych rád, kdyby mi kód někdo vysvětlil - klidně i za nějakou protislužbu, jsem PHP programátor a 2D/3D grafik.
O co jde. Mám Vietcong herní server, kdy si chci hru určitým způsobem modifikovat. Např. na některých mapách jsou nevhodné granáty, případně jejich omeznení, dále bych chtěl udělat rank, či jiné vymoženosti, která hra nenabízí. Problém je, že hookování je mi naprosto cizí, jako WinAPI, na kterém je třeba celý příklad založen.
Děkuji za případnou pomoc, pokud by někdo měl i více ochoty, tak mu to rád oplatím - jak jsem říkal.
Za 2. jsem řekl, na co to chci a pokud už mám Direct3D Hook, tak bych asi nechtěl pomoct, potřebuju DirectPlay hook.. (přečti si, co je DirectPlay)
Mimo jiné mi řekni, jak chceš s nástrojema od pterodonu (pluginy pro 3Ds max a VC editor) udělat rank na servery... Jinak cíl mé tvorby: www.gameteam.cz. Jinak na http://www.vietcong.info/ dělá chlápek jménem Brchi tzv. VC guard - také založený na DirectPlay hooku, systému proti cheaterům. Ptal jsem se ho na pomoc, ale o zdrojové kódy se nechce podělit.
Konkrétně jsi zmínil jen granáty a rank. Na to ti stačí map editor a vc script. Nevím, jaké další vymoženosti máš v plánu, ale určitě nebudeš potřebovat hookovat DirectPlay. Nepotřebuji si o DP číst, narozdíl od tebe ho znám. A VC guard je naprosto irelevantní. Buď jsi úplně mimo, nebo lžeš. Každopádně hodně štěstí, pokud opravdu chceš něčemu prospět.
Tak map editor asi těžko... A hookovat budu server, nikoliv klienta... A rank jedině pomocí sendmessage na textbox a to dost nepohodlným způsobem. Doufal jsem, že aspoň mezi programátory nebudou arogantní b...
Jinak tu je TODO:
VC Asistent
*SM - Server Message
TODO:
1. DirectPlay HOOK
· Analýza VC komunikace
· Hlasovací plugin
· Antispam
· PHP API
2. PHP API
· Systém účtů
Všechny reakce se budou psát pomocí SM* a napsaný příkaz se nezobrazí v chatu
/register heslo
Hráč, který by chtěl využívat vymožeností např. RANKu, musel by se zaregistrovat
/login heslo
Pokud by se našel po připojení hráč v databázi se stejným nickem a IP - přihlášení by proběhlo automaticky, pokud by se shodoval pouze nick, byl by vyzván k zadání hesla s limitem 1min - 30s, poté by byl vykopnut
/unregister heslo
Přihlášený hráč se může odregistrovat
· RANK
/rank [stránka]
Zobrazí pomocí SM* 10 nebo 5(?) nejlepších hráčů, pokud je vyplněná stánka, tak se stránkuje :)
/me nebo /mystat nebo /myrank
Zobrazí rank hráče, pokud není registrovaný, vyzve k registraci. Příkaz by měl jít vidět v chatu, stejně jako výsledek.
/rankreset heslo
Reset ranku, po zadání hesla. (Asi bych dal limit 5)
· HLASOVÁNÍ
Normálně pomocí kick, jen s tím rozdlem, že by byla nastavitelá doba a poměr hráčů, to samé pro restart map.
Automatické restartování mapy na konci hry, pokud je další mapa stejná.
· ADMIN LEVELs
Vytvoření admin levelů. Pro příklad - bude 5 levelů a tyhle příkazy: