Construction Set Skriptthread zum Construction Set

Ach und (sorry wegen dem Doppelpost) nur er soll mich so begrüßen und nur er soll mir die Höhle verkaufen! Danke im Vorraus MFG aufspringer

PS.: Edit ging nicht :-(
 
Nicht doch, nicht zu danken

Ich weiß zwar nicht, warum du hier so rätselhafte Posts schreibst, aber ich versuche, das mal zu lüften. :p
Also zu deinem ersten Post:
Hallo, ich habe eine Wohnungshöhle im Verkauf, möchtest du sie haben? (oder so ähnlich^^)
Dann musst du bei dem Text diese Conditions reinschreiben:
GetDisposition player > 50 AND
GetIsID [IDdesVerkäufers] == 1.00
Und damit er nach der Begrüßung dieses Topic hat, tippst du einfach in den Result Script folgendes ein:
AddTopic AaHoehleKaufen

So müsste es stimmen ;)
Was meinst du eigentlich mit:
Aufspringer schrieb:
PS.: Edit ging nicht :-(

MfG Gildur

Ach ja, übrigens, nicht zu Danken :p
 
Geht einfach nicht!

Dieser NPC möchte mich einfach nicht begrüßen, wie ich es möchte. Er sagt einfach ein unvertontes 'Hallo'.
 
Neuer Versuch:

Code:
scn AaCheat

short Aktion

    Begin OnEquip ;Beim Anklicken
MessageBox "Was würdet Ihr gerne tun?","Geld kriegen","Im Level aufsteigen"
    End


    Begin GameMode ;Wenn man zurück ist

Set Aktion to GetButtonPressed

    If Aktion == 1
player.additem 00000f 10000 ;10'000 Gold kriegen
    Elseif Aktion == 2
advlevel ;Levelaufstieg
    endif

UnEquip MeinAmulett
    End
Und jetzt? Würds so funzen? :?
 
@ aufspringer: Versuch mal, die Quest-Priority auf 99 zu setzen und teste es dann noch mal. ;) (Hast du selber das "Hallo" geschrieben?)

@ Phoenix-Ch: Der Script ist so schon schön, so ist es dann aber doch besser: ;)
Code:
scn AaCheat

short Aktion

    Begin OnEquip ;Beim Anklicken
MessageBox "Was würdet Ihr gerne tun?","Geld kriegen","Im Level aufsteigen"
    End


    Begin GameMode ;Wenn man zurück ist

Set Aktion to GetButtonPressed

    If Aktion == 0
player.additem Gold001 10000 ;10'000 Gold kriegen
    Elseif Aktion == 1
set player.getlevel to player.getlevel + 1 ;Levelaufstieg
    endif

UnEquip MeinAmulett
    End

Die GetButtonPressed-Funktion fängt nämlich bei 0 an zu zählen.
Jedoch bin ich mir bei dem Levelaufstieg nicht ganz sicher, da es, glaube cih, keine "Levelaufstieg"-Funktion gibt.

MfG Gildur
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Phoenix-Ch
Ok, dann noch eine kleine Änderung:oops::
setlevel 1, 1

Das müsste auch reichen ;)
Bei dem anderen klappts glaube ich nicht ganz, auch wenn er nicht mekkern tut, ^^
 
meinst du jetzt wirklich per Script ein Objekt ablegen lassen, oder ein Script erst ausführen, wenn das Objekt abgelegt wird?
Also beim ablegen lassen, sieht die Funktion so aus:
Das Objekt ganz aus dem Inventar des players: RemoveMe
Das Objekt einfach nur "wegrüsten": UnEquipItem [ItemID]
 
  • Like
Reaktionen: Phoenix-Ch
am besten geht zum teleportieren
Code:
movetoMarker  [MarkerReference]

Aber wichtig, alle befehle die danach kommen werden ignoriert, also muss moveto immer am ende stehen
 
  • Like
Reaktionen: Phoenix-Ch
hm. aber wenn man einfahc beispielweise
Code:
player.moveto marker1
macht geht das auch!

ich weiß net wozu das andre is?
 
Also, "moveto" war glaube ich dafür gedacht, etwas zu einer bestimmten Position relativ eines Markers zu teleportieren.
Sprich, zB. ein Objekt 512 Punkte in der x-Achse und 256 Punkte in der Y-Achse vom Spieler aus zu teleportieren.
Bei der MovetoMarker-funktion wird der Actor einfach zum Marker teleportiert, was man, wie du schon richtig gesagt hast, eigentlich genau so gut mit "moveto" machen könnte.
Ich hoffe, ich konnte damit deine Zweifel besetigen. :-D

MfG Gildur
 
Ich hab auch mal ne frage, wie mache ich es, dass wenn man 5 stunden in einen Bett geschlafen hat, einen betimmte Tür enabled wird?:huh:
 
Hi,
@ Alexi: Genau so ist es: Wiki
Im Script würde das dann ungefair so aussehen:
Code:
Begin OnActivate
If IsActionRef player == 1
... ... ...
End
@ Dark: Also am besten setzt du den folgenden Script auf das Bett, setzt eine Reference auf die Tür, zB. DkDoor:
Code:
Begin OnActivate

short DkDr
short ThisOne

If IsActionRef player
set DkDr to GetPCSleepHours
set ThisOne to 1
Endif
End

Begin GameMode
If player.GetSleeping 4 && GetPCSleepHours - DkDr >= 5 && ThisOne == 1
DkDoor.enable
set ThisOne to 0
endif

end

So müsste es klappen. ;D
Doch falls der Fall auftreten soll, dass die Tür nicht enabled wird, dann muss noch ein Script für die Tür her. Denn ich habe 1, 2 mal die Erfahrung gemacht, dass man Objekte in einem anderen Script als ihrem eigenen nicht enablen kann. Doch wie gesagt, nur manchmal.

MfG Gildur
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Alexi
hmm
Code:
If player.GetSleeping 4 && GetPCSleepHours - DkDr >= 5 && ThisOne == 1

müsste es nicht größer als und nicht kleiner als also

Code:
If player.GetSleeping 4 && GetPCSleepHours - DkDr <= 5 && ThisOne == 1

heißen?