Construction Set Skriptthread zum Construction Set

die beiden werden durch ein script ins spiel beschworen
sprich:
ich hab zwei x marker und durch einen seilzug wird bei jedem xmarker einer der beiden reingesetzt
 
also ok ich sag es so:
ich muß es so hinkriegen das kreaturA npcB angreift und umgedreht
die beiden müssen durch einen zug am seil erscheinen und wenn einer tod ist wieder verschwinden
der zug am seil soll nur gehen wenn der spieler mindestens ein gold hat und soll ihn ein gold kosten.
 
Du steckst beide in eine Dummy-Cell und gibst ihnen eine Referenz. Dann noch einen Marker in die Dummy-Cell. Danach gibst du den Markern auch eine Referenz.
Dann legst du das Script auf den Activator:

Code:
SCN ...

Short Move

Begin OnActivate

if(move == 0)
   set move  to 1
endif

end

begin gameMode

if(move == 0)
   return
 elseif(move == 1)
      if(player.getitemcount gold001 < 1)
           Message "Ihr habt nicht genug Gold!"
      else
              Player.RemoveItem Gold001 1

              <NPC-Ref>.MoveTo <MarkerRef>
              <Kreatur-Ref>.MoveTo <MarkerRef>

              <NPC-Ref>.startcombat <Kreatur-Ref>
              <Kreatur-Ref>.startcombat <NPC-Ref>

              set move to 2

       endif
   elseif(move == 2)
             if(<NPC-Ref>.getDead || <Kreatur-Ref>.getDead)
                   <NPC-Ref>.MoveTo <MarkerinDummyCell>
                   <Kreatur-Ref>.MoveTo <MarkerinDummyCell>

                   set move to 3
             endif
       endif
end
Wenn man es mehrmals können soll:

Code:
SCN ...

Short Move

Begin OnActivate

if(move == 0)
   set move  to 1
endif

end

begin gameMode

if(move == 0)
   return
 elseif(move == 1)
      if(player.getitemcount gold001 < 1)
           Message "Ihr habt nicht genug Gold!"
      else
              Player.RemoveItem Gold001 1

              <NPC-Ref>.MoveTo <MarkerRef>
              <Kreatur-Ref>.MoveTo <MarkerRef>

              <NPC-Ref>.startcombat <Kreatur-Ref>
              <Kreatur-Ref>.startcombat <NPC-Ref>

              set move to 2

       endif
   elseif(move == 2)
             if(<NPC-Ref>.getDead || <Kreatur-Ref>.getDead)
                   <NPC-Ref>.MoveTo <MarkerinDummyCell>
                   <Kreatur-Ref>.MoveTo <MarkerinDummyCell>

                   <NPC-Ref>.resurrect
                   <Kreatur-Ref>.resurrect

                   set move to 0
             endif
       endif
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Dorime
ah ich teste ma wenn ich die dummycell finde


und wo es mir grade einfällt
die Kreatur z soll von marker 1 und marker 2 hin und herlaufen wie geht das??
 
Zuletzt bearbeitet:
Die Dummy-Cell musst du selbst erstellen. ;) Einfach eine Zelle, wo nichts drin ist, außer die NPC`s und Kreaturen und eben der Marker.
 
also setze ich marker 1 dahin wo die beiden in der dummy cell sind
marker 2 dahin wo die kreatur dan in kampf kommen soll
und marker 3 dahin wo der npc kommen soll?
 
ok das mache ich ma
und kannst du mir auch ein script geben das kreatur c von marker a und b hin und herlaufen soll?
Begin OnActivate

if(move == 0)
set move to 1
endif

end

begin gameMode

if(move == 0)
return
elseif(move == 1)
if(player.getitemcount gold001 < 1)
Message "Ihr habt nicht genug Gold!"
else
Player.RemoveItem Gold001 1

DAAFighter01ref.MoveTo FighterMarker01
DAAClannfear01ref.MoveTo FighterMarker02

DAAFighter01ref.startcombat DAAClannfear01ref
DAAClannfear01ref.startcombat DAAFighter01ref

set move to 2

endif
elseif(move == 2)
if(DAAFighter01ref.getDead || DAAClannfear01ref.getDead)
DAAFighter01ref.MoveTo DAAdummycellmarker
DAAClannfear01ref.MoveTo DAAdummycellmarker

DAAFighter01ref.resurrect
DAAClannfear01ref.resurrect

set move to 0
endif

so steht das da jetzt und der zeigt mir diverse fehlermeldungen
 
Zuletzt bearbeitet:
Script 'DAAarenscript01',line 21:
Non-persistent reference 'DAAClannfear01ref' cannot be used in a script

Script 'DAAarenscript01',line 5:
Syntax Error. Unknow command 'move'.

scn DAAarenscript01

Begin OnActivate

if(move == 0)
set move to 1
endif

end

begin gameMode

if(move == 0)
return
elseif(move == 1)
if(player.getitemcount gold001 < 1)
Message "Ihr habt nicht genug Gold!"
else
Player.RemoveItem Gold001 1

DAAFighter01ref.MoveTo FighterMarker01
DAAClannfear01ref.MoveTo FighterMarker02

DAAFighter01ref.startcombat DAAClannfear01ref
DAAClannfear01ref.startcombat DAAFighter01ref

set move to 2

endif
elseif(move == 2)
if(DAAFighter01ref.getDead || DAAClannfear01ref.getDead)
DAAFighter01ref.MoveTo DAAdummycellmarker
DAAClannfear01ref.MoveTo DAAdummycellmarker

DAAFighter01ref.resurrect
DAAClannfear01ref.resurrect

set move to 0
endif
 
Du musst bei den Referenzen auch einen Haken bei "Persistent Reference" machen und du hast die Variable "Move" vergessen zu übertragen.
 
jetzt bekomme ich neue fehlermeldungen :cry:

Script 'DAAarenscript01', line 13:
Mismatched beginn/end block starting on line 13.

Script 'DAAarenscript01', line 13:
Mismatched begin/end block.
 
Du hast ja auch das Script von mir nicht korrekt kopiert. Ansonsten würde es ja funktionieren. :-D

Dir fehlt ein "end" am Ende.
 
Klappt super
verschwinden zwar sehr schnell aber das ist eig egal

und jetz noch ein script:
ich brauche ein script das kreatur a von pumkt 1 und punkt 2 hin und herläuft
 
Zuletzt bearbeitet:
Dafür brauchst du kein Skript sondern Packages. In deinem Fall solltest du ein Travel-Package benutzen und als Ziel-Referenz den Marker an Punkt 2 angeben.