Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff
You last visited: Today at 01:45

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



FlyFF Addons/Interface Mods ->Fragen<-

Discussion on FlyFF Addons/Interface Mods ->Fragen<- within the Flyff forum part of the MMORPGs category.

Reply
 
Old 02/05/2010, 20:25   #16
 
elite*gold: 0
Join Date: Jan 2009
Posts: 111
Received Thanks: 91
was wilst du den genau einbauen? du findest das packet mit der id des skills und dann aknnst du ja machen was du wilst damit wenn er noch da ist kannst du ihn anzeigen wenn nicht rebuffen oder sonst was
Sir_Killer is offline  
Old 02/06/2010, 12:14   #17
 
Reeek's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
mein Hauptziel ist folgendes:
ich will erstmal die Tastenbelegungsdatei auslesen und einen Eintrag inzufügen (z.B. Ü). Auf Tastendruck soll sich dann ein Fenster öffenen, mein Addon-Fenster.
Wenn ich jetzt in einer Instanz jmd buffe, soll in diesem Addonfenster der Name des Gebufften, der Buff und die Restdauer angezeigt werden...
Reeek is offline  
Old 02/06/2010, 12:29   #18
 
elite*gold: 0
Join Date: Jan 2009
Posts: 111
Received Thanks: 91
ja um dein ding anzuzeigen verwende ich z.B. bei d3d hooks sowas:

bool menü=false;
if(GetAsyncKeyState(VK_F1)&1) //prüft ob jemand f1 drückt
{
menü=!menü;
}

ja und dann musste halt die buffs auslesen und in ein string speichern und den dann ausgeben wie z.B. so:

sprintf(Buff,"%d",deinebuffs);
das wird dann automatisch immer aktuallisiert wenn du in einer schleife drin bist
Sir_Killer is offline  
Thanks
1 User
Old 02/07/2010, 14:14   #19
 
Reeek's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
okay, teste ich gleich mal, danke
Reeek is offline  
Old 02/14/2010, 12:32   #20
 
elite*gold: 0
Join Date: Mar 2008
Posts: 173
Received Thanks: 29
Das würde ich ganz anders angehn. ^^ Mann sollte erstmal, wie eben bei wow der fall... Einen Hook machen der addons möglichmacht. Die addons werden dann durch den Hook verwaltet usw wie eben bei wow. Dann kann man das addonschreiben via lua machen.. und somit anderen entwicklern das addonschreiben ermöglichen.
</Deflected> is offline  
Old 02/14/2010, 12:49   #21
 
elite*gold: 0
Join Date: Sep 2007
Posts: 29
Received Thanks: 6
Quote:
Originally Posted by Sir_Killer View Post
Nur meine etwas verkrüppelte da hab ich sachen rum getestet^^
hab kb das jetzt raus zu machen man sieht aber wie man abfängt und bearbeitet^^

Code:
#include "stdio.h"
#include "winsock2.h"
#include "windows.h"
#include <iostream>
#include "Detours.h"
#include "log.h"
#include <string>
#include <time.h>
#include "resource.h"
using namespace std;

#pragma comment(lib, "ws2_32.lib")
bool brecv,bsend;
typedef int (WINAPI* t_WSARecv)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,L PWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE) ;
typedef int (WINAPI* t_WSASend)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPW SAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE );

t_WSASend o_WSASend;
t_WSARecv o_WSARecv;

char Byte[300];

void *DetourFunction(BYTE *src, const BYTE *dst, const int len) // credits to gamedeception
{
BYTE *jmp = (BYTE*)malloc(len+5);
DWORD dwback;
VirtualProtect(src, len, PAGE_READWRITE, &dwback);
memcpy(jmp, src, len); jmp += len;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
src[0] = 0xE9;
*(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
VirtualProtect(src, len, dwback, &dwback);
return (jmp-len);
}

DWORD dwPtr[12];
int WINAPI hook_WSARecv(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
{


dwPtr[0] = lpBuffers->buf[0];
dwPtr[1] = lpBuffers->buf[1];
dwPtr[2] = lpBuffers->buf[2];
dwPtr[3] = lpBuffers->buf[3];
dwPtr[4] = lpBuffers->buf[4];
dwPtr[5] = lpBuffers->buf[5];
dwPtr[6] = lpBuffers->buf[6];
dwPtr[7] = lpBuffers->buf[7];
dwPtr[8] = lpBuffers->buf[8];
dwPtr[9] = lpBuffers->buf[9];
dwPtr[10] = lpBuffers->buf[10];
dwPtr[11] = lpBuffers->buf[11];
dwPtr[12] = lpBuffers->buf[12];

if(dwPtr[0] == 0x5e && dwPtr[1] == 0x08 && dwPtr[2] == 0x00 && dwPtr[3] == 0x00 &&dwPtr[4] == 0x00 &&dwPtr[5] == 0x00 &&dwPtr[6] == 0x00 &&dwPtr[7] == 0x00)
{
cout<<"Session ID gefunden!!!"<<endl;
cout<<hex<<dwPtr[9]<<dwPtr[10]<<dwPtr[11]<<dwPtr[12]<<endl;
}


return o_WSARecv(s,lpBuffers,dwBufferCount,lpNumberOfByte sRecvd,lpFlags,lpOverlapped,lpCompletionRoutine);
}

int WINAPI hook_WSASend(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
{


for(size_t x = 0; x < lpBuffers->len;++x)
{
if(lpBuffers->buf[x]!=NULL)
{
sprintf(Byte,"%x",lpBuffers->buf[x]);
cout<<Byte<<" ";
}}
cout<<endl;

return o_WSASend(s,lpBuffers,dwBufferCount,lpNumberOfByte sSent,dwFlags,lpOverlapped,lpCompletionRoutine);
}


BOOL APIENTRY DllMain(HMODULE hModule, DWORD Ergebnis, LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(lpReserved);
switch(Ergebnis)
{
case DLL_PROCESS_ATTACH:
MessageBox(0,"Injection erfolgreich","bla",MB_OK);

AllocConsole();
freopen("conin$", "r", stdin);
freopen("conout$", "w", stdout);
freopen("conout$", "w", stderr);

//o_WSASend = (t_WSASend)DetourFunction((PBYTE)GetProcAddress(Ge tModuleHandle("ws2_32.dll"), "WSASend"), (PBYTE)hook_WSASend,5);
o_WSARecv = (t_WSARecv)DetourFunction((PBYTE)GetProcAddress(Ge tModuleHandle("ws2_32.dll"), "WSARecv"), (PBYTE)hook_WSARecv,5);

break;
}
return true;
}
Ein programm dazu wäre dazu wireshark gibts bei google umsonst
Haha
[ironie an]
ich wusste garnicht das eine Dll eine Konsolen ausgabe machen kann.
[ironie off]
Ich würde statt dessen eine Datei schreiben lassen :P.
mfg. seeby
seeby is offline  
Old 02/15/2010, 21:09   #22
 
elite*gold: 0
Join Date: Jan 2009
Posts: 111
Received Thanks: 91
Was ich checks net du hättest lieber log gemacht ? 0.o
Sir_Killer is offline  
Old 02/16/2010, 19:10   #23
 
elite*gold: 0
Join Date: Sep 2007
Posts: 29
Received Thanks: 6
Quote:
Originally Posted by Sir_Killer View Post
Was ich checks net du hättest lieber log gemacht ? 0.o
Also.. in diesem Code stehen Befehle zur Text ausgabe bei einer CONSOLE,
aber da dies der Source Code einer DLL und sich laut meines Wissens eine DLL keine Consolen Text ausgabe machen kann, würde ich keine Log Datei schreiben.
Dies hat z.B. den Vorteil das es nicht das Gesamte Programm Anhält wie bei einer MessageBox.
mfg. seeby

Edit: Man lernt immer etwas dazu xD.
seeby is offline  
Old 02/17/2010, 14:55   #24
 
elite*gold: 0
Join Date: Jan 2009
Posts: 111
Received Thanks: 91
Man kann eine konsole in eine dll machen ? ^^
Sir_Killer is offline  
Reply


Similar Threads Similar Threads
Interface Mods
05/10/2008 - Conquer Online 2 - 5 Replies
Okey, i know it can be done i've seen it. How do you edit the conquer online interface? I've looked through the data file and found a few files; but none of the ones i'm looking for. I want to chance the spell icons, the action icons aswell as the rest of the in-game interface. Any modders know where these are located?



All times are GMT +1. The time now is 01:45.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.