Construction Set Skriptthread zum Construction Set

Gibt es eine möglichkeit ein Zauber auzulösen mit "begin onactivate" ? Oder ein Skript auszulösen. Also wenn ich was anklicke im Spiel sagen wir mal einen Brunnen das dann ein Zauber startet.

Mfg
Sammael666



Scn Zauber

Begin OnActivate

player.cast SpellID

end

Ich glaube so geht das.
 
Zuletzt bearbeitet:
So vergessen wir das ganze. Ist nicht so wichtig. Ne andere Frage gibt es eine Möglichkeit die Ware eines Händlers levelabhängig zu machen. Das heißt das ein bestimmter Gegenstand erst z.B. mit Level 5 zu kaufen ist?

MFG
Sammael666
 
Hat eigentlich nichts mit nem Skript zu tun...
Dafür musst du einfach eine Levelled-List erstellen und sie in die Händler-Truhe einfügen.
 
@ Der_W@ldmeister skript klappt an sich, aber wenn ich die zweite aufwertung machen will bekomme ich Schwert2 2xmal und danach erst Schwert3 und nur ein Schwert2 wird entfernt. Und wenn ich das bis Schwert7 durchgeführt habe und abwerten will dann dauert es ziemlich lange bis Schwert7 zu Schwert6 abgewertet wird. Also bestimmt so 2 Minuten. Und wie du vielleicht erkennen kannst musste ich das rotgeschriebene dazuschreiben sonst konnte ich das Skript nicht abspeichern, weiß aber nicht ob ich damit was falsch gemacht habe.

scn name
short choose1
short choose2
short choose3
short button1
short button2
short button3
short change
short swordlevel

begin onactivate
if player.getitemcount SCHWERT1-ID==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "nichts tun"
set swordlevel to 1
set choose1 to 1

elseif player.getitemcount SCHWERT2-ID==1 || player.getitemcount SCHWERT3-ID==1 || player.getitemcount SCHWERT4-ID==1 || player.getitemcount SCHWERT5-ID==1 || player.getitemcount SCHWERT6-ID==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "Schwert abwerten" "nichts tun"
set choose2 to 1

elseif player.getitemcount SCHWERT7-ID==1
messagebox"Was wollt Ihr tun?" "Schwert abwerten" "nichts tun"
set choose3 to 1

else
messagebox"Ihr besitzt nicht den nötigen Gegenstand"
endif
end

begin gamemode
if choose1==1
set button1 to getbuttonpressed
if button1==0
player.removeitem SCHWERT1-ID 1
player.additem SCHWERT2-ID 1
set choose1 to 0
set button1 to 5
elseif button1==1
;do nothing
endif

elseif choose2==1
set button2 to getbuttonpressed
if button2==0
set change to 1
elseif button2==1
set change to 2
elseif button2==2
;do nothing
endif

elseif choose3==1
set button3 to getbuttonpressed
if button3==0
player.removeitem SCHWERT7-ID 1
player.additem SCHWERT6-ID 1
set choose3 to 0
set button3 to 5
elseif button3==1
;do nothing
endif
endif
end

begin gamemode
if change==1
set swordlevel to (swordlevel + 1)
if swordlevel==2
player.removeitem SCHWERT1 1
player.additem SCHWERT2 1
set change to 0
elseif swordlevel==3
player.removeitem SCHWERT2 1
player.additem SCHWERT3 1
set change to 0
elseif swordlevel==4
player.removeitem SCHWERT3 1
player.additem SCHWERT4 1
set change to 0
elseif swordlevel==5
player.removeitem SCHWERT4 1
player.additem SCHWERT5 1
set change to 0
elseif swordlevel==6
player.removeitem SCHWERT5 1
player.additem SCHWERT6 1
set change to 0
elseif swordlevel==7
player.removeitem SCHWERT6 1
player.additem SCHWERT7 1
set change to 0
endif

elseif change==2
set swordlevel to (swordlevel - 1)
if swordlevel==1
player.removeitem SCHWERT2 1
player.additem SCHWERT1 1
set change to 0
elseif swordlevel==2
player.removeitem SCHWERT3 1
player.additem SCHWERT2 1
set change to 0
elseif swordlevel==3
player.removeitem SCHWERT4 1
player.additem SCHWERT3 1
set change to 0
elseif swordlevel==4
player.removeitem SCHWERT5 1
player.additem SCHWERT4 1
set change to 0
elseif swordlevel==5
player.removeitem SCHWERT6 1
player.additem SCHWERT5 1
set change to 0
elseif swordlevel==6
player.removeitem SCHWERT7 1
player.additem SCHWERT6 1
set change to 0

else
endif
return
endif
end


MFG
Sammael666
 
Ohja die 2 endif hatte ich vergessen - Habs im Editor geschriben, statt im CS. Ich versuch mal es umzuschreiben, sodass die Fehler behoben werden...

Code:
scn name
short choose1
short choose2
short choose3
short button1
short button2
short button3
short upgrade
short downgrade
short change
short swordlevel

begin onactivate
if player.getitemcount SCHWERT1==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "nichts tun"
set swordlevel to 1
set choose1 to 1

elseif player.getitemcount SCHWERT2==1 || player.getitemcount  SCHWERT3==1 || player.getitemcount SCHWERT4==1 ||  player.getitemcount SCHWERT5==1 || player.getitemcount SCHWERT6==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "Schwert abwerten" "nichts tun"
set choose2 to 1

elseif player.getitemcount SCHWERT7==1
messagebox"Was wollt Ihr tun?" "Schwert abwerten" "nichts tun"
set choose3 to 1

else
messagebox"Ihr besitzt nicht den nötigen Gegenstand"
endif
end

begin gamemode
if choose1==1
set button1 to getbuttonpressed
 if button1==0
 set upgrade to 1
 set choose1 to 0
 set button1 to 5
 elseif button1==1
 set choose1 to 0
 endif

elseif choose2==1
set button2 to getbuttonpressed
  if button2==0
  set upgrade to 1
  set choose2 to 0
  elseif button2==1
  set downgrade to 1
  set choose2 to 0
  elseif button2==2
  set choose2 to 0
 endif

elseif choose3==1
set button3 to getbuttonpressed
  if button3==0
  set downgrade to 1
  set choose3 to 0
  set button3 to 5
  elseif button3==1
  set choose3 to 0
 endif
endif
end

begin gamemode
if upgrade==1
set swordlevel to (swordlevel + 1)
set change to 1
set upgrade to 0
elseif downgrade==1
 set swordlevel to (swordlevel - 1)
set change to 1
set downgrade to 0
endif

if change==1
   if swordlevel==1
   player.additem SCHWERT1 1
   set change to 0
   elseif swordlevel==2
   player.additem SCHWERT2 1
   set change to 0
   elseif swordlevel==3
   player.additem SCHWERT3 1
   set change to 0
   elseif swordlevel==4
   player.additem SCHWERT4 1
   set change to 0
   elseif swordlevel==5
   player.additem SCHWERT5 1
   set change to 0
   elseif swordlevel==6
   player.additem SCHWERT6 1
   set change to 0
   elseif swordlevel==7
   player.additem SCHWERT7 1
   set change to 0
  endif
else
return
endif
end
Code:
scn SCHWERT1-Script

begin onadd
player.removeitem SCHWERT2 1
end
Code:
scn SCHWERT2-Script

begin onadd
player.removeitem SCHWERT1 1
player.removeitem SCHWERT3 1
end
[...]

Code:
scn SCHWERT7-Script
 
 begin onadd
 player.removeitem SCHWERT6 1
 end
Edit: Also ich habs getestet und es funktioniert fast alles. Nur irgendwie ist es bei Schwert 7 so,dass es das Gegenteil von dem amcht was ich sage... Also bei abwerten tut es nichts und bei nichts tun wertet es ab...

Edit2: Jetzt funktioniert es :win:Hatte ein paar Zeilen vergessen, wodurch die Auswahl von button2 und button3 durcheinanderkam^^"
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Sammael666
So jetzt habe ich das Problem das ich nur noch schwert2 bekomme...
Egal was ich mache. Habe die Skripts auch auf die Schwerter gelegt.
Und wenn ich Schwert2 bekomme dann habe ich Schwert1 immer noch.
Tut mir leid das ich die solche Probleme mache :)

MFG
Sammael666
 
so... Ich hatte gehofft es hängt mit der Verzögerung zusammen, allerdings funktioniert es immer nocht nicht...
Nach ein paar Tests bin ich zu folgenden Resultaten gekommen:
Die einzigen Zauber, die funktionieren, sind zauber, die auf mich selbst wirken (Beschwörungen, Buffs usw.) obwohl der Script heißt:
Code:
player.cast SPELLID target

Hat es etwas mit dem
Code:
set target to GetSelf
zu tun?
Oder mit etwas anderem?
Oder bin ich Opfer einer Verschwörung? Und was haben die Illuminaten damit zu tun? Oder sollte ich diese Frage doch lieber an Galileo Mystery senden?
 
Und gibt es eine Möglichkeit das zu umgehen?
(Wie gesagt, der Effeckt "Kreatur beherrschen" soll irgentwie ans Ziel kommen, ohne einen 2. Zauber manuel zaubern zu müssen)
 
@Sammael: Also bei mir hat es geklappt. hast du auch die anderen Scripts dementsprechend eingefügt? Also JEDES Schwert soll eins bekommen! Immer mit dem Script das Schwert darunter und darüber zu entfernen. Ich hab da [...] geschrieben, weil ich nicht 7 Stück auflisten wollte:?
 
  • Like
Reaktionen: Sammael666
So habe das jetzt hinbekommen das ich jetzt aufwerten wie abwerten kann, aber das mit den "begin onadd" bei jeden Schwert nicht funktioniert. Also sie bleiben im Inventar.
 
@ Sammael:
Füg in die Skripte nochmal "getItemCount"-Abfragen ein. Vielleicht stört es, wenn "removeItem" benutzt wird, ohne dass sich das Item im Inventar befindet.

@ Lord-Alex:
Du kannst den Zauber von einem beliebigen Activator casten lassen. Ich bin mir allerdings nicht sicher, ob die angezauberten Kreaturen dann trotzdem dem Spieler folgen, weil er ja nicht der Zauberer ist. Ansonsten würde OBSE da helfen.
 
  • Like
Reaktionen: Sammael666
Ne geht auch nicht. Ich mach jetzt einfach ein Quest-Skript das eben abfragt welches schwert man hat und die anderen löscht. Fertig. Danke euch.

MFG
Sammael666
 
Aber bei mir gehts doch auch alles:huh: Ich guck gerade nochmal,ob ich die Endversion kopiert habe...

Edit: Also hier nochmal

Code:
scn name
short choose1
short choose2
short choose3
short button1
short button2
short button3
short upgrade
short downgrade
short change
short swordlevel

begin onactivate
if player.getitemcount SCHWERT1==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "nichts tun"
set swordlevel to 1
set choose1 to 1

elseif player.getitemcount SCHWERT2==1 || player.getitemcount  SCHWERT3==1 || player.getitemcount SCHWERT4==1 ||  player.getitemcount SCHWERT5==1 || player.getitemcount SCHWERT6==1
messagebox"Was wollt ihr tun?" "Schwert aufwerten" "Schwert abwerten" "nichts tun"
set choose2 to 1

elseif player.getitemcount SCHWERT7==1
messagebox"Was wollt Ihr tun?" "Schwert abwerten" "nichts tun"
set choose3 to 1

else
messagebox"Ihr besitzt nicht den nötigen Gegenstand"
endif
end

begin gamemode
if choose1==1
set button1 to getbuttonpressed
 if button1==0
 set upgrade to 1
 set choose1 to 0
 set button1 to 5
 elseif button1==1
 set choose1 to 0
 endif

elseif choose2==1
set button2 to getbuttonpressed
  if button2==0
  set upgrade to 1
  set choose2 to 0
  elseif button2==1
  set downgrade to 1
  set choose2 to 0
  elseif button2==2
  set choose2 to 0
 endif

elseif choose3==1
set button3 to getbuttonpressed
  if button3==0
  set downgrade to 1
  set choose3 to 0
  set button3 to 5
  elseif button3==1
  set choose3 to 0
 endif
endif
end

begin gamemode
if upgrade==1
set swordlevel to (swordlevel + 1)
set change to 1
set upgrade to 0
elseif downgrade==1
 set swordlevel to (swordlevel - 1)
set change to 1
set downgrade to 0
endif

if change==1
   if swordlevel==1
   player.additem SCHWERT1 1
   set change to 0
   elseif swordlevel==2
   player.additem SCHWERT2 1
   set change to 0
   elseif swordlevel==3
   player.additem SCHWERT3 1
   set change to 0
   elseif swordlevel==4
   player.additem SCHWERT4 1
   set change to 0
   elseif swordlevel==5
   player.additem SCHWERT5 1
   set change to 0
   elseif swordlevel==6
   player.additem SCHWERT6 1
   set change to 0
   elseif swordlevel==7
   player.additem SCHWERT7 1
   set change to 0
  endif
else
return
endif
end
 
Zuletzt bearbeitet: