Autor |
|
|
bots patrollieren ohne wegpunktliste |
|
|
|
hier ist es mir deutlich zu ruhig und deshalb binde ich euch doch gleich mal ein wenig in meine wac-test/probleme ein.
also folgendes: 75 bots sollen in wäldern zufällige patrollieren und das unabhängig voneinander. damit meine ich jetzt nicht wegpunktlisten die gewechselt werden, sondern unplanbare/unvorhersehbare strecken. der spieler soll nicht, nach mehrmaliges spielen der karte, wissen wann von wo welcher bot kommt - er soll sich vorsichtig durchkämpfen müssen(ich mag keine rambos die andere teammitglieder zu unnötigen rettungsaktionen zwingen).
in der wac verwende ich momentan GLOOP, interne nummer, random, rnd, variablen und standard-befehle. das sieht dann folgendermaßen aus:
if v1 == 1 then
random(20)
if elapse(v199) then
v199 = rnd + 20
GLOOP rpat
random(24)
v200 = rnd - 1
if ssnalive(v200) then
random(79)
v201 = rnd + 8191
ssn2ssn(v200,v201)
endif
END
endif
endif
v1 bekommt den wert 1 wenn ein spieler einen bestimmten bereich erreicht (da der zeitpunkt nicht festlegbar ist, ist es also zufällig).
jetzt meine fragen:
-ich weiß das rnd von nova kein richtiger zufall ist und die auswahlfolge sich wiederholt. wiederholt sich die auswahl der werte nur im selben mapstart oder ändert sie sich bei jedem mapstart neu?
anders gesagt ist rnd nur eine bestimmte von nova festgelegt reihenfolge von zahlen oder nicht.
-hat die abfrage nach dem spieler und das darauf folgende schalten der variable einen einfluss auf die zahlenfolge? ist der zeitpunkt wann die random abfrage startet bestimmend über die reihenfolge?
übrigens, die ausführung funktioniert schon soweit und es scheint ein undurchschaubares gelaufe zu sein. ich würde auch die anschauungsmap rein stellen, doch ich stell mich wieder mal an.
gruß,
sleepless
|
Mittlerweile kann ich schon ein bissl was |
|
Beitrag vom 14.06.2011 - 16:47 |
|
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Hallo Wolfgang,
hier schon einmal eine Antwort zu deinen Fragen:
Die Funktion von Random läuft bei jedem Mapstart gleich ab, dass heißt, die Zahlenabfolge ist immer gleich. Kannst du aber auch mit einer kleinen Testmap probieren. Lass dir die Zahlenfolge anzeigen und notiere sie, starte die Map neu und vergleiche. Du wirst erkennen, es ist die gleiche Abfolge.
Als weitere Zufall könnte benutzt werden:
Die Funktion "Ticks" oder ein Zähler der beliebig von 0 - X zählt, ist er bei X angekommen, setzt du ihn wieder auf 0 und das Spiel beginnt erneut.
So, dass mal auf die Schnelle.
Gruß Bernd
|
Beitrag vom 14.06.2011 - 18:05 |
|
|
|
116 Beiträge - Gelegenheitsposter
|
|
|
na da sieht man es wieder mal..ich hätte jetzt behauptet das es sich bei jeden map neustart ändert ! man lernt eben nie aus!!
|
Laechle, denn du kannst sie nicht alle toeten. |
|
Beitrag vom 14.06.2011 - 19:33 |
|
|
|
Administrator 202 Beiträge - Mitglied
|
|
|
@sleepless
Ich denke ich predige schon seit Jahr und Tag das selbe....
BENUTZT VARIABELN
also mal auf die schnelle:
//**********************************************
//**Auslöser**
//**********************************************
PLOOP
if ssnnearssn(player,123456,50) and never() enter
v2=v1
endif
END
//**********************************************
//**Patrullie PAT1 auf Wegpunkt 1 2 3**
//**********************************************
if v2==1 then GLOOP PAT1 ssntoWP(item,1) END endif
if v2==2 then GLOOP PAT1 ssntoWP(item,2) END endif
if v2==3 then GLOOP PAT1 ssntoWP(item,3) END endif
//**********************************************
//**Zufall-Zähler 1 2 3 für Wegpunkte**
//**********************************************
if elapse(5) then inc(v1) endif
if v1==4 then v1=1 endif
//**Auslöser**
Wenn sich ein Spiele dem Objekt 12345 auf 50m nähert
übergibt die Variable 1 ihren Wert der Variablen 2
---->mach dazu noch so viele Auslöserpunkte wie du willst
//**Patrullie
Sobald die Variable 2 eine Wert bekommen hat soll die Gruppe PAT1 auf einen Wegpunkt los marschieren ( hier 1 2 3) Als wegpunkt nimm irgend ein Objekt in der MAP (Baum Stein Grass......) also KEINE WEPUNKTLISTE aber im NILE diese Punkte so anlegen!!!!
---> im Beispiel sind es 3 Stück mach auch hier halt so viele wie du denkst
dazu musst du im Zufall den wer anpassen!!!
//**Zufall-Zähler
Alle 5 Sekunden wird hier die Variable 1 um 1 erhöht und sobald sie den Wert 4
erreicht hat wieder auf 1 zurückgestellt
Wenn du mehr Wegpunkte willst passe hier den wer an!!!
---------------------------------------------------
Sobald ein Spieler nun einer deiner Auslöser erreicht bekommt die Gruppe PAT1 einen Wegpunkt zugeteilt. Da du Zeitlich nicht sagen kannst wann genau eine Spieler dort ist, ist die MAP komplett zufällig gesteuert. Experimentiere mit dem Wert elapse(5) herum um eine gescheite Balance zu finden. Natürlich musst du auch noch das Verhalten der BOOTS beeinflussen. Am Besten in der WAC mit
if v2==1 and never() then
GLOOP PAT1 ssnatt(item,155) ssnmax(item,200) ssnmin(item,3) END
endif
usw....
So bekommst du eine ZUFALLSMAP......und mit dem Wissen kannst jetzt auch einen
ShotoingRange bauen.
IKARUS~RSU~
Dieser Beitrag wurde 2 mal editiert, zuletzt von IKARUS~RSU~ am 15.06.2011 - 12:34.
|
Beitrag vom 15.06.2011 - 12:12 |
|
|
|
|
na das ist ja mal wieder typisch von dir... vor lauter elan 200meter am ziel vorbei geschossen!
mein bester, wie ich geschrieben habe, funktioniert die schreibweise doch schon super. was ich versuche rauszufinden ist einfach nur die funktionsweise von "random" und "rnd".
den zufall über variablen zu steuern findest doch in fast jeder map von mir. ihr habt mir schliesslich das meiste beigebracht und ich bin ein aufmerksamer schüler!
ich verwende ihn zusätzlich auch in den soundausgaben beim sterben eines bots. ein bot stirbt, immer der gleiche kommentar... mir wurde selbst das bei den meisten karten zu blöd.
wenn wir schon beim wac-posten sind:
////////////////////// random sound
if elapse then
inc(v100)
endif
if eq(v100,7) then
set(v100,1)
endif
if !v150 and v20 then
GLOOP sou1
if ssnalive(item) then
inc(v150)
endif
END
if v151 != v150 then
v151 = v150
v101 = v100
endif
if v150 then
v150 = 0
endif
endif
if v101 == 1 enter
wave("dtlhurrah2.wav")
endif
if v101 == 2 enter
wave("dtlnicejob1.wav")
endif
if v101 == 3 enter
wave("dtlnicejob2.wav")
endif
.
.
.
/////////////////// sounds group 2
if !v155 and v20 then
GLOOP sou2
if ssnalive(item) then
inc(v155)
endif
END
if v156 != v155 then
v156 = v155
v102 = v100
endif
if v155 then
v155 = 0
endif
endif
if v102 == 6 enter
wave("dtlnicejob.wav")
endif
if v102 == 4 enter
wave("dtllaughter.wav")
endif
.
.
.
...also zurück zum thema.
lieben gruß
|
Mittlerweile kann ich schon ein bissl was |
|
Beitrag vom 15.06.2011 - 15:53 |
|
|
bots patrollieren ohne wegpunktliste |
|
|
Administrator 202 Beiträge - Mitglied
|
|
|
@sleepless
Offensichtlich hast du es nicht richtig verstanden und dir noch nicht alles selber beigebracht.
Teste weiter hin brav und dann kommst selber drauf
gruss
IKARUS~RSU~
|
Beitrag vom 16.06.2011 - 10:36 |
|
|
|
|
was davon meinst jetzt? deinen beitrag oben oder die schreibweise von zufall mit variablen?
grad wegen dem endlosen testen habe ich diesen beitrag gestartet. mein test bezieht sich auf die funktionsweise von "random" und "rnd".
...und eine frage vom beitrag eins ist immer noch offen.
grüßle
|
Mittlerweile kann ich schon ein bissl was |
|
Beitrag vom 16.06.2011 - 15:16 |
|
|
|
116 Beiträge - Gelegenheitsposter
|
|
|
Vorschlag von mir:
Wieso trefft ihr euch nicht mal hier im TS und dann kann man das in Ruhe bereden Ihr beide habt viel erfahrung mit Mappen..da kann man sich doch mal gegenseitig helfen ! Man lernt eben nie aus !! Vielleicht schafft man gemeinsam ne "Shooting Range" Map die noch genialer..und wird das Highlight 2011 !! Wäre doch mal ne super Sache !! Und die Map-Makers hätten wieder ne neuigkeit auf der Hp startseite zu setzen
LG Raven
PS: und jetzt haben wir uns wieder ALLE lieb !
|
Laechle, denn du kannst sie nicht alle toeten. |
|
Beitrag vom 16.06.2011 - 17:08 |
|
|
RE: bots patrollieren ohne wegpunktliste |
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Zitat Original geschrieben von sleepless
hier ist es mir deutlich zu ruhig
|
Aber so laut muss es auch nicht werden
Zu deiner Frage 2:
Ich denke mal, dass es auch bei einer Verknüpfung mit einer Variablen keine Änderung der Reihenfolge geben wird, denn es sollte nun wirklich egal sein, ob random durch SSNdead oder durch eine Variable angestoßen wird, beides ist im Endeffekt ein Event. Es wird wohl für jeden Eventanstoß eine feste Zahlenreihe geben. Random ist fest in der exe implementiert und wird durch einen Befehl angestoßen, ob erst nach Stunden oder durch besondere Bedingungen. Zufall kannst du nur erzeugen indem du den ausgegebenen Randomwert mit einem zweiten zufälligen Wert verknüpfst, welcher natürlich nichts mit Random zu tun haben daraf, denn das währe wieder kein Zufall.
Einige Möglichkeiten hatte ich ja schon weiter oben erwähnt, weitere Möglichkeiten währen z.B.:
- Ist ein Ausgabewert gerade oder ungerade (2 oder 3)
- Ist ein Ausgabewert größer oder kleiner als X
- Die Spreizung bei jeder Randumabfage ändern, hier könnte natürlich eine Variable hilfreich sein.
Gruß,
KR-Nevada (Bernd)
der im Moment kein oder nur ein temporäres Internet hat
|
Beitrag vom 16.06.2011 - 17:43 |
|
|
|
|
ja, ich glaub ich verstehe. ich seh dann mal rnd einfach wie ähnlich der zahl π(3,14159...) die ändert sich auch nie.
verknüpfen wäre dann für den fall pflicht. das schalten der variable durch die spieler löst zwar v1 zu wert 1 an einem unbekannten zeitpunkt aus, aber ab da wäre alles wieder das selbe.
rein neugierde halber, weiß man wie lange die ist?
@raven: ich glaub da muss ich schon noch ein wenig üben. ausserdem hab wahrscheinlich weder ikarus noch ich das irgendwie alzu dramatisch gesehen.
...und lieb hab ich euch doch eh alle.
sleepless
|
Mittlerweile kann ich schon ein bissl was |
|
Beitrag vom 18.06.2011 - 10:57 |
|
|
|
116 Beiträge - Gelegenheitsposter
|
|
|
Na da schau her..lieb hat er uns eh alle !! Da wird wieder rumgeschleimt das sich alles zieht Spass beiseite..ich denke mal das ihr das nicht all zu ernst nehmen dürft..wir sind schliesslich eine Community die zusammen hält und erfahrungen austauscht und keine Machtkämpfe austrägt ! Aber mir kommt da gerade so ein Gedanke ! Bernd,Rene und Wolfgang zusammen an einen Tisch, grübeln um die wette wie man eine Map bauen kann..die Ideen fliessen nur so raus und werden sofort umgesetzt..viel gegrübel, viel Rauch steigt aus den Köpfen der drei´n...aber zum schluss,nach vielen Tests und Änderungen kommt ne spitzen Map raus die, die Messlatte sehr sehr hoch treibt und sich manch einer ein paar scheiben abschneiden kann!!!!
Vielleicht ein kleiner denk anstoss !!
LG Raven (Babsi)
|
Laechle, denn du kannst sie nicht alle toeten. |
Dieser Beitrag wurde 1 mal editiert, zuletzt von Raven am 18.06.2011 - 11:28.
|
Beitrag vom 18.06.2011 - 11:25 |
|
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Deine Schlusssatz erinnert mich an alte Zeiten Babsi.
Genauso ist es vor einigen Jahren abgelaufen. Wir haben oft bis spät in die Nacht zusammengehockt und über Dinge gesprochen, probiert, wac`s zum xten mal umgeschrieben, getestet in allen Varianten und sind dann mit Lösungen oder Neuheiten an die Mapperwelt getreten. Das war und ist der Grundgedanke der Map-Makers gewesen und ist es natürlich auch heute noch. Nur fehlt uns heute die Zeit oder es gibt nicht mehr zu entdecken .... beim alten JO
|
Beitrag vom 18.06.2011 - 12:43 |
|
|
|
116 Beiträge - Gelegenheitsposter
|
|
|
zu entdecken gibt es immer was Bernd..man muss halt nur dahinter sein..wäre hätte gedacht das Leute wie ihr Dinge in die Welt schafft wo vorher keiner daran gedacht hat das sowas möglich ist. Also ist doch Idee eigentlich recht gut von mir *liebschau*
|
Laechle, denn du kannst sie nicht alle toeten. |
|
Beitrag vom 18.06.2011 - 18:03 |
|
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Zitat Original geschrieben von sleepless
verknüpfen wäre dann für den fall pflicht. das schalten der variable durch die spieler löst zwar v1 zu wert 1 an einem unbekannten zeitpunkt aus, aber ab da wäre alles wieder das selbe.
rein neugierde halber, weiß man wie lange die ist? |
Habe ich noch nicht ausprobiert, wenn du Zeit hast, probier es und berichte dann bitte
Gruß Bernd
|
Beitrag vom 23.06.2011 - 19:49 |
|