|
You last visited: Today at 19:05
Advertisement
[serverdowner]fix-variante #1 - python (1500 Thanks-Release)
Discussion on [serverdowner]fix-variante #1 - python (1500 Thanks-Release) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
07/14/2013, 17:29
|
#31
|
elite*gold: 139
Join Date: Sep 2010
Posts: 583
Received Thanks: 545
|
So und jetzt nochmal für alle die denken Ja das Geht nur bei der Zahl oder weiß was ich.
Der Int kann einem maximalem Bereich von genau -2,147,483,647 bis + 2,147,483,647 haben dabei benutzt er 4 bytes. Das heißt jede Andere Größere Zahl == Würrg, weil Metin2 mal wieder schlecht gecoded ist und kein vernünftiges Error-handling hat. Was ihr machen könntet wäre den Int in einem BigInt umzuändern. Achtung Bigint braucht 8bytes hat aber dafür einem maximalen Bereich von -2^63 (-9,223,372,036,854,775,808) bis 2^63-1 (9,223,372,036,854,775,807). Dann müsste man weitaus größere Zahlen eingeben. Am besten man noppt die Kacke einfach aus
|
|
|
07/14/2013, 20:38
|
#32
|
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
|
Quote:
Originally Posted by .XXShuzZzle
So und jetzt nochmal für alle die denken Ja das Geht nur bei der Zahl oder weiß was ich.
Der Int kann einem maximalem Bereich von genau -2,147,483,647 bis + 2,147,483,647 haben dabei benutzt er 4 bytes. Das heißt jede Andere Größere Zahl == Würrg, weil Metin2 mal wieder schlecht gecoded ist und kein vernünftiges Error-handling hat. Was ihr machen könntet wäre den Int in einem BigInt umzuändern. Achtung Bigint braucht 8bytes hat aber dafür einem maximalen Bereich von -2^63 (-9,223,372,036,854,775,808) bis 2^63-1 (9,223,372,036,854,775,807). Dann müsste man weitaus größere Zahlen eingeben. Am besten man noppt die Kacke einfach aus
|
(-2^64)-(2^64-1), ist schließlich 64 bit und kein 63 bit. Daher stimmen deine Zahlen so nicht.
Und das in dem Falle umzuschreiben ist im Grunde gar nicht machbar, weil das Programm auf 32 bit kompiliert ist und somit nichts größer als 4 Byte nimmt - zumindest nicht auf einem Mal.
Will man es unbedingt doch machen, nimmt man ab besten eine bestehende Lib für solche Probleme und nutzt eine libgame. Alles andere ist ziemlich sadistisch.
|
|
|
07/14/2013, 20:57
|
#33
|
elite*gold: 5
Join Date: Oct 2010
Posts: 1,692
Received Thanks: 1,772
|
Quote:
Originally Posted by .Raicon
Naja nette Idee leider bringt es nichts
1.) Es gibt eine bestimmte Reichweite an Zahlen die den Core platt machen ;D
2.) Man kann den Clienten umgehen und direkt mit dem Server packete austausche.
z.B. der HBot von Nico_W.
3.) Nimmt man einfach nen anderen Befehl außer Dice.
LG . Raicon
|
4.) Man kann direkt das ChatPaket senden.
|
|
|
07/14/2013, 21:18
|
#34
|
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
|
Quote:
Originally Posted by DasKuchen
4.) Man kann direkt das ChatPaket senden.
|
Das können nur Ausnahmefälle. Und die, die das können, die legen für gewöhnlich keine Server down.
|
|
|
07/14/2013, 21:22
|
#35
|
elite*gold: 0
Join Date: Nov 2010
Posts: 101
Received Thanks: 18
|
Quote:
Originally Posted by .Raicon
3.) Nimmt man einfach nen anderen Befehl außer Dice.
LG . Raicon
|
wie zum besipiel?
habe selber ein server, möchte mich einfach nur schlauer machen ^^
danke
|
|
|
07/14/2013, 21:34
|
#36
|
elite*gold: 20
Join Date: Mar 2010
Posts: 1,166
Received Thanks: 684
|
Quote:
wie zum besipiel?
habe selber ein server, möchte mich einfach nur schlauer machen ^^
danke
|
Quote:
int number_ex(int first, int second, const char *szSrcFile, int iLineNo)
{
int _first = first;
int _second = second;
if ( first > second )
{
sys_err(
"number_ex",
362,
"number(): first argument is bigger than second argument %d -> %d, %s %d",
first,
second,
szSrcFile,
iLineNo);
_second = first;
_first = second;
}
return _first + thecore_random() % (_second + 1 - _first);
}
|
Jeder Befehl der die Funk aufruft sollte dazu fähig sein
|
|
|
07/14/2013, 21:42
|
#37
|
elite*gold: 0
Join Date: Nov 2010
Posts: 101
Received Thanks: 18
|
Quote:
Originally Posted by callmax
Jeder Befehl der die Funk aufruft sollte dazu fähig sein
|
warum wisst ihr alle so viel????
warum weis ich so wenig? T___________T
(kanst du nicht so ne korrekte wissens übertragung machen? xD
danke für die info ^^
PS: um zu wissen welche befehle diese funktzion aufruffen müsste ich de game entpacken und irgendwo reinschauen...?
denke ja xD
|
|
|
07/14/2013, 23:36
|
#38
|
elite*gold: 0
Join Date: Jul 2012
Posts: 5,520
Received Thanks: 1,350
|
Quote:
Originally Posted by .Avenue™
Code:
name = player.GetName()
if text.find("-2147483648")!=-1 or text.find("2147483647")!=-1 or text.find("/")!=-1:
if name.find("[")!=-1 or name.find("]")!=-1:
net.SendChatPacket(text, type)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Der Befehl wurde nicht gefunden.")
else:
net.SendChatPacket(text, type)
in die uichat.py.
Wohin es genau kommt, sollte selbsterklärend sein.
Habe auch eine dif für die game r34083 geschrieben (nur für dice)
Code:
This difference file has been created by Avenue
r34083
0041E28A: 64 90
0041E28B: 69 90
0041E28C: 63 90
0041E28D: 65 90
für die r2019
Code:
This difference file has been created by Avenue
r2019
002FAF6A: 64 90
002FAF6B: 69 90
002FAF6C: 63 90
002FAF6D: 65 90
für die r2089M_32
Code:
This difference file has been created by Avenue
r2089M_32
002FAFEA: 64 90
002FAFEB: 69 90
002FAFEC: 63 90
002FAFED: 65 90
|
Danke *-* wird vielen Helfen.
|
|
|
07/15/2013, 00:47
|
#39
|
elite*gold: 0
Join Date: Jun 2010
Posts: 1,264
Received Thanks: 2,019
|
So könnte man "/" im Text auch nicht mehr verwenden...
Code:
if text[0] == "/" and not player.GetName()[0] == "[":
return
Das wäre meiner meinung nach der beste Clientside fix.
Außerdem könnte man einfach, wie schon gesagt ein Packet an den Server senden,
ohne den Clienten zu nutzen. Oder ein Python Script injecten, dass dann dieses
Packet ausführt und den Code sendet. Gibt ja genug möglichkeiten.
Mfg,
Yoshix3
|
|
|
07/15/2013, 12:34
|
#40
|
elite*gold: 0
Join Date: Oct 2012
Posts: 111
Received Thanks: 1
|
is possible find in some log, who shutdowned server ? thx
|
|
|
|
|
Similar Threads
|
Metin2 - Python - Wie Python Hacks verschlüsseln und Server überprüfen (GF/PServe)
09/23/2012 - Metin2 - 2 Replies
Ich wollte fragen,
wie man Python Hacks am besten Verschlüsselt ?
und wie man feststellen kann ob man auf einem GF / Pserver spielt. ?
|
S: python release
08/19/2012 - Metin2 Private Server - 0 Replies
suche eine release wo rechts im inventar die bonis angezeigt wird finde die nicht mehr
|
[Python-Release]All Pm log
04/23/2012 - Metin2 PServer Guides & Strategies - 6 Replies
This is a very simple thing, maybe to be used in combination with another.I want them in a folder called "log" are written all pm that i receive.
That said, it acts in a simple, well follow the steps:
1) Create a folder "log" in the directory of the client.
2) Search: def OnRecvWhisper
3)Replace this : def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
chat.AppendWhisper(mode, name,...
|
[Release] Always Login - andere Variante
09/12/2010 - League of Legends - 2 Replies
Hi zusammen,
ich hab mal eine etwas andere Variante vom Always Login Tool gemacht. Ich hab einfach n bischn an den Scripten rumgespielt und jetzt wird der Button nichtmehr deaktiviert. Nebenbei hab ich auchnoch ein paar andere Sachen die mich genervt haben geändert :) bzw. entfernt.
Screenshot:
http://img836.imageshack.us/img836/6659/unbenannt bu.jpg
Hier downloadet ihr das html.zip-Archiv
Entpackt das Archiv und verschiebt den enthaltenen HTML Ordner in euer LoL Verzeichnis, benennt...
|
All times are GMT +2. The time now is 19:05.
|
|