Register for your free account! | Forgot your password?

You last visited: Today at 17:35

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


Bewegen, statt Teleport

Reply
 
Old   #1
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Bewegen, statt Teleport

Hi!

Ich gehe jetzt mal grundsätzlich davon aus, dass für jede Bewegung im Spiel "Teleport" erforderlich ist (außer in der Stadt bzw statischen Karten).

Die aktuelle Ebene wird ja in ein 2d-Array gepackt. Also man kann quasi mit dem x,y-Skript einen Pfad erstellen, den der Bot ablaufen soll (bsp.: Baal, nach der letzten Wave ins Portal gehen und dann dort sich irgendwo hinstellen und warten) -> NT_WalkTo(x,y)

Gibt es für die ganzen Befehle und functions ne Seite zum nachlesen? So ähnlich wie:

(Link aus EON - D2BS Api)

Das Programmieren von Skripts sollte ja dann letztlich relativ leicht sein?



Treuben is offline  
Old 06/14/2010, 02:10   #2
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,442
Received Thanks: 290
nich das ich wüsste, auf koreanisch evtl ....
aber es stehn eigentlich alle funktionen im common-Folder

Atomforschung & Quantenphysik sind auch "relativ" leicht ...
können aber auch viele schlaflose Nächte bereiten


Diablofarmer is offline  
Old 06/14/2010, 09:35   #3
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Also im Grunde autodidaktisch lernen?
Alte Skripte ansehen -> verstehen -> nachmachen?

Gibt's da jemanden der gerne PMs beantwortet über Fragen zwecks Methoden? :>
Treuben is offline  
Old 06/14/2010, 16:32   #4
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,675
Received Thanks: 789
[QUOTE=Treuben;5621814]Also im Grunde autodidaktisch lernen?
Alte Skripte ansehen -> verstehen -> nachmachen?
QUOTE]

this + ein tipp!
schaue mal in deine ntmove datei rein! da stehen alle bewegungs befehle drinn wie sie funktionieren


sternenlooper is offline  
Old 06/14/2010, 16:58   #5
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Jo ich hab den Ordner schon gefunden NTMove is ja da vllt noch leichter.

Was mich noch interessieren würde:

Das mit den dynamischen Karten zB wenn er zu Meppl telt. Wie stellt der Bot fest wo die Treppen sind? Hat der einfach alle möglichen verschiedenen Karten gespeichert und weiß durch vergleichen beider wo er hin muss?
Es gibt ja diese "function NTM_MoveToStair"... Kann ich das dann quasi überall benutzen wo ich grad stehe und er sucht sich die nächste Treppe?

Also letztlich läufts eigentlich darauf hinaus:
In der Uni "Grundlagen der Informatik I" haben wir Java programmiert und in "Systemprogrammierung in C" C. Mein Problem war meist immer, dass ich alle Funktionen die eigentlich schon da sind nochmal selber geschrieben, anstatt vorhandene zu benutzen. Dementsprechend schnell bin ich immer die Wand hochgelaufen ;P.

Ach da fällt mir noch ein:
Wie testet ihr euere Skripte? Direkt im Bnet oder SinglePlayer Mode?
Treuben is offline  
Old 06/15/2010, 03:01   #6
 
elite*gold: 0
Join Date: Apr 2009
Posts: 108
Received Thanks: 44
Quote:
Originally Posted by Treuben View Post
Jo ich hab den Ordner schon gefunden NTMove is ja da vllt noch leichter.

Was mich noch interessieren würde:

Das mit den dynamischen Karten zB wenn er zu Meppl telt. Wie stellt der Bot fest wo die Treppen sind? Hat der einfach alle möglichen verschiedenen Karten gespeichert und weiß durch vergleichen beider wo er hin muss?
Es gibt ja diese "function NTM_MoveToStair"... Kann ich das dann quasi überall benutzen wo ich grad stehe und er sucht sich die nächste Treppe?

Also letztlich läufts eigentlich darauf hinaus:
In der Uni "Grundlagen der Informatik I" haben wir Java programmiert und in "Systemprogrammierung in C" C. Mein Problem war meist immer, dass ich alle Funktionen die eigentlich schon da sind nochmal selber geschrieben, anstatt vorhandene zu benutzen. Dementsprechend schnell bin ich immer die Wand hochgelaufen ;P.

Ach da fällt mir noch ein:
Wie testet ihr euere Skripte? Direkt im Bnet oder SinglePlayer Mode?
Der Bot hat nen Maphack drin und weiss so wo ne Treppe is etc - das gleiche wie in Unterkurast mit den Truhen und Ständern.

Ich teste mein Zeug direkt im Bnet - aber halt in private Games
hdin84 is offline  
Old 06/15/2010, 11:57   #7
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Also ist es unmöglich ein dynamischen Level ohne teleport zu machen? Er würde ja sonst nur an Hindernisse laufen?

Gibt es eigentlich endliche dynamische Karten oder unendliche?
Treuben is offline  
Old 06/15/2010, 12:39   #8
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,442
Received Thanks: 290
Quote:
Originally Posted by hdin84 View Post
Der Bot hat nen Maphack drin und weiss so wo ne Treppe is etc - das gleiche wie in Unterkurast mit den Truhen und Ständern
so ein quatsch, memory reading ...
Diablofarmer is offline  
Old 06/15/2010, 12:42   #9
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Und jetzt für normal sterbliche nicht Informatiker?
Treuben is offline  
Old 06/15/2010, 20:34   #10
 
elite*gold: 0
Join Date: Dec 2008
Posts: 628
Received Thanks: 108
maphacks sind auch nur memory-reading - oder wie funktionieren die sonst?
sataan1337 is offline  
Old 06/17/2010, 02:39   #11
 
elite*gold: 0
Join Date: May 2009
Posts: 142
Received Thanks: 77
Quote:
Originally Posted by Treuben View Post
Also ist es unmöglich ein dynamischen Level ohne teleport zu machen? Er würde ja sonst nur an Hindernisse laufen?
es ist möglich

damit der bot laufen kann

dort rein

D2NT\scripts\libs\common und in NTMove rein kopieren

Code:
function NTM_MoveTo(areaid, x, y, retry, clearpath)
{
var i, n;
var _teleport;
var _path;
var _retry = 0;

if(x == me.x && y == me.y)
return true;

if(arguments.length < 4)
retry = 3;

if(arguments.length < 5)
clearpath = false;

if(NTC_InTown() || NTConfig_NoTeleport)
_teleport = false;
else
_teleport = true;

if(NTC_GetSkillLevel(54) < 1 && !NTConfig_NoTeleport)
{
ExitGame();
SendCopyData("D2NT Manager", null, 7<<16, "ÿE00000Enigmabug- quit game");
}
_path = GetPath(areaid, me.x, me.y, x, y, _teleport);

if(!_path)
return false;

for(i = 0 ; i < _path.length ; i++)
{
for(n = 0 ; n < 2 ; n++)
{
if(_teleport)
{
if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
break;
}
else
{
if(NTC_InTown() || NTConfig_NoTeleport) {
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}

}
}

if(n < 2)
{
if(clearpath)
{
if(!NTA_ClearPosition(20, true, 2))
return false;

NTP_DoPrecast(false);

NTM_MoveTo(me.areaid, _path[i][0], _path[i][1], 1);
}
}
else if(_retry < retry)
{
_path = GetPath(areaid, me.x, me.y, x, y, _teleport);

if(!_path)
return false;

i = -1;
_retry++;
}
else
return false;
}

return true;
}

function NTM_MoveToPresetUnit(areaid, unittype, classid, offsetx, offsety, clearpath)
{
   var i, n;
   var _unit;

   if(arguments.length < 4)
   {
      offsetx = 0;
      offsety = 0;
   }

   if(arguments.length < 6)
      clearpath = false;

   for(i = 0 ; i <= 2 ; i++)
   {
      _unit = GetPresetUnits(areaid, unittype);

      if(_unit)
      {
         for(n = 0 ; n < _unit.length ; n++)
         {
            if(_unit[n].id == classid)
               return NTM_MoveTo(areaid, _unit[n].roomx*5+_unit[n].x+offsetx, _unit[n].roomy*5+_unit[n].y+offsety, 3, clearpath);
         }
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return false;
}

function NTM_MoveToStair(areaid, subareaid, offsetx, offsety, clearpath)
{
   var i, n;
   var _unit;

   if(arguments.length < 3)
   {
      offsetx = 0;
      offsety = 0;
   }

   if(arguments.length < 5)
      clearpath = false;

   for(i = 0 ; i <= 2 ; i++)
   {
      _unit = GetPresetUnits(areaid, NTC_UNIT_TILE);

      if(_unit)
      {
         for(n = 0 ; n < _unit.length ; n++)
         {
            if(_unit[n].subareaid == subareaid)
               return NTM_MoveTo(areaid, _unit[n].roomx*5+_unit[n].x+offsetx, _unit[n].roomy*5+_unit[n].y+offsety, 3, clearpath);
         }
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return false;
}

function NTM_TeleportTo(x, y)
{
   NTC_CastSkill(54, NTC_HAND_RIGHT, x, y);

   for(var i = 0 ; i < 15 ; i++)
   {
      if(Math.abs(me.x-x) < 4 && Math.abs(me.y-y) < 4)
         return true;

      NTC_Delay(NTC_DELAY_FRAME);
   }

   return false;
}

function NTM_WalkTo(x, y)
{
   var i;
   var _prex1, _prey1;
   var _prex2, _prey2;

   if(me.runwalk == 0)
      me.runwalk = 1;

   for(i = 0 ; i < 480 ; i++)
   {
      if((i % 10) == 0)
      {
         if((i % 60) == 0)
         {
            _prex1 = me.x;
            _prey1 = me.y;

            if((i % 120) == 0)
            {
               _prex2 = me.x;
               _prey2 = me.y;
            }
         }

         ClickMap(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, x, y);
      }

      NTC_Delay(NTC_DELAY_FRAME);

      if(Math.abs(me.x-x) < 2 && Math.abs(me.y-y) < 2)
         break;

      if((i % 10) == 9)
      {
         ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
         NTC_Delay(NTC_DELAY_FRAME);

         if((i % 60) == 59)
         {
            if(me.x == _prex1 && me.y == _prey1 && !NTC_InTown())
            {
               NTA_ClearPosition(2);

               NTP_DoPrecast(false);
            }

            if((i % 120) == 119 && me.x == _prex2 && me.y == _prey2)
               return false;
         }
      }
   }

   ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
   NTC_Delay(NTC_DELAY_FRAME);

   return (i < 480);
}

function NTM_TakeUnit(unittype, classid)
{
   var _unit;
   var _prearea;

   _unit = NTC_FindUnit(unittype, classid, 5);

   if(!_unit)
      return false;

   _prearea = me.areaid;

   for(var i = 0 ; i < 20 ; i++)
   {
      if((i % 5) == 0)
      {
         if(i == 10)
            NTM_MoveTo(_prearea, me.x+6, me.y+6);

         if(NTM_GetCloserInt(_unit))
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit);
      }

      NTC_Delay(200);

      if(me.areaid != _prearea)
         break;
   }

   while(me.areaid == 0)
      NTC_Delay(200);

   if(me.areaid == _prearea)
      return false;

   NTC_PingDelay(NTConfig_AreaDelay);

      return true;
}

function NTM_TakeStair(areaid)
{
   var _unit;
   var _prearea;

   _unit = NTM_GetStairInt(areaid);

   if(!_unit)
      return false;

   _prearea = me.areaid;

   for(var i = 0 ; i < 20 ; i++)
   {
      if((i % 5) == 0)
      {
         if(i == 10)
            NTM_MoveTo(_prearea, me.x+6, me.y+6);

         if(NTM_GetCloserInt(_unit))
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit);
      }

      NTC_Delay(200);

      if(me.areaid != _prearea)
         break;
   }

   while(me.areaid == 0)
      NTC_Delay(200);

   if(me.areaid == _prearea)
      return false;

   NTC_PingDelay(NTConfig_AreaDelay);

      return true;
}

function NTM_TakeWaypoint(areaid)
{
   var _unit;

   if(me.areaid == areaid)
      return true;

   _unit = NTM_GetWaypointInt();

   if(!_unit)
      return false;

   if(NTC_InTown())
      me.Cancel(1);

   for(var i = 0 ; i < 20 ; i++)
   {
      if((i % 10) == 0)
      {
         if(NTM_GetCloserInt(_unit))
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit);
      }

      NTC_Delay(200);

      if(GetUIState(0x14))
      {
         if(me.TakeWaypoint(areaid))
         {
            NTC_PingDelay(NTConfig_AreaDelay);
            return true;
         }

         break;
      }
   }

   return false;
}

function NTM_UsePortal(how, dest, ownername, portal)
{
   if(me.areaid == dest)
      return true;

   if(NTC_InTown())
      me.Cancel(1);

   if(NTM_ChangeAreaInt(how, dest, ownername, portal))
   {
      NTC_PingDelay(NTConfig_AreaDelay);
      return true;
   }

   return false;
}

function NTM_MakeTP(dest)
{
   var _usetp = true;
   var _portal;
   var _portalname;

   if(NTC_InTown())
      return true;

   if(arguments.length < 1)
      _usetp = false;

   if(!NTC_CastSkill(220, NTC_HAND_RIGHT))
      return false;

   NTC_PingDelay(500);

   _portalname = GetLocaleString(3226);

   for(var i = 0 ; i <= 2 ; i++)
   {
      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);

      if(_portal)
      {
         do
         {
            if(_portal.mode == 2 && NTC_CheckOwner(_portal))
            {
               if(_usetp)
                  return NTM_UsePortal("BluePortal", dest, me.name, _portal);

               return true;
            }
         } while(_portal.GetNext());
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return false;
}

// Internal function
function NTM_GetStairInt(areaid)
{
   var _tile;

   for(var i = 0 ; i <= 2 ; i++)
   {
      _tile = NTC_FindUnit(NTC_UNIT_TILE);

      if(_tile)
      {
         do
         {
            if(!areaid || _tile.subareaid == areaid)
               return _tile;
         } while(_tile.GetNext());
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return null;
}

function NTM_GetWaypointInt()
{
   var _waypoint;
   var _classid;

   for(var i = 0 ; i <= 2 ; i++)
   {
      _waypoint = NTC_FindUnit(NTC_UNIT_OBJECT);

      if(_waypoint)
      {
         do
         {
            _classid = _waypoint.classid;

            if(_classid == 119 || _classid == 145 || _classid == 156 || _classid == 157
               || _classid == 237 || _classid == 238 || _classid == 288 || _classid == 323
               || _classid == 324 || _classid == 398 || _classid == 402 || _classid == 429
               || _classid == 494 || _classid == 496 || _classid == 511 || _classid == 539)
               return _waypoint;
         } while(_waypoint.GetNext());
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return null;
}

function NTM_ChangeAreaInt(how, dest, ownername, myportal)
{
   var _portal;
   var _playerportal = false;
   var _prearea;

   if(how == "BluePortal")
   {
      if(!ownername)
         ownername = me.name;

      _playerportal = true;
   }

   if(arguments.length > 3 && myportal)
      _portal = myportal;
   else
   {
      _portal = NTM_FindCorrectPortalInt(_playerportal, ownername);

      if(_portal < 0)
         _portal = NTM_FindPortalAreaInt(dest);

      if(_portal == -1)
         return false;
   }

   if(!_portal)
      return false;

   _prearea = me.areaid;

   for(var i = 0 ; i < 20 ; i++)
   {
      if((i % 5) == 0)
      {
         if(i == 10)
            NTM_MoveTo(_prearea, me.x+6, me.y+6);

         if(NTM_GetCloserInt(_portal))
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
      }

      NTC_Delay(200);

      if(me.areaid != _prearea)
         break;
   }

   while(me.areaid == 0)
      NTC_Delay(200);

   return (me.areaid == dest);
}

function NTM_FindCorrectPortalInt(blueportal, ownername)
{
   var _portal;
   var _portalname;

   _portalname = GetLocaleString(3226);

   if(blueportal)
   {
      for(var i = 0 ; i <= 2 ; i++)
      {
         _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);

         if(_portal)
         {
            do
            {
               if(_portal.mode == 2 && NTC_CheckOwner(_portal, ownername) && GetDistance(me, _portal) <= 30)
                  return _portal;
            } while(_portal.GetNext());
         }

         if(i < 2)
            NTC_Delay(500);
      }

      return -2;
   }
   else
   {
      for(var i = 0 ; i <= 2 ; i++)
      {
         _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);

         if(_portal)
         {
            do
            {
               if(_portal.mode == 2 && !_portal.GetParent())
                  return _portal;
            } while(_portal.GetNext());
         }

         if(i < 2)
            NTC_Delay(500);
      }
   }

   return -3;
}

function NTM_FindPortalAreaInt(dest)
{
   var _portal;
   var _portalname;

   _portalname = GetLocaleString(3226);

   for(var i = 0 ; i <= 2 ; i++)
   {
      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);

      if(_portal)
      {
         do
         {
            if(_portal.mode == 2 && _portal.subareaid == dest)
            {
               if(_portal.GetParent())
               {
                  if(NTC_CheckOwner(_portal) || NTC_InMyParty(_portal.GetParent()))
                     return _portal;
               }
               else
                  return _portal;
            }
         } while(_portal.GetNext());
      }

      if(i < 2)
         NTC_Delay(500);
   }

   return -1;
}

function NTM_GetCloserInt(unit)
{
   if(GetDistance(me, unit) > 2)
      return NTM_MoveTo(unit.areaid, unit.x, unit.y);

   return true;
}

// vector class
function vector()
{
   if(arguments.length == 2)
   {
      this.x = arguments[0];
      this.y = arguments[1];
   }
   else if(arguments.length == 1)
   {
      this.x = arguments[0].x;
      this.y = arguments[0].y;
   }
   else
   {
      this.x = 0;
      this.y = 0;
   }
   
   this.rotate = vector_rotate;
   this.normalize = vector_normalize;
   this.length = vector_length;
   this.setlength = vector_setlength;
   this.toString = vector_toString;
   this.set = vector_set;
   this.angle = vector_angle;
}

function vector_rotate(degree)
{
   if(!degree)
      return true;

   l = this.length();
   if(!l)
      return false;

   this.normalize();

   rad = degree * (Math.PI/180);

   nx = this.x * Math.cos(rad) - this.y * Math.sin(rad);
   ny = this.x * Math.sin(rad) + this.y * Math.cos(rad);

   this.x = nx;
   this.y = ny;

   this.normalize();
   if(l != 1)
      this.setlength(l);

   return true;
}

function vector_angle(v)
{
   rad_degree = 180 / Math.PI;

   return Math.acos((this.x*v.x) + (this.y*v.y)) * rad_degree;
}

function vector_length()
{
   return Math.sqrt((this.x*this.x) + (this.y*this.y));
}

function vector_setlength(length)
{
   this.normalize();
   this.x *= length;
   this.y *= length;
}

function vector_normalize()
{
   l = this.length();
   if(!l)
      return false;

   this.x /= l;
   this.y /= l;

   return true;
}

function vector_toString()
{
   str = "(";
   str += Math.round(this.x*1000)/1000;
   str += " , ";
   str += Math.round(this.y*1000)/1000;
   str += ") : ";
   str += Math.round(this.length()*1000)/1000;

   return str;
}

function vector_set(tx, ty)
{
   if(arguments.length == 1)
   {
      this.x = tx.x;
      this.y = tx.y;
   }
   else if(arguments.length == 2)
   {
      this.x = tx;
      this.y = ty;
   }
}

// coord class
function coord()
{
   this.data = null;

   if(arguments.length == 3)
   {
      this.x = arguments[0];
      this.y = arguments[1];
      this.data = arguments[2];
   }
   else if(arguments.length == 2)
   {
      this.x = arguments[0];
      this.y = arguments[1];
   }
   else if(arguments.length == 1)
   {
      this.x = arguments[0].x;
      this.y = arguments[0].y;
   }
   else
   {
      this.x = 0;
      this.y = 0;
   }

   this.dist = coord_dist;
   this.dist2 = coord_dist2;
   this.dir = coord_dir;
   this.move = coord_move;
   this.set = coord_set;
   this.toString = coord_toString;
}

function coord_set(tx, ty, d)
{
   if(arguments.length == 1)
   {
      this.x = tx.x;
      this.y = tx.y;

      if(tx.data)
         this.data = tx.data;
      else
         this.data = null;
   }
   else if(arguments.length == 2)
   {
      this.x = tx;
      this.y = ty;
      this.data = null;
   }
   else if(arguments.length == 3)
   {
      this.x = tx;
      this.y = ty;
      this.data = d;
   }
}

function coord_dist(tx, ty)
{
   if(arguments.length == 1)
   {
      vx = this.x - tx.x;
      vy = this.y - tx.y;

      return Math.round(Math.sqrt((vx*vx) + (vy*vy)));   
   }
   else if(arguments.length == 2)
   {
      vx = this.x - tx;
      vy = this.y - ty;

      return Math.round(Math.sqrt((vx*vx) + (vy*vy)));
   }
}

function coord_dist2(tx, ty)
{
   if(arguments.length == 1)
   {
      vx = this.x - tx.x;
      vy = this.y - tx.y;

      return Math.floor((vx*vx) + (vy*vy));
   }
   else if(arguments.length == 2)
   {
      vx = this.x - tx;
      vy = this.y - ty;

      return Math.floor((vx*vx) + (vy*vy));
   }
}

function coord_dir(tx, ty)
{
   if(arguments.length == 1)
   {
      v = new vector(tx.x-this.x, tx.y-this.y);
      v.normalize();

      return v;
   }
   else if(arguments.length == 2)
   {
      v = new vector(tx-this.x, ty-this.y);
      v.normalize();

      return v;
   }
}

function coord_move(vec, d)
{
   if(d)
   {
      this.x += Math.round(vec.x*d);
      this.y += Math.round(vec.y*d);

      return true;
   }
   else if(vec.length())
   {
      this.x += Math.round(vec.x);
      this.y += Math.round(vec.y);

      return true;
   }

   return false;
}

function coord_toString()
{
   return "( " + this.x + " , " + this.y + " ) " + this.data;
}

das in D2NT\scripts\NTBot\char_configs in NTconfig einfügen


Code:
 var NTConfig_NoTeleport;

das in D2NT\scripts\NTBot\char_configs in deinen char einfügen der laufen soll


Code:
 NTConfig_NoTeleport = true;    // false = teleport : true = noteleport

nur eckt der char immer wieder an,...dass kann man umschreiben

hoffe das schafft jemand weil selbst habe ich nicht soviel plan

hoffe wie immer auf thanks^^

grüße der Delba^^
Delba is offline  
Thanks
1 User
Old 06/17/2010, 02:48   #12
 
elite*gold: 0
Join Date: May 2009
Posts: 142
Received Thanks: 77
Quote:
Originally Posted by Diablofarmer View Post
so ein quatsch, memory reading ...
du hast recht. memory maped nennt sich das glaub^^

mann könnte sich das so vorstellen die karten werden in memory maped gespeichert (also zwischen gespeichert)...und mit dem maphack einfach nur gelesen, bzw geladen....

also ein bot geht auch ohne maphack^^

die meisten hacks bassieren auf mmaped

sollte ich mich irren korrigiert mich pls, lerne gern dazu^^

gruß der delba
Delba is offline  
Old 06/17/2010, 13:16   #13
 
elite*gold: 260
Join Date: Oct 2007
Posts: 235
Received Thanks: 46
Quote:
Originally Posted by Delba View Post
nur eckt der char immer wieder an,...dass kann man umschreiben
Na das heisst quasi er bleibt an der nächstbesten Wand hängen?
Treuben is offline  
Old 06/17/2010, 17:48   #14
 
elite*gold: 0
Join Date: May 2009
Posts: 142
Received Thanks: 77
ja,...so ungefähr,.... muss manh umschreiben

oder man bekommt es so hin wie hier



soll redvex bot sein ka


Delba is offline  
Reply



« Help! With D2NT whirlwind barb script | diablo 2 namebot frage »

Similar Threads
Wie kann man NPC´S zum bewegen bringen?
12/28/2010 - Metin2 PServer - Discussions / Questions - 13 Replies
Hallo Community, undzwar habe ich mich gefragt warum ich nur auf einer stelle laufe wenn ich mich in Uriel verwandel (/poly ...) ja also ich laufe nur auf einer stelle die bewegungs animationen sind aber da -.-" ich habe schon getestet in der DB...
vb 8 Maus bewegen lassen?
07/04/2010 - .NET Languages - 4 Replies
Wie schon in der Überschrift kann ich mit Visual Basic 2008 meine Maus bewegen lassen?
Anonym im I-net bewegen
04/22/2010 - Off Topic - 1 Replies
Habe mal ne kleine Frage zu sogenannten Ip Verschlüsselungs programmen wie z.B. Tor/Jap und son Zeugs die deine Ip für andere Leute "relativ unsichtbar" machen?Hat jemand so ein Programm oder kann mir jemand eins raten weil google spuckt unmengen...
Per Koordinaten bewegen
12/01/2009 - GW Bot Discussions / Questions - 5 Replies
Hallo, ich habe mich gefragt, ob man seinen Char nach Koordinaten über die Map bewegen lassen kann. Wenn ich diese beiden Werte habe: POSX = 0x00D3B314 POSY = 0x00D3B318 Wie kann ich dann meinem Char sagen das er dahin laufen soll?
Bot bewegen!!!
06/05/2006 - Lineage 2 - 11 Replies
Gott zum grusse, ich hab da mal eine frage wegen den L2-Walker ... wie kann ich den Bot sagen das wenn der gestorben ist... das der wieder in das Kampfgebiet zurück geht ??? Weil der KOmmt ja dann immer wieder in der nächsten stadt raus... ich...



All times are GMT +2. The time now is 17:35.


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.