Walk Packets

05/18/2009 13:14 kalhacker9000#1
So ich hab mir heute in der Schule (ist eh nix los nurnoch zumsitzen nächste Woche Prüfungen) mir das Walk system von kal durch den kopf gehen lassen....mir fiel auf das ich vieles nicht verstanden habe....

#########
#########
####X####
#########
#########

X steht jetzt für Null
jedes "#" steht für die coordinate eins alles was rechts oben neben dem x ist ist postitiv, alles rechts unten negativ genauso wie links unten und links oben.

wenn ich jetzt das packet sende (0x15,"bbb",1,1,0) dann dürfte ich doch genau hier stehen:

#########
#####X###
#########
#########
#########

wenn ich jetzt das packet (0x15,"bbb",-1,-1,0) schicke eigentlich doch wieder am anfangspunkt?:

#########
#########
####X####
#########
#########

Ich mein aber irgendwo gelesen zu haben das negative werte nicht gehen. Irgendwo hab ich gelesen das 255 der maximale schritt ist....wiederum woanders das 64 der maximale schritt ist....bin mir da jetzt nicht sicher
das heißt ich müsste (nehmen wir an 255 ist der maximale Wert) 255-1 rechnen und dann (0x15,"bbb",254,254,0) senden?

Ich hab mir viele Koordinatenkreuze heute aufgemalt z.B. mit Mob auf X: 7000 und Y: 10000 Player auf X: 5000 und Y: 11000 oder sone spielchen...dann die differenz genommen und eigentlich ist doch die differenz das was man laufen müsste um zum mob zu kommen oder? bloß wenn ich jetzt einen difx wert von 4000 habe wie soll ich das machen? wie stell ich das auf mehrere packets ?
dann hab ich natürlich sowas mit tempx und den spielchen gemacht da kam ich dann immer so auf werte wie 15 oder so und dann hab ich mal zum testen die difx / tempx genommen und geguckt wieviele solcher packets ich senden müsste...einiges.
Aufjedenfall denke ich mal verstehe ich das System jetzt besser ich hab mir auch in der Schule einen 4 Seiten Code aufgeschrieben den ich gleich mal eintippen werde und guck mal ob der funktioniert ^^

Über Tipps etc würde ich mich freuen :P
MFG
Diamond
05/18/2009 14:15 meak1#2
warum hast du tut gemacht über walk with packets??^^ das meinte ich immer ;> du erklärst was , was du selber nicht verstehst?. guck dir "[Only registered and activated users can see links. Click Here To Register...]" nochmal an da steht genug zu.

EDIT:ok kriegst nen tipp: 64-128 "+ berreich" , 192-255 " - berreich" diesmal gibs kein code ;>
05/18/2009 14:33 kalhacker9000#3
ich will auch kein code....außerdem wenn du dir meinen thread anguckst wirst du einen unterschied festellen
das war eine frage auf den + und - bereich des coordinatensystems....in meinem tut erkläre ich nur wie man allgemein läuft etc.
das ist ein meilenweiter unterschied.
und wenn du ihn dir ein drittes mal durchliest wirst du evtl. aber nur ganz evtl. feststellen das ich geschrieben habe das ich das system selber noch nicht ganz verstehe und das ich trotzdem versuche anderen zu helfen.
das hab ich dir bereits schon gesagt hast du es jetzt verstanden?

edit: trotzdem danke
05/18/2009 14:39 kalhacker9000#4
das heißt wenn ich jetzt im kreis laufen will...ne sagen wir im viereck...
müsste ich wenn ich hier stehe
#########
#########
####X####
#########
#########

Packet: 0x15 FORMAT: bbb
1: 68
2: 68
3: 0
########X
#########
#########
#########
#########

Packet: 0x15 FORMAT: bbb
1: 251
2: 251
3: 0
#########
#########
####X####
#########
#########

senden????
05/18/2009 15:40 meak1#5
ich sagte nich das du dir deins angucken sollst in deinem threat^^ ich hatte es ja da erklärt ;>

edit: was du da jez gemalt hast da läuft er schräg hoch und dann wieda in die mitte müsstest dann für jede ecke laufen^^ wenn du im viereck laufen willst ;>
05/18/2009 16:21 katze123#6
Also wäre es für ein viereck:
Packet: 0x15 FORMAT: bbb
1: 68
2: 0
3: 0

Packet: 0x15 FORMAT: bbb
1: 0
2: 68
3: 0

Packet: 0x15 FORMAT: bbb
1: 251
2: 0
3: 0

Packet: 0x15 FORMAT: bbb
1: 0
2: 251
3: 0

oder ? :-D

edit: war ein fehler drin^^
05/18/2009 16:47 BorSti#7
nee das wird kein viereck

[Only registered and activated users can see links. Click Here To Register...]
05/18/2009 16:57 meak1#8
@Borsti kla

X <------- X
|;;;;;;;;;;;;^
|;;;;;;;;;;;;l
V;;;;;;;;;;;;l
X -------> X
startX
05/18/2009 17:14 katze123#9
nice ;)
okay... jetzt gebt mir bitte nen tipp.. wie finde ich die coords raus wo mein player steht.. am besten ohne Player[0] wenns geht...
iwie mit player stop / player move am besten...
PHP Code:
if (buf2[2] == 0x15)//player stop
{
    
DWORD PlayerStopID;
    
memcpy((void*)&PlayerStopID,(void*)((DWORD)buf2+3),4);
    
printf("PSID = %s\n",PSID); //zum nachschauen ob er die ids findet
    
if (PlayerStopID PID//PID wird durch eingabe definiert... also ich gebe die ID von mir an
    
{
        
DWORD PX;
        
DWORD PY;
        
memcpy((void*)&PX,(void*)((DWORD)buf2+5+4),4); //hier sind die zahlen am ende falsch
        
memcpy((void*)&PY,(void*)((DWORD)buf2+5+4+4),4); //hier auch
        
printf("Your X: %s\n",PX);
        
printf("Your Y: %s\n",PY);
    }

05/18/2009 17:45 BorSti#10
Quote:
Originally Posted by meak1 View Post
@Borsti kla

X <------- X
|;;;;;;;;;;;;^
|;;;;;;;;;;;;l
V;;;;;;;;;;;;l
X -------> X
startX


bei 68 wird sich nichts tun


auch wenn es mit 68 gehen sollte:

Packet: 0x15 FORMAT: bbb
1: 68
2: 0
3: 0
er geht nach rechts 68coordinaten

Packet: 0x15 FORMAT: bbb
1: 0
2: 68
3: 0

er geht 68co nach oben

Packet: 0x15 FORMAT: bbb
1: 251
2: 0
3: 0
er geht 4 co nach links

Packet: 0x15 FORMAT: bbb
1: 0
2: 251
3: 0
er geht 4 co nach unten

arg zurück verlesen - ist schon nen viereck ....hab annen trapez gedacht....verzeiung

@Katze sry habe nicht verfolgt was du vorhast ob nun int oder p server

falls es p sein sollte dann kannste ja mit memcopy von /coordinates die coordinaten auslesen

btw was heisst sie sind am ende falsch?!
05/18/2009 17:51 meak1#11
ja oky XD aber er hat den sinn doch jez verstanden^^ mit + und - achse ;D

und es steht ja gut beschrieben in seinem threat
05/18/2009 17:56 BorSti#12
jojo wieder einer mehr der sich entwickelt :P und sich die tuts auch mal durchliest !
05/18/2009 18:00 katze123#13
nene bin auf int...

diese zahlen.. buf2+4 zB, wie finde ich die heraus? also bei x isses ja buf2+4 , bei y buf2+4+4 oder so.. wie kriege ich die heraus? ich bin mir halt nich sicher ob die richtig sind.. mein script kackt an der stelle ab :(
05/18/2009 18:27 kalhacker9000#14
jetzt bin ich verwirrt...hab jetzt mal gemacht das ich die schritte selbst eingebe also die bytes....der maximale wert den ich senden kann ist positiv 44....wenn ich 45 sende passiert nix....das komische ist ich kann -44 eingeben und der bewegt sich in die andere richtung...ich dachte negativzahlen gehen nicht?

edit:
aber danke das ihr euch die mühe macht :) :D
BorSti guck mal msn...xD hab dir nen halben roman geschrieben schon
05/18/2009 18:31 katze123#15
mhm... das ist merkwürdig :D
guckst du dann nach mit /coordinates ob der sich bewegt hat oder machst du nen relog?

sehr sehr merkwürdig das ganze ^^