Autor |
|
|
DWK-Aradia |
|
|
|
|
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) ) then //Condition_Win
SSN2SSN(3151,68855)
ssnUse(3151)
SSN2SSN(3152,68855)
ssnUse(3152)
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) ) and then chain(120) ) //New Event
win(1)
endif
if never() and (Never() ) then //New Event
SSNtoWP(68855,5)
endif
endif
habe diesen Befehl gesehen bei einer map die auf unseren server läuft und die man nicht beenden kann. Hoffe zu wissen woran es liegt und möchte mich mal wissen was eure meinung ist. Ich habe gestern nacht was ausprobiert und es hat funktioniert....würde gerne wissen was ihr darüber denkt warum die map bei dieser win condition nicht beendbar ist.
LG
DWK-Aradia
edit by KR-Nevada:
Ich habe zwecks besserer Lesbarkeit zwischen die 2 schließenden Klammer ein Leerzeichen eingefügt, sonst sieht das so aus
Dieser Beitrag wurde 1 mal editiert, zuletzt von KR-Nevada am 12.09.2008 - 19:47.
|
Beitrag vom 12.09.2008 - 09:38 |
|
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Zitat Original geschrieben von DWK-Aradia
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) ) then //Condition_Win |
Ich habe ja schon so einiges gesehen, aber so etwas noch nicht. Der Sinn von if never() and (Never()... ist mir nicht so wirklich klar, obwohl der Mapper dieses Zweimalige Never auch logisch mit zweimal endif beendet. Aber wirklich Sinn macht das für mich nicht.
Sinn macht es nur beim sogenanten Nesting
Zitat
if ssndead() then
if ssndead() then
if ssndead() then
if ssndead() then
if ssndead() then
action
endif
endif
endif
endif
endif
|
Nun mal zur UND Abfrage:
Wenn ich mich recht erinnere wird eine Undabfrage so geschrieben:
Zitat if never() and (ssndead(67670) and ssndead(67673) and ssndead(67674) ) then |
Zu beachten ist hier die korreckte Klammersetzung, da ist JO sehr penibel
Ob an Ende das and then chain(120) ) Sinn macht, müsste ich probieren, obwohl das Stück WAC nicht unbedingt Aussagekräftig sondern eher verwirrend ist.
KR-Nevada
Dieser Beitrag wurde 1 mal editiert, zuletzt von KR-Nevada am 12.09.2008 - 20:17.
|
Beitrag vom 12.09.2008 - 20:10 |
|
|
DWK-Aradia |
|
|
|
|
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) ) then //Condition_Win
SSN2SSN(3151,68855)
ssnUse(3151)
SSN2SSN(3152,68855)
ssnUse(3152)
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) ) and then chain(120) ) //New Event
win(1)
endif
if never() and (Never() ) then //New Event
SSNtoWP(68855,5)
endif
endif
na schau einer an der KR-Nevada lebt ja auch noch
Ich habe die map gezockt gehabt mit DWK-Franky und wir haben uns echt einen Drottel abgesucht was wir noch alles zerstören können damit die map mal beendet wird aber nichts. Bis es mir zu doof geworden ist und ich mir die wac angeschaut hab und diesen befehl gefunden habe. Habe dann einfach die 9 ssndead befehle von der win(1) heraussgelöscht so das die ssndead befehle nur mehr einmal da sind und abgespeichert und noch mal gezockt und schon war sie beendbar die map.
if never() and (Never() and ssndead(133749) and ssndead(133560) and ssndead(133834) and ssndead(133817) and ssndead(133818) and ssndead(68823) and ssndead(68824) and ssndead(68033) and ssndead(68034) )......das hab ich raus genommen gehabt.
|
Beitrag vom 13.09.2008 - 10:31 |
|
|
|
Administrator 464 Beiträge - Fingerwundschreiber
|
|
|
Zitat Original geschrieben von DWK-Aradia
na schau einer an der KR-Nevada lebt ja auch noch |
Öhm ja sicher, warum nicht?
So, aber nun mal Spaß bei Seite.
Dieses Stück WAC Skript hat mich doch total verwirrt, aber dank eines Hinweises von einer anderen Stelle, ist mir nun so einiges klar.
Als erstes die Sache mit dem doppelten Never, hier die Auflösung:
Der Mapper hat die NILE Version 0.86 benutzt. Schauen wir uns die Sache genauer an:
Haken bei Exequte Once, ist die Condition wahr wird die Action einmal ausgeführt, soweit ok.
Nun gibt es aber im alten NILE unter if Conditions auch einen Eintrag Never, wird dieser angeklick:
sieht die WAC danach so aus:
Das doppelte Never ist klar zu erkennen, macht aber nicht wirklich Sinn. Never könnte auch 5mal hintereinander dort stehen, hat aber keinen Einfuss auf die WAC.
Im der gepatchten NILE-Version, von OldMan, gibt es diesen Eintrag Never unter if Conditions nicht mehr, darum war die Sache für mich auch sehr rätselhaft. Damit sollte der erste Teil geklärt sein.
Wenn die Condition wahr ist, werden zwei Bots zu einem Fahrzeug geschickt und nun wird in einer zweiten Condition die ganzen Chose wiederholt. Dafür wurde Nestig benutzt, also Conditon in Condition.
Dazu zwei Anmerkungen:
Um Nesting zu verwenden, muss mann wissen wie es funktioniert, wann wird die innere Schleife angesprungen/ ausgeführt und wann nicht? Sind alle Teile überhaupt für die Abfrage nutzbar? Die Antworten würden an dieser Stelle zu weit führen und sind Teil des Lehrgangs "WAC für Fortgeschrittene".
Aber was wollte der Mapper den nun machen?
Er fragt nochmal alle Teile ab und bildet damit die WIN-Condition. Auch hier sei die Frage erlaubt, ob alle Teile für eine Abfrage geeignet sind und ob Nesting an dieser Stelle Sinn macht. Aber viele Wege führen nach Rom.
Nun noch die Sache mit dem chain(120)
Wie der Mapper das mit NILE hinbekommen hat ist mir auch ein Rätsel, sieht für mich nach einem händischen Eintrag aus. Ich denke mal, er wollte vor WIN 1 eine Pause von 120 Sekunden haben, damit die Bots die er im ersten Teil in die Fahrzeuge schickt, die Player nochmals etwas beschäftigen. Da das chain aber nach dem then steht, kann und wird das so nicht funktionieren. Die Anweisung chain (120) wird wahrscheinlich einfach übersprungen.
Ob dieser Teil am Ende der Anweisung funktioniert, wage ich auch zu bezweifeln.
Zitat if never() and (Never() ) then //New Event
SSNtoWP(68855,5)
endif
endif
|
Aber das könnte uns Aradia berichten!
Damit sollten nun alle Rätsel und Fragen gelöst/beantwortet sein. Alles in allem sieht das für mich nach einem Neumapper aus, der sich an NILE gewagt hat, seine ersten zaghaften Schritte in der WAC macht, aber leider noch nicht versteht, was er da macht. Aber so haben doch alle einmal angefangen oder?
KR-Nevada
|
Beitrag vom 13.09.2008 - 13:59 |
|
|
DWK-Aradia |
|
|
|
|
die ssndead id waren radios und sam stellungen. man musste in jeden abschnitt was finden.
1. abschnitt: 2 radios und 2 sam stellungen
2. abschnitt: 2 radios
3. abschnitt: 2 öltank und ein radio
dann soll ein heli kommen der dich mit nimmt aber der heli ist zwas gekommen aber is nur in der gegend herum geflogen und hat uns nicht mitgenommen, sprich die map konnte nicht beendet werden. Als ich die wac verändert habe ging es dann weil die map am nächsten nicht mehr lief. das mit den chain 120 sollte wahrscheinlich nur bewirken das die map in 120 sec vorbei ist, so meine meinung. Muss mir mal die map nochmal ziehen und verändern und dann testen. Bin ja zurzeit im urlaub in Deutschland beim DWK-Franky...da kann ich nicht so wie ich will, und ausserdem soll man sich ja im urlaub erholen aber anscheinend funkt das net so wirklich, hihi. Was der jenige vorgehabt hat weiss ich auch noch net so richtig aber ich bin der meinung von dir Nevada das es ein anfänger war, und vielleicht auch den sogenannten copy and past angewendet hat. Werde nach geprüfter map mich wieder zu dem beitrag melden.
LG
DWK-Aradia
|
Beitrag vom 13.09.2008 - 15:46 |
|