npc haben rechtsdrall
Übersicht

![]() |
DottakopfBetreff: npc haben rechtsdrall |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin Blitzer !
Also nachdem ich jetzt die collisonen und die texte hinbekommen hab und mein werk mal so ne halbe stunde bewundert/getestet hab, musste ich leider feststellen, dass meine npc gerene gruppen kuschenl machen. Obwohl meinermeinung nach das Laufverhalten der bots wiklich zufällig ist, neigen sie dennoch dazu inetwa nach 3min immer nur nach rechts abzubiegen (hinuntwieder mal links trotzdem rechtsdrall). Somit treffen sie sich logischerweise irgendwann rechts an der mapbegrenzung und rennen da doof rum. Wenn ich mir jetzt vorstelle, dass so in einem Dorf/stadt mal so 10 npc (natürlich zuerst gut verteilt) sich irgendwann mal irgendwo rechts an der Dorfgrenze zu nem picknick versammeln ![]() Die testmap auf der sie sich bewegen, ist eigentlich recht ausgeglichen. ich stell hier mal den teil rein in dem die laufrouten bearbeitet werden. Vielleicht ist ja da a bug drinne ~glei mal sry wegen umbrüche~ Code: [AUSKLAPPEN] Function update_schilder() For info.schild = Each schild ;laufen lassen / map check info\schild_run_counter = info\schild_run_counter +1 If info\schild_run_counter >= info\schild_run_interval Then info\schild_run_counter = 0 info\run_counter = info\run_counter +1 If info\schild_richtung = 1 And map(info\schild_x-1,info\schild_y) < 27 Then info\schild_x = info\schild_x - 1 ElseIf info\schild_richtung = 3 And map(info\schild_x+1,info\schild_y) < 27 Then info\schild_x = info\schild_x + 1 ElseIf info\schild_richtung = 4 And map(info\schild_x,info\schild_y-1) < 27 Then info\schild_y = info\schild_y - 1 ElseIf info\schild_richtung = 2 And map(info\schild_x,info\schild_y+1) < 27 Then info\schild_y = info\schild_y + 1 End If ;andere richtung einschlagen If info\run_counter >= Rnd(2,4) Then info\run_counter = 0 info\schild_richtung = info\schild_richtung +Rnd(1,4) If info\schild_richtung >4 Then info\schild_richtung = Rnd(1,4) End If End If ;npc als rect darstellen Rect info\schild_x*32 - offset_x ,info\schild_y*32 - offset_y ,32,32,0 Next ;usw... wer sich das verhalten mal genauer betrachen will kann sich des im Archiv saugen: (paar kbs) An den code dieb: Es bringt dir nichts wenn du von anderen proggern die codefetzten stiehlst und diese nicht verstehtst. https://www.blitzforum.de/upload/uploads.php mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Baschdi |
![]() Antworten mit Zitat ![]() |
---|---|---|
als ich das getestet habe war alles optimal ..die viecher sind nie aufeinander.... | ||
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habs vorhin auch mal getestet, bei mir gings auch alles! o.O
Mystheriös |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
habt ihr mal länger laufen lassen ? hab jetzt auch mal nen dritten rein und wieder alle auf der rechten seite auf der map ^^
wollte erste ne imagienere begrenzung anlegen mit max x und y werten die er sich vom spawn entfernen darf. Doch dann gehen die ja wieder auf den rechten begrenzungsrand.... Ober nachdem des prob nur bei mir ist. Hmm ka. Was hält ihr von den bots ("zumindest soweit sie gerade sind") kann ma auch mit leer anspechen. Dachte mir ich copy das verhalten der bots von pokemon, da standen die npc auch kurz n paar sek. und dan gingen sie ein tile weiter.... hab versucht das hier auch umzusetzten mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
meiner meinung nach haben die anderen hier entweder dein problem falsch verstanden oder sie haben wie du sagtest nicht lange genug getestet. ![]() jedenfalls sammeln sich die npc's bei mir auch nach ner zeit alle rechts an (wie solls auch anders sein...) . @Baschdi: es geht nicht darum, dass sie übereiander gehen, sondern irgendwann alle am rechten rand rumlungern ![]() |
||
Schnuff |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also, bei mir wandern die fröhlich durch die gegend, nachdem ich aus
Code: [AUSKLAPPEN] ;andere richtung einschlagen
If info\run_counter >= Rand(2,4) Then info\run_counter = 0 info\schild_richtung = info\schild_richtung +Rnd(1,4) If info\schild_richtung >4 Then info\schild_richtung = Rnd(1,4) End If ein Code: [AUSKLAPPEN] ;andere richtung einschlagen
If info\run_counter >= Rand(2,4) Then info\run_counter = 0 info\schild_richtung = info\schild_richtung +Rand(1,4) If info\schild_richtung >4 Then info\schild_richtung = Rand(1,4) End If gemacht habe... edit: bei deiner variante, giebts die möglichkeiten 1.0-4.0 das heist, 2 und 3 kommen doppelt so häufig... (da zu 2, 1.5 bis 2.49 und zu 3: 2.5 bis 3.49 zählt) |
||
Programmers dont die. They gosub without return... |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
vllt bin ich jetzt dämlich...aber die beiden sourcecodes sind exakt identisch... | ||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab auch lang gesucht^^
Aber er hat Rnd durch Rand ersetzt. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Baschdi |
![]() Antworten mit Zitat ![]() |
---|---|---|
also als ich das geändert habe und getestet (testet immer noch) hat sich nix geändert .die bots sind wie davor zumgehampelt. ....evtl liegt es an der version die wir benutzten oder auch nicht ...denn bei manchen scheint rand() anders zu sein als rnd()....
mfg |
||
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir funktioniert Rand wundervoll, nahezu gleichmässiger Anstieg aller Werte. Trotzdem lungerten die Bots bei mir im rechten Bildschirmbereich. Übrigens Dottakopf, unter Rechtsdrall versteht man was anderes.
Code: [AUSKLAPPEN] Graphics 400,200,0,2
SetBuffer BackBuffer() While Not KeyHit(1) w=Rand(1,4) c=1 If w=1 c=0:v1=v1+1 If w=2 c=0:v2=v2+1 If w=3 c=0:v3=v3+1 If w=4 c=0:v4=v4+1 v0=v0+c Text 20,20,"Fehler "+v0 Text 20,40,"Wert 1 "+v1 Text 20,55,"Wert 2 "+v2 Text 20,70,"Wert 3 "+v3 Text 20,85,"Wert 4 "+v4 Flip 0 Cls Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo des mit dem Rechtsdrall... naja dachte des kommt am ehesten an das problem hin ^^ (man wies das die nach rechts ziehen).
Hmm na super ![]() Ich will aber wirklich spontante freie npcs. Da ich jetzt weis, dass die gerne sich rechts tummeln, könnte ich versuchen den npc alle 3 richtungsänderungen wieder mit absicht nach links zu leiten. Könnte des funtzen ???? mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Baschdi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würde probieren das du um jede unit ein feld legst (also nur gedacht) und wenn die koos zu klein oder zu groß sind , also das viech sich raus bewegt, dann änderst du die richtung, aber innerhalb des felds kann sie sich bewegen wie sie will, die einheit..... | ||
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden |
![]() |
DottakopfBetreff: . |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nunja wie ich scho sagte, möchte ich keine "begrenzung" da 1. ich freie npc möchte...(eigene messlatte) 2. Es nur den effekt hätte, dass die sich wieder an der max. rechten x koord rumtreinben - "rechtsdrall" -
Anscheinend hab ich es geschaft, durch nen zähler den Rechtsdrall aufzuheben. Alle 4 richtungsänderungen = richtung nach links einschlagen. Hab des mal nicht länger als 10 min laufen lassen... sah aber ganz gut aus. Auch wenn sie sich manchmal etwas näher kamen hatte sich des wieder aufgelöst und haben sich wieder verteilt. Da die laufrouten eh zufällig sind ist es wohl erher unmöglich zu verhindern, dass mal 2 npc kuscheln ![]() wäre nett wenn ihr mir des auch bestätigen könntet, lade jetzt mal die neue version ins archiv. Hab da mal noch nen 3ten rein. https://www.blitzforum.de/upload/uploads.php mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group