Register for your free account! | Forgot your password?

You last visited: Today at 19:47

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


Wie den Fehler beheben :o ?

Reply
 
Old   #1
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Wie den Fehler beheben :o ?

Hey Leute,

ich habe in C++ folgendes geschrieben, doch wenn der Sleep Befehl eintritt, friert Metin2 komplett ein Hat da jemand eine Lösung ?

Code:
#include <Windows.h>
#include <stdio.h>

  DWORD dwUseItemFunc = 0x00429950;

void UseItem(DWORD slot)
{
	__asm
	{
		MOV ECX,DWORD PTR DS:[0x7D070C]
		PUSH slot
		CALL  dwUseItemFunc
	}
}

int __stdcall DllMain(_In_ void * _HllHandle, _In_ unsigned _Reason, _In_opt_ void * _Reaserved)
{
	if(DLL_PROCESS_ATTACH == _Reason)
	{
		while(1)
		{
		UseItem(4);
		Sleep(3000);
		}	
	}
}

Mit freundlichen Grüßen,

.Stefan



.Stefan is offline  
Old 01/05/2013, 06:50   #2

 
elite*gold: 5
Join Date: Jul 2011
Posts: 784
Received Thanks: 268
Quote:
Originally Posted by .Stefan View Post
Hey Leute,

ich habe in C++ folgendes geschrieben, doch wenn der Sleep Befehl eintritt, friert Metin2 komplett ein Hat da jemand eine Lösung ?

Code:
#include <Windows.h>
#include <stdio.h>

  DWORD dwUseItemFunc = 0x00429950;

void UseItem(DWORD slot)
{
	__asm
	{
		MOV ECX,DWORD PTR DS:[0x7D070C]
		PUSH slot
		CALL  dwUseItemFunc
	}
}

int __stdcall DllMain(_In_ void * _HllHandle, _In_ unsigned _Reason, _In_opt_ void * _Reaserved)
{
	if(DLL_PROCESS_ATTACH == _Reason)
	{
		while(1)
		{
		UseItem(4);
		[COLOR="Red"]Sleep(3000);[/COLOR]
		}	
	}
}

Mit freundlichen Grüßen,

.Stefan
mach die Sleepzeit mal auf 6000, vieleicht kommt bei 3000 dass game nicht nach^^


Minato is offline  
Old 01/05/2013, 08:09   #3
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Nene die ganzen 3 Sekunden ist das Fenster eingefroren, würde ich das auf 6 stellen, würde das 6 Sekunden lang einfrieren

Mit ferundlichen Grüßen ,

.Stefan
.Stefan is offline  
Old 01/05/2013, 10:25   #4

 
elite*gold: 5
Join Date: Jul 2011
Posts: 784
Received Thanks: 268
dann stells auf 1000


Minato is offline  
Old 01/05/2013, 12:05   #5
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Quote:
Originally Posted by Xantoros View Post
dann stells auf 1000
haha toll Er soll aber 3 Sekunden warten bis er wieder den Slot benutzt Dann ist das Fenster nur eingefroren

Mit freundlichen Grüßen,

.Stefan
.Stefan is offline  
Old 01/05/2013, 12:11   #6



 
elite*gold: 0
Join Date: Sep 2007
Posts: 721
Received Thanks: 187
Hey,

mal ne Alternative probiert?
Code:
  clock_t zeit;
  zeit = clock () + [B]seconds [/B]* CLOCKS_PER_SEC ;
  while (clock() < zeit) { . . . }
Wobei sleep ja den gesamten Thread einfriert, das hier ist nur eine Zeitüberbrückung.
Barca x3 is offline  
Old 01/05/2013, 12:16   #7
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Quote:
Originally Posted by Barca x3 View Post
Hey,

mal ne Alternative probiert?
Code:
  clock_t zeit;
  zeit = clock () + [B]seconds [/B]* CLOCKS_PER_SEC ;
  while (clock() < zeit) { . . . }
Wobei sleep ja den gesamten Thread einfriert, das hier ist nur eine Zeitüberbrückung.
Ich versuchs mal.
PS: Du kennst dich sicher gut mit C++ aus, dann könntest du mir evtl bisschen was erklären :P


Mit freundlichen Grüßen,

.Stefan
.Stefan is offline  
Old 01/05/2013, 12:21   #8
 
elite*gold: 0
Join Date: May 2011
Posts: 1,781
Received Thanks: 614
eine while schleife sollte man nicht in dem hauptthread von metin2 machen, sieht man auch in python.
PHP Code:
DWORD WINAPI MainLoop(LPVOID lpParam)
{
while(
1)
{
UseItem(4);
Sleep(6000);
}} 
PHP Code:
DWORD Threadid;
CreateThread(NULL,0,MainLoop,NULL,0,&Threadid); 
machs in nehm neuen thread :P
[uLow]Beni is offline  
Old 01/05/2013, 12:22   #9
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Quote:
Originally Posted by !Beni! View Post
eine while schleife sollte man nicht in dem hauptthread von metin2 machen, sieht man auch in python.
PHP Code:
DWORD WINAPI MainLoop(LPVOID lpParam)
{
while(
1)
{
UseItem(4);
Sleep(6000);
}} 
PHP Code:
DWORD Threadid;
CreateThread(NULL,0,MainLoop,NULL,0,&Threadid); 
machs in nehm neuen thread :P
Sry ich kenn mich leider nicht ganz so gut mit C++ aus ^^
Wir würde das dann im Code aussehen ?


Mit freundlichen Grüßen,

.Stefan
.Stefan is offline  
Old 01/05/2013, 12:27   #10
 
elite*gold: 0
Join Date: May 2011
Posts: 1,781
Received Thanks: 614
Quote:
Originally Posted by .Stefan View Post
Hey Leute,

ich habe in C++ folgendes geschrieben, doch wenn der Sleep Befehl eintritt, friert Metin2 komplett ein Hat da jemand eine Lösung ?

Code:
#include <Windows.h>
#include <stdio.h>

  DWORD dwUseItemFunc = 0x00429950;

void UseItem(DWORD slot)
{
	__asm
	{
		MOV ECX,DWORD PTR DS:[0x7D070C]
		PUSH slot
		CALL  dwUseItemFunc
	}
}
DWORD WINAPI MainLoop(LPVOID lpParam)
{
	while(1)
	{
		UseItem(4);
		Sleep(6000);
}	}
int __stdcall DllMain(_In_ void * _HllHandle, _In_ unsigned _Reason, _In_opt_ void * _Reaserved)
{
	if(DLL_PROCESS_ATTACH == _Reason)
	{
		DWORD Threadid;
		CreateThread(NULL,0,MainLoop,NULL,0,&Threadid);
	}
}

Mit freundlichen Grüßen,

.Stefan
#edited

#edit
Bin mir nicht sicher ob es aufm MS-Compiler funkt, arbeite mit MinGW.
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
[uLow]Beni is offline  
Old 01/05/2013, 13:13   #11
 
elite*gold: 142
Join Date: Jun 2009
Posts: 2,598
Received Thanks: 1,228
Code:
 clock_t zeit;
  zeit = clock () + seconds * CLOCKS_PER_SEC ;
  while (clock() < zeit) { . . . }
Iwie funktioniert das auch nicht ganz, da treten nur lauter fehler auf :/

Quote:
Originally Posted by !Beni! View Post
#edited

#edit
Bin mir nicht sicher ob es aufm MS-Compiler funkt, arbeite mit MinGW.
CreateThread function (Windows)
Okay werde ich nachher direkt testen. PS : Gibt es den Link für diesen OneHitKiller in deiner Signatur noch ?

€ : Hat nicht geklappt, das Metin Fenster beendet sich beim Injekten


Mit freundlichen Grüßen,

.Stefan


.Stefan is offline  
Reply



« 80-92 Waffen | Metin2 Blue Shining Buggy »

Similar Threads
[Root]Setting.lua fehler aber Fehler nicht zu beheben??
08/09/2011 - Metin2 PServer - Discussions / Questions - 5 Replies
Richte für jemanden den root ein, aber bei dem fehler bin ich jetzt selber an meine grenzen gekommen. Folgender Fehler kommt beim starten: http://www.fotos-hochladen.net/uploads/unbenan11ntij3uvlnr5d.png Die syserr daneben gehört dazu, die Setting.lua habe ich schon durch getauscht, kommt aber immer noch der Fehler :confused: Datenbank auch schon getauscht, aber was ist dieses:
[How²] bin/sh fehler beheben
07/23/2011 - Metin2 PServer Guides & Strategies - 11 Replies
Heute zeige ich euch : Wie ihr den häufigsten fehler bin/sh fehler beheben könnt. Dieser könnte einen kleinen rollback verursachen! So wird angefangen : Beim starten des server in Virtuel PC zeigt es aufeinmal bin/sh fehler auf? Ihr macht einfach mal Enter und gibt fsck ein. Dann macht ihr Enter , und lässt es laden. Nun stellt euch virtuel PC komische fragen , ihr antwort einfach mit y . Das macht ihr solange bis er fertig ist , und wenn ihr alles beantwortet habt rebootet ihr...
Den Fehler beheben
04/16/2011 - Main - 9 Replies
Ich hab ein Fehler der Bei Divine Souls raus kommt bei den Pacht ich kann das Spiel nicht Starten der Fehler heißt Side-by-Side konfiguration ungültig wie kann ich den Fehler beheben hoffe ihr könnt mir helfen versuche schon 3Tage es zu machen aber ohne ervolg
VPC fehler? wie beheben?
10/07/2010 - Metin2 PServer - Discussions / Questions - 2 Replies
Hey wollte mein Server grade starten dann kommt so ne meldung: Enter full pathname of shell or RETURN for /bin/sh: Wie behebe ich den fehler?



All times are GMT +1. The time now is 19:47.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.