scn AmuletJoinFactionScript
short Button
begin OnAdd Player
if Player.GetFactionRank FactionID < 0
MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein"
endif
end
begin OnEquip Player ; Wiederholung für den Fall, einmal "Nein" geantwortet zu haben
if Player.GetFactionRank FactionID < 0
MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein"
endif
end
begin GameMode
Set Button to GetButtonPressed
if Button > -1
if Button == 0 ; Antwort "Ja"
Player.SetFactionRank FactionID 0 ; Erster Rang
Set Button to -1
elseif Button == 1 ; Antwort "Nein"
Set Button to -1
endif
endif
end
Klar klappt Gamemode, wie soll die Messagebox sonst überhaupt funktionieren?:huh:Ungetestet, ich hoffe, es funktioniert. Bin mir gerade nicht sicher, ob GameMode auch auf Items im Inventar funktioniert. Müsste aber...Code:scn AmuletJoinFactionScript short Button begin OnAdd Player if Player.GetFactionRank FactionID < 0 MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein" endif end begin OnEquip Player ; Wiederholung für den Fall, einmal "Nein" geantwortet zu haben if Player.GetFactionRank FactionID < 0 MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein" endif end begin GameMode Set Button to GetButtonPressed if Button > -1 if Button == 0 ; Antwort "Ja" Player.SetFactionRank FactionID 0 ; Erster Rang Set Button to -1 elseif Button == 1 ; Antwort "Nein" Set Button to -1 endif endif end
Versuch doch mal selber, was auszuknobeln. Kannst dir doch nicht alle Skripte von anderen vorkauen lassen!
Gruß, Haldor.
@ pooliebe (blöder Name übrigens... nicht persönlich nehmen)
Du musst Button oben als Variable deklarieren: short Button. Sonst kennt er die natürlich nicht. Steht auch so in meinem Skript drin!
@ Oberscht
Klar klappt GameMode. :roll: Ich bin mir nicht sicher, ob GameMode bei einem Item funzt, was sich im Inventar befindet, weil ich diesen Sonderfall noch nicht selber getestet habe. Wie gesagt dürfte das wahrscheinlich kein Problem sein. Aber man kann bei Oblivion nie wissen...
Falsch!du musst einfach am anfang des skripts ein short doOnce einfügen. dann vor der frage if doOnce == 0
und nachdem man in die faction aufgenommen wurde set doOnce to 1
scn Name
short doonce
begin OnActivate
if ( IsActionRef Player == 1 ) && ( doonce != 1 )
PlaySound SoundID
Set doonce to 1
endif
end
short Button
begin OnEquip Player
if Player.GetFactionRank FactionID < 0
MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein"
endif
end
begin GameMode
Set Button to GetButtonPressed
if Button > -1
if Button == 0 ; Antwort "Ja"
Player.SetFactionRank FactionID 0
Set Button to -1
elseif Button == 1 ; Antwort "Nein"
Set Button to -1
endif
endif
Wenn du vorher Button zu -1 gemacht hast, dann gibts gar keine Möglichkeit, dass der gleich danach 1 wird:roll:Set Button to -1
elseif Button == 1 ; Antwort "Nein"
scn Name
short doonce
short Faktion
short Button
begin OnActivate
if ( IsActionRef Player == 1 ) && ( doonce != 1 )
PlaySound SoundID
Set doonce to 1
endif
end
begin OnEquip Player
Set Faktion to Player.GetFactionRank FactionID
if Faktion < 0
MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein"
endif
end
begin GameMode
Set Button to GetButtonPressed
if Button == 0 ; Antwort "Ja"
Player.SetFactionRank FactionID 0
elseif Button == 1 ; Antwort "Nein"
endif
end
scn Name
short doonce
short doonce2
begin OnActivate
if ( IsActionRef Player == 1 ) && ( doonce != 1 )
PlaySound SoundID
Set doonce to 1
endif
end
short Button
begin OnEquip Player
if doonce2 != 1
if Player.GetFactionRank FactionID < 0
MessageBox "Wollt Ihr Euch XY anschließen?", "Ja", "Nein"
set doonce2 to 1
endif
endif
end
begin GameMode
Set Button to GetButtonPressed
if Button > -1
if Button == 0 ; Antwort "Ja"
Player.SetFactionRank FactionID 0
Set Button to -1
elseif Button == 1 ; Antwort "Nein"
Set Button to -1
endif
endif
end