PS Bedingung

03/22/2017 10:13 Sour!#1
Hallo,

ich versuche gerade durch pinescript zu bewerkstelligen, dass eine Methode erst aufgerufen wird, wenn vorher fünf Monster gestorben sind. Dabei haben die Monster den selben InxName. Es ist auch noch zu beachten, dass sich noch andere Monster in der Map befinden^^

Script:

Code:
open [StartParty]
 suicide all.
 pause Sec 3.
 broadcast all "Suc1".
 pause Sec 3.
 broadcast all "Suc2".
 pause Sec 3.
 broadcast all "Suc3".
 pause Sec 3.

 chatwin "EndBossLowLvl30" "Boss01".
 pause Sec 3.
 chatwin "EndBossLowLvl30" "Boss02".
 pause Sec 3.
 
 mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
 mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
 mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
 mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
 mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".

; Wenn die oberen fünf Monster gestorben sind, soll die Methode
; NextStage aufgerufen werden.

call "NextStage".
close
Bin für jede Hilfe dankbar^^
03/22/2017 13:09 *Kaito#2
Du willst einen ganz simplen mob count lol
03/23/2017 00:02 Sour!#3
Quote:
Originally Posted by *Kaito View Post
Du willst einen ganz simplen mob count lol
Wie klappt der mob count? Bzw. mit welchem Befehl kann ich herausfinden ob ein Monster gestorben ist oder nicht (Außer DeadIndex, DeadHandle, MobEliminate)
03/24/2017 15:56 Ryouuu#4
Hier ist ein Code mit dem es gehen würde :
Quote:

open [StartParty]
var num 0.
suicide all.
pause Sec 3.
broadcast all "Suc1".
pause Sec 3.
broadcast all "Suc2".
pause Sec 3.
broadcast all "Suc3".
pause Sec 3.

chatwin "EndBossLowLvl30" "Boss01".
pause Sec 3.
chatwin "EndBossLowLvl30" "Boss02".
pause Sec 3.

mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".
mobregen KeeperHandle "EndMobOneLvl30" 3237 2453 90 1000 "Normal".

interruptset DeadIndex "" 5 "EdnMobOneLvl30" "CountMobs".
; Wenn die oberen fünf Monster gestorben sind, soll die Methode
; NextStage aufgerufen werden.

close

open [CountMobs]
num = @Count("EndMobOneLvl30").
call "checkStatus".
close

open [checkStatus]
if num == 0
then open
; Hier soll rein was passieren soll wenn die Mobs getötet sind
; Also beispielsweise "call "NextStage"."
close
close
03/24/2017 16:32 Sour!#5
Quote:
Originally Posted by Ryouuu View Post
Hier ist ein Code mit dem es gehen würde :
Vielen dank^^ Das problem ist nur, dass sich andere Monster mit der selben InxName ebenfalls in der Map befinden aber nicht durch die .ps beschworen sind. So wie ich den Code verstehe klappt das nur, wenn alle Monster in der map mit der InxName gestorben sind damit es weiter geht.

Und noch eine kleine Frage, du greifst ja auf die Variable num (die in der StartParty Methode initialisiert wurde) von einer anderen Methode aus zu, klappt das so wirklich oder muss die Variable nicht doch außerhalb der Methode deklariert werden?

Edit: Sooo ich habe nun die Lösung, die Lösung von @[Only registered and activated users can see links. Click Here To Register...] hat mir einen sehr guten Ansatz dazu gegeben:

Code:
open [CountMobsOne]
	var num 0.
	var newnum 0.
	
	newnum = 32. ;Anzahl der Monster in der Map
	num = [MENTION=414337]count[/MENTION]("all").
	
	if newnum >= num
	then open
		call "SecondStage".
	close
close

open [StartParty]
	interruptset DeadIndex "" 5 "EndMobOneLvl30" "CountMobsOne".
close