Construction Set Skriptthread zum Construction Set

Wie kann ich zufall in ein Script einbringen? Also z.B. mit 15% Chance passiert nichts (wenn man etwas Aktiviert)
mit 10% chance kriegt man 100 Gobl usw.
 
danke danke.

edit: nochma was:
warum geht dieses Script nicht? die Stage wird nicht erhöht. Das script liegt auf einem gelevelten Monster (einer dieser roten Marker in Form eines M´s)

Code:
scn zlagermonsscript

short doonce
begin OnDeath
if doonce == 0 
setstage zpattabanditsquestaufnahme1 15
set doonce to 1
endif
end
 
Zuletzt bearbeitet:
hallo :)

Ich habe ein Problem mit einem Script.
Und zwar soll das Script beim Aktivieren nach einer einer Antwort Fragen doch man hat nur eine Antwoert's möglichhkeit:Nichts eingeben und weglegen bei dieser Antwort soll das soll die Messages Box sich closen und nichts passiert doch wenn man einen tagebuh eintrag bekommt. (FNHQ03|5) soll eine zweite antwort möglichkeit kommen :Necromanti dann soll das Buch aktiviert werden.(das aber nur einmal)
Und jetz funktioniert gar nicht... :(

Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnActivate
if (once == 0) && (player.GetStage FNHQ02 <= 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 5)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 1
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end

Bitte um Hilfe
Lg yves
 
Eine Frage: Wenn man einem NPC eine Faction zuordnet hat er doch den Rank 0. Wie kann ich den Rank verändern, sodass er beispielsweise 8 hat?
 
Du hast auch (player.GetStage FNHQ03 >= 5) geschrieben, da fehlt eine 0.
Auch sollte es nicht <= 50 und >= 50 heißen. Bei 50 trifft beides zu. Nimm <= (Stage vor 50) und >= 50.

Du hast nie geschrieben if Button == 2

Das heißt, wenn man Necromanti sagt, passiert garnichts

Es gibt nur 2 buttons, also auch nur 0 und 1 abfragen.

@jimmartens:
Mit SetFactionRank sollte das klappen.
 
Zuletzt bearbeitet:
Also dann so:
Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnActivate
if (once == 0) && (player.GetStage FNHQ02 >= 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 05)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 1
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end
 
Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnActivate
if (once == 0) && (player.GetStage FNHQ02 < 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 1
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end
 
warum geht dieses Script nicht? die Stage wird nicht erhöht. Das script liegt auf einem gelevelten Monster (einer dieser roten Marker in Form eines M´s)

Code:
scn zlagermonsscript

short doonce
begin OnDeath
if doonce == 0 
setstage zpattabanditsquestaufnahme1 15
set doonce to 1
endif
end


wollts nur noch ma ans Ende holen. wieil das regt mich grade echt auf. Ist einer der wenigen Bugs in mienem PI bisher
 
Zuletzt bearbeitet:
Nein^^
Das soll kommen wenn man den Eintrag FNHQ03-05 hat nicht wenn der eintrag einfach über FNHQ02-50 ist enn dazwischen kommen mehrere.
Also:
Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnActivate
if (once == 0) && (player.GetStage FNHQ02 < 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 5)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 1
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end
 
Du fragst da zwei verschiedene Quests ab? Wieso? So kann die erste Messagebox kommen, obwohl die Bedingung für die andere auch erfüllt ist. (Sofern das vom Questverlauf her möglich ist.)

Was sagtest du, passiert bei dem Script bis jetzt?
 
Weil die Antwort soll erst später kommen halt FNHG03-5.
Bis jtez gar nicht das Buch geht einfach auf.
Mfg yves