Construction Set Skriptthread zum Construction Set

Hallo Liebe Community!

Also Folgendes:

Will nen script machen das, wenn sich das benötigte im inventar befindet, zb. nen gegenstand addet. Das sollte über messageboxen laufen ist aber unwichtig da ich mir die auch alleine machen kann. Ich will nur wissen welche befehle ich für so einen script brauche.

Danke im Vorraus

Euer Fluffy!
 
Hallo Liebe Community!

Also Folgendes:

Will nen script machen das, wenn sich das benötigte im inventar befindet, zb. nen gegenstand addet. Das sollte über messageboxen laufen ist aber unwichtig da ich mir die auch alleine machen kann. Ich will nur wissen welche befehle ich für so einen script brauche.

Danke im Vorraus

Euer Fluffy!

Erklär mal näher, was Du machen willst.
 
Erklär mal näher, was Du machen willst.


Also ich will zb einen gegenstand bzw nen skript für nen gegenstand erstellen der zb irgendetwas erschaffen kann sofern die dafür benötigten zutaten im inventar sind. Also zb einen Kristall, wenn man 3 frostsalze hat. nur so als beispiel


mfg Fluffy
 
Zuletzt bearbeitet:
Wäre dann so etwas:
Code:
scn blabla

Begin OnActivate
 if blabla
  player.additem blabla
 endif
end
Variablen und ähnliches muss noch eingesetzt werden. Bin zu müde, um jetzt noch rauszusuchen, wie man feststellen kann, wie viel der Spieler von einem Item im Inventar hat. Aber das müsste bei der if-Abfrage hin und bei player.additem müsste die Id des Gegenstandes hin, den der Spieler bekommen soll.
 
Code:
player.getitemcount <ID>, Anzahl wärs glaub ich. das hinter das if. Oder willst dus mit ner Messagebox?
 
hab eine Frage und zwar:
Ich habe ein Script bei dem alles Funktioniert doch am ende des Timers soll ein NPC "enable" geschaltet werden und eine Konversation gestartet werden, doch den NPC gibt es in 11 Varianten die Level variierend sind. (5,12,15,18,20,25,30,35,40,45,50) und soll auch bei dem entsprechenden level des Cahrs erscheinen und eine Konversation mit imh Starten, d.h wenn der Char level 9 ist soll der NPC level 5 kommen und Konversation gestartet werden ist der char 22 soll der NPC level 20 kommen und konversation gestartet werden und so weiter.
Hier das Script:

Code:
scn FNToronalPumpDes

float timer
short doonce

begin OnActivate

if doonce == 0
disableplayercontrols
FNToronalBridgeGigGateWay.playgroup backward 1
FNToronalPumpFor01.playgroup forward 1
FNToronalTank01.playgroup forward 1
FNToronalTank02.playgroup forward 1
FNToronalTank03.playgroup forward 1
set timer to 7
set doonce to 1
endif

End

begin GameMode

	if doonce == 0
		return

	endif

	if timer >= 0 && doonce == 1
		set timer to timer - getSecondsPassed

	endif

	if timer <= 0
         setStage FNHQ04 20
         enableplayercontrols
         FNtoronalCollisionBoxNoWay.enable
     endif

End


Mfg Yves
 
Ja hm.... Es soll abgefragt werden ob so und so viel items im inventar sind, wenn dies der fall ist kann man in der messagebox auswählen was draus werden soll, eben genauso wie mein voriges beispiel, 3 frostsalze = 1 kristall is aber nur ein beispiel!
 
Das wäre dann schon komplexer. Vielleicht ginge es so:
Code:
scn <scriptname>

short button

Begin OnActivate
    if player.getitemcount <ID> == 3
        MessageBox "Was wollt Ihr machen?", "Eine Kristallkugel!" "<nichts>"
    endif
    set button GetButtonPressed
    if button == 1
        player.removeitem <ID> 3
        player.additem <ID> 1
    endif
end

Aber das wäre dann nur für einen Fall. Also, wenn man eine bestimmte Menge einer Zutat hat, die man dann für ein bestimmtes Produkt eintauscht. Man könnte die MessageBox natürlich noch um weitere Buttons erweitern. Dann müsste man für jene mit einem elseif-Befehl im zweiten if-Block die Folgen angeben.
 
  • Like
Reaktionen: Fluffy
So folgendes Problem, die messagebox kommt nicht einmal wenn ich die items im inventar hab, jedoch werden mir die drei gegenstände aus dem inventar genommen und der gewünschte eingefügt. Dh also der script läuft eigentlich recht gut, doch die messagebox erscheint nur wenn das benötigte item nicht im inventar ist, und somit hat die Messagebox keine funktion mehr!
 
So folgendes Problem, die messagebox kommt nicht einmal wenn ich die items im inventar hab, jedoch werden mir die drei gegenstände aus dem inventar genommen und der gewünschte eingefügt. Dh also der script läuft eigentlich recht gut, doch die messagebox erscheint nur wenn das benötigte item nicht im inventar ist, und somit hat die Messagebox keine funktion mehr!

Code:
scn "Scriptname"

short button

Begin OnActivate
     if MenuMode && (Player.GetItemCount "ID" == 3)
          MessageBox "Was wollt Ihr machen?", "Eine Kristallkugel!" "<nichts>"
     else
          activate
     endif
End

Begin MenuMode
    set button to GetButtonPressed
        if (button == 0)
            ;Auswahl 1 Eine Kristallkugel!
            Player.AddItem "ID" 1
            Player.RemoveItem "ID" 3
            set button to -1
    Endif
End

Versuchs mal so.
 
Code:
scn "Scriptname"

short button

Begin OnActivate
     if MenuMode && (Player.GetItemCount "ID" == 3)
          MessageBox "Was wollt Ihr machen?", "Eine Kristallkugel!" "<nichts>"
     else
          activate
     endif
End

Begin MenuMode
    set button to GetButtonPressed
        if (button == 0)
            ;Auswahl 1 Eine Kristallkugel!
            Player.AddItem "ID" 1
            Player.RemoveItem "ID" 3
            set button to -1
    Endif
End
Versuchs mal so.
Gut habe mich getäuscht. Beim button hätte ich sowieso 0 nehmen müssen, da der gedrückte Button ja immer der Richtige minus 1 ist.
 
Ja ich teste es mal anhand eines gegenstandes oder altars, für die 2te option (Altar) muss ich aber den script ein bissl verändern
 
Sorry Leute, hatte hier nen Doppelpost!

War keine Absicht!, Bitte um Verzeihung...

Euer Fluffy
 
Zuletzt bearbeitet:
Dein script passt ja schon eigentlich. Nur er ist mir teilweise zu kompliziert und ich kann es nicht nachvollziehen.

scn "Scriptname"

short button <- Variable

Begin OnActivate <- Dieser Block beginnt wenn der Gegenstand Aktiviert wird
if MenuMode && (Player.GetItemCount "ID" == 3) <- Hier darunter gehts weiter wenn dies eintrifft! In dem fall, Wenn man im menü ist und 3 gegenstände dieser art hat!

MessageBox "Was wollt Ihr machen?", "Eine Kristallkugel!" "<nichts>" <- Messagebox

else <- Der Else befehl wofür wird der hier verwendet?
activate <- Hier wird nochmal aktiviert wieso?
endif <- Nachvollziehbar, da wir einen IF Block haben muss da auch ein Endif stehen

End <- Beendet den Block


Begin MenuMode <- Nun ich habe keine ahnung was dies mit dem vorigen zu tun hat

set button to GetButtonPressed <- Hab ich auch noch nicht so ganz raus, weiss aber so ungefähr was das is!

if (button == 0) <- Wenn button 0 aktiviert wird....
;Auswahl 1 Eine Kristallkugel!
Player.AddItem "ID" 1
Player.RemoveItem "ID" 3 ......<- geschieht das hier
set button to -1 <- Hmm wieso -1? Das Existiert nicht, wird man dann aus dem Menu bzw der box geworfen oder wieso?

Endif <- Wieder ein endif wegen dem IF block
End


Bitte um korrektur bzw erklärung!

Danke im Vorraus

Euer Fluffy
 
Hi Leute,:) ich brauche ein Script für mein Pferdchen.:D Das Pferd ist in einem Seperaten WorldSpace und kann auch nicht durch Schnellreisen dort weg! Der WorldSpace ist sone Art großer Garten! Nun brauche ich ein Script falls das Pferd Sterben ;oder ich es irgendwo vergessen sollte , das es zum Stall bzw. zum X-Marker zurückkehrt! ;) Schonmal danke !!!

mfg Skoomadieb