Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 19:05

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

Advertisement



Coders Chit-Chat

Discussion on Coders Chit-Chat within the General Coding forum part of the Coders Den category.

Reply
 
Old 08/11/2015, 09:53   #181
 
Bodenplatte's Avatar
 
elite*gold: 150
Join Date: Dec 2013
Posts: 184
Received Thanks: 17
Quote:
Originally Posted by Serraniel View Post
Sende halt nicht jedes Feld sondern sende nur Daten über Objekte im 1.5 fachen Sichtbaren Bereich und dann auch nicht jedes Feld dadrin, sondern nur wenn ein Objekt vorhanden ist, die Position. So sendest du nur so viele Daten wie du Objekte in der Umgebung hast. Und wenn eins ausm Radius raus ist oder gesammelt wirst, sagst deinen Clients: "Hey, das Objekt XY gibts nicht mehr, entferne das aus deinem Speicher".
Das Problem ist das ich mich damit nicht auskenne und das würde längern dauern, als mit (wenn denn überhaupt eins vorhanden ist) einem Programm das x bestimmte Packete senden.
Bodenplatte is offline  
Old 08/11/2015, 11:27   #182



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Naja, da du nur für Felder mit Objekten Daten sendest und nicht für jedes Feld, sendest du weniger Daten = schnellere Übermittlung der Daten (in Summe).

Wo genau ist denn dein Problem dabei? Liegt es an der Auswertung der Felder durch den Sevrer, welche gesendet werden müssen, oder an dem wie, also wie dein Protokoll zur Datenübermittlung aussieht?
Serraniel is offline  
Old 08/11/2015, 13:29   #183


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by MrSm!th View Post
Wie jeder C# Entwickler weiß, ist IntelliSense nichts im Vergleich zu ReSharper. Jetbrains ist in Sache Productivity Tools überlegen. Natürlich kann man nicht dieselbe Automatik wie bei einer statisch typisierten Sprache wie C# erwarten, aber es ist deutlich mehr als dir jeder Texteditor bringt.

PHPStorm kann recht viel von sich aus, in manchen Fällen kann es aber natürlich nicht aus dem Kontext auf den Typ eines Objekts schließen (die meisten davon sind hässliche Edgecases, die man ohnehin meiden sollte), da helfen dann Typehints in den Doc Comments (da man seinen Code sowieso anständig dokumentieren sollte, ist das kein wirklicher Mehraufwand und selbst wenn man nur die Typehints ohne jegliche Erklärung setzt (dann hat man ca. denselben Tippaufwand wie bei einer Sprache wie C#), reicht das der IDE schon und sie bezieht das in ihre sehr weitreichende Analyse mit ein (bspw. wird der Rückgabetyp einer Methode dann direkt auf alle Variablenzuweisungen angewandt und das Ganze natürlich über beliebig viele Ebenen). Dasselbe dürfte für PyCharm gelten. Insofern ja, da hast du wohl etwas falsch gemacht, dennoch ist das Ganze auch ohne Typehints meiner Erfahrung nach sehr gut. Kommt natürlich auch immer drauf an, was für einen Code man da gerade vor sich hat.

Wie es bei Sprachen wie JS aussieht, die das Konzept einer Klasse gar nicht kennen, kann ich nicht sagen, aber im schlimmsten Fall hat man immer noch die umfangreichen Tools der Jetbrains Produkte dabei, mal ganz abgesehen von der Vielzahl an Plugins und im Falle von WebStorm einen Editor, der speziell auf JS, HTML und CSS sowie deren Interaktion (Autovervollständig für CSS-Klassen im HTML Code? npnp) abgestimmt ist.
Alleine deshalb schon würde ich bei größeren Projekte, die aus mehr als 3 Dateien bestehen, zu WebStorm greifen, anstatt zu Sublime (so gut dieser auch sein mag) oder gar zu Notepad++.

Na ja, C++ ist mit exzessiver TMP auch hart an der Grenze aller aktuellen IDEs. An ReSharper++ hat Jetbrains auch ne ganze Weile gesessen.
Dass man mit gewissen Docstrings das Verhalten der IDE beeinflussen kann, wusste ich nicht. Danke für die Info.
Mostey is offline  
Old 08/11/2015, 13:33   #184
 
Bodenplatte's Avatar
 
elite*gold: 150
Join Date: Dec 2013
Posts: 184
Received Thanks: 17
Das ist mir schon klar, nur habe ich keine Erfahrung was das programmieren angeht und wollte es erst mal versuchen ob es anders geht die Packete die gesendet werden müssen zu senden wie mit einem Programm das z. B. x bestimme Packete sendet wenn du gerade eins selber sendest, dann würde das nämlich so aussehen:


O = Objekt
Ich befinde mich auf einem Feld und kann auf 9 Feldern das Objekt aufheben, also die Felder die neben mir sind und bei mir selber.
Dafür brauche ich dann das diese 9 Packete die, die 9 Objekte auf den verschiedenen Feldern neben mir aufheben. Das würde dann so ablaufen das ich selber ein Feld anklicke und dann automatisch die weiteren 9 Packete egal ob ein Objekt drauf ist oder nicht gesendet werden. Das wäre meine Vorstellung wie es einfach gehen würde, wenn so ein Programm wie z. B. WPE nur eben mit dieser Funktion.

Natürlich wäre es besser wenn es nur die Objekte aufnimmt die es auch gerade wirklich gibt, aber das wäre glaube ich für mich da ich überhaupt keine Erfahrung habe mit dem programmieren eines Packetbots.
Bodenplatte is offline  
Old 08/12/2015, 16:28   #185
 
ichwillkeinevieren's Avatar
 
elite*gold: 74
Join Date: Sep 2009
Posts: 2,411
Received Thanks: 203
Hallo Leute,

ich möchte in Overlord (#1 -Rising Hell) die Anzahl meiner braunen minions/Schergen erhöhen, das erste was ich versuchte war die anzahl in der Speicheradresse zu erhöhen, was zwar optisch(auf der Zahlanzeige) funktioniert, jedoch werden nur die vorhandenen braunen minions aufgerufen und dann kommen komischerweise keine weiteren braunen(oder nichts), sondern meine roten minions und wenn die auch alle draußen sind und ich einen weiteren minion rufe(existiert nur auf der anzeige) crasht das Spiel, was bedeutet das jeder minion einzeln gespeichert wird(mit seinem equipment etc.) und der liste nach erscheint.

Da ich mir nun die minions nicht ausm Arm leiern kann, indem ich die Anzahl erhöhe, möchte ich die funktion mit der ich einen (level0)minion droppe/erhalte #call 0088107A# extern aufrufen(am besten mit einem Hotkey) nun meine frage ist wie mache ich das? oder habt ihr eine andere Lösung?
ichwillkeinevieren is offline  
Old 08/12/2015, 17:08   #186
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Quote:
Originally Posted by ichwillkeinevieren View Post
Hallo Leute,

ich möchte in Overlord (#1 -Rising Hell) die Anzahl meiner braunen minions/Schergen erhöhen, das erste was ich versuchte war die anzahl in der Speicheradresse zu erhöhen, was zwar optisch(auf der Zahlanzeige) funktioniert, jedoch werden nur die vorhandenen braunen minions aufgerufen und dann kommen komischerweise keine weiteren braunen(oder nichts), sondern meine roten minions und wenn die auch alle draußen sind und ich einen weiteren minion rufe(existiert nur auf der anzeige) crasht das Spiel, was bedeutet das jeder minion einzeln gespeichert wird(mit seinem equipment etc.) und der liste nach erscheint.

Da ich mir nun die minions nicht ausm Arm leiern kann, indem ich die Anzahl erhöhe, möchte ich die funktion mit der ich einen (level0)minion droppe/erhalte #call 0088107A# extern aufrufen(am besten mit einem Hotkey) nun meine frage ist wie mache ich das? oder habt ihr eine andere Lösung?
Via DLL Injektion ein Programm einschleusen dass dann bei Tastendruck diese Methode aufruft. Das wäre das einfachste was mir einfallen würde
warfley is offline  
Old 08/12/2015, 17:13   #187
 
ichwillkeinevieren's Avatar
 
elite*gold: 74
Join Date: Sep 2009
Posts: 2,411
Received Thanks: 203
Quote:
Originally Posted by warfley View Post
Via DLL Injektion ein Programm einschleusen dass dann bei Tastendruck diese Methode aufruft. Das wäre das einfachste was mir einfallen würde
nunja tastendruck ist ja kein problem nur wie rufe ich die methode auf
ichwillkeinevieren is offline  
Old 08/12/2015, 17:25   #188
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Quote:
Originally Posted by ichwillkeinevieren View Post
nunja tastendruck ist ja kein problem nur wie rufe ich die methode auf
Nun ich weiß nicht welche Programmiersprache du nutzt, bzw welche mittel dir zur verfügung stehen, aber spontan würden mir Funktionszeiger oder inline Asm einfallen
warfley is offline  
Old 08/12/2015, 17:48   #189
 
ichwillkeinevieren's Avatar
 
elite*gold: 74
Join Date: Sep 2009
Posts: 2,411
Received Thanks: 203
Code:
if(GetAsyncKeyState(VK_XBUTTON1))
{
    __asm
    {
        call 0088107A
    }
}
???
ichwillkeinevieren is offline  
Old 08/12/2015, 17:57   #190


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Quote:
Originally Posted by ichwillkeinevieren View Post
Code:
if(GetAsyncKeyState(VK_XBUTTON1))
{
    __asm
    {
        call 0088107A
    }
}
???
Einmal über Los direkt zu den Grundlagen der Programmierung und des Gamehackings selbst. Ohne 2,000$ einzuziehen.
Requi is online now  
Old 08/12/2015, 18:08   #191
 
ichwillkeinevieren's Avatar
 
elite*gold: 74
Join Date: Sep 2009
Posts: 2,411
Received Thanks: 203
Quote:
Originally Posted by Requi View Post
Einmal über Los direkt zu den Grundlagen der Programmierung und des Gamehackings selbst. Ohne 2,000$ einzuziehen.
gibts dazu auch ne Begründung oder muss ich diese zusätzlich erwerben
ichwillkeinevieren is offline  
Old 08/12/2015, 18:10   #192

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Du solltest ggf. noch die Calling Convention überprüfen und dann kannst du auch gleich die komplette Signatur der Funktion reversen und Funktionszeiger verwenden.
snow is offline  
Old 08/12/2015, 18:28   #193
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Quote:
Originally Posted by ichwillkeinevieren View Post
Code:
if(GetAsyncKeyState(VK_XBUTTON1))
{
    __asm
    {
        call 0088107A
    }
}
???
Ich würde eher zu funktionszeigern tendieren, da du dann diese Methode über eine variable aufrufen kannst
Code:
void (*MyProc)(void) = FunktionsZeiger;
...
MyProc(); //aufruf
aber ich denke du kannst das machen wie du lustig bist

Natürlich musst du noch daran denken die Entsprechenden Parameter zu übergeben bzw auf den Speicher zu schreiben (siehe Link)
warfley is offline  
Old 08/12/2015, 19:26   #194



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Quote:
Originally Posted by Bodenplatte View Post
Das ist mir schon klar, nur habe ich keine Erfahrung was das programmieren angeht und wollte es erst mal versuchen ob es anders geht die Packete die gesendet werden müssen zu senden wie mit einem Programm das z. B. x bestimme Packete sendet wenn du gerade eins selber sendest, dann würde das nämlich so aussehen:


O = Objekt
Ich befinde mich auf einem Feld und kann auf 9 Feldern das Objekt aufheben, also die Felder die neben mir sind und bei mir selber.
Dafür brauche ich dann das diese 9 Packete die, die 9 Objekte auf den verschiedenen Feldern neben mir aufheben. Das würde dann so ablaufen das ich selber ein Feld anklicke und dann automatisch die weiteren 9 Packete egal ob ein Objekt drauf ist oder nicht gesendet werden. Das wäre meine Vorstellung wie es einfach gehen würde, wenn so ein Programm wie z. B. WPE nur eben mit dieser Funktion.

Natürlich wäre es besser wenn es nur die Objekte aufnimmt die es auch gerade wirklich gibt, aber das wäre glaube ich für mich da ich überhaupt keine Erfahrung habe mit dem programmieren eines Packetbots.
Naja, der Server teilt ja mit auf welchen Feldern sich Objekt ebefinden nehm ich an. Das müsstest du dir im Speicher merken.
Wenn man an Spiele Daten sendet, wo man die ganze Zeit Objekte aufhebt, die garnicht da sind, kann das schon auffällig werden.
Serraniel is offline  
Old 08/13/2015, 10:37   #195
 
Bodenplatte's Avatar
 
elite*gold: 150
Join Date: Dec 2013
Posts: 184
Received Thanks: 17
Quote:
Originally Posted by Serraniel View Post
Naja, der Server teilt ja mit auf welchen Feldern sich Objekt ebefinden nehm ich an. Das müsstest du dir im Speicher merken.
Wenn man an Spiele Daten sendet, wo man die ganze Zeit Objekte aufhebt, die garnicht da sind, kann das schon auffällig werden.
Naja, das sollte kein Problem sein, die Adminstratoren machen dagegen nichts, aber natürlich wäre es sicherer.
Ich habe nun zwei Fragen:

1. Gibt es denn ein Programm der x Packets sendet, wenn ich eins erhalte oder sende?

2. Wäre es denn schwer ein Bot zu machen der nur vorhandene Objekte aufnimmt?
Bodenplatte is offline  
Reply


Similar Threads Similar Threads
CO 2 Chit-Chat
04/04/2013 - Conquer Online 2 - 3 Replies
Hello, You are allowed to talk in this thread about all things belonging to CO2. It does not matter whether you want to ask something or you just want to talk about CO2. Posts like "lol" are forbidden!



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


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.