Construction Set Brauche hilfe für ein Script

Cha0sking

Fremdländer
moin moin erst ein mal ich brauche hilfe bei einem Script für eine Person, ich bin dabei einen begleiter zu erstellen und jedesmal wenn ich ihn ansprechen will soll sich eine Message Box öffnen, und wenn ich dann auf einen dortigen button klicke( wie man diese anlegt weiß ich), soll sich ein bestimmtes Talent z.B. Schwertkampf um 1 erhöhen, dafür sollen 20 Gold abgezogen werden, könnte mir jemand so ein Script schreiben bitte? dieses würde ich dann in mein Begleiterscript mit einflechten.

Danke schon mal im vorraus

LG Cha0s
 
Code:
long talent
If Button == Sonstwas && Player.GetItem Gold001 >= 20
Set Talent to ActorId.GetActorValue TalentName + 1
ActorId.SetActorValue TalentName Talent         ;Oder ModActorValue du vergisst alles von oben und schreibt ModActorValue + 1 endif
end

für TalentName suchst du dir einfach den Namen des Talents aus dieser Liste --> Klick
 
ja das hat geholfen, doch jetzt kam das nächste prob, also ich kann jetzt, wenn ich meinen Begleiter anspreche mein Talent steigern, ich habe drei zur auswahl Faustkampf, Blocken und Schwertkampf. Das erste Problem ist, das wenn ich eins von den dreien anklicke muss ich beim nächsten mal ein anderes anklicken, damit beim darauffolgenden mal das erste wieder funzt, zwei ml hintereinander oder noch öfter das gleiche talent geht nicht. Zweites Prob ist das wenn ich jetzt zb. Faustkampf stufe 25 erreiche wird es nicht als Stufenaufstieg in diesem Talent wargenommen( Die Messagebox die bei den Stufen 25,50,75,100 auftaucht). Drittes und bis jetzt letztes prob ist, das keine 20 gold abgezogen werden wenn ich auf eine der drei antworten klicke.


Ich bitte um schnelle hilfe euer Cha0s
 
Zuletzt bearbeitet:
Code:
scn aaaGarrusscript

short Button
long talent

Begin OnActivate player

MessageBox "Was verlangt ihr von eurem treuen Diener?", "Folgt mir!" "Bleibt hier!" "Riecht ihr kein Blut?" "Zurück zum Lager!" "Waffe raus! Es könnte Ärger geben!" "Alles ruhig!" "Lasst uns den Schwertkampf trainieren!" "Lasst uns das Blocken trainieren!" "Lasst uns den Faustkampf trainieren!"

End

Begin Gamemode

set button to GetButtonPressed
if ( button == 0 )
AddScriptPackage aaaaafollowplayer24x24;
elseif ( button == 1 )
RemoveScriptPackage aaaaafollowplayer24x24;
elseif (button == 2 )
SetActorValue Aggression 100;
elseif ( button == 3 )
movetomarker aaaGarrusref;
elseif ( button == 4 ) 
SetAlert 1;
elseif ( button == 5 ) 
SetAlert 0;
elseif ( button == 6 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.GetActorValue Blade + 1
player.SetActorValue Blade Talent;
elseif ( button == 7 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.GetActorValue Block + 1
player.SetActorValue Block Talent;
elseif ( button == 8 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.GetActorValue Block + 1
player.SetActorValue HandToHand Talent;



endif

end

Begin OnDeath

Resurrect 1;
movetomarker aaaGarrusref;
MessageBox "Der Tod lässt sich nicht überlisten!"

End
 
Zuletzt bearbeitet:
Probiers mal so, also das rote in das Script einfügen. So könnte es klappen.
Das mit dem Gold habe ich auch gleich noch eingefügt.
Und mit SetAv sollte auch das mit der Stufe (Lehrling etc) gehen, also nicht in den letzten drei Punkten SetActorValue.

Code:
scn aaaGarrusscript

[COLOR="Red"]short gelernt[/COLOR]
short Button
long talent

Begin OnActivate player
[COLOR="Red"]if gelernt == 1
set gelernt to 0
endif
activate[/COLOR]
MessageBox "Was verlangt ihr von eurem treuen Diener?", "Folgt mir!" "Bleibt hier!" "Riecht ihr kein Blut?" "Zurück zum Lager!" "Waffe raus! Es könnte Ärger geben!" "Alles ruhig!" "Lasst uns den Schwertkampf trainieren!" "Lasst uns das Blocken trainieren!" "Lasst uns den Faustkampf trainieren!"

End

Begin Gamemode

set button to GetButtonPressed
if ( button == 0 )
AddScriptPackage aaaaafollowplayer24x24;
elseif ( button == 1 )
RemoveScriptPackage aaaaafollowplayer24x24;
elseif (button == 2 )
SetActorValue Aggression 100;
elseif ( button == 3 )
movetomarker aaaGarrusref;
elseif ( button == 4 ) 
SetAlert 1;
elseif ( button == 5 ) 
SetAlert 0;
elseif ( button == 6 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.SetAv Blade + 1
player.SetAv Blade Talent;
[COLOR="Red"]player.removeitem gold001 20
set gelernt to 1[/COLOR]
elseif ( button == 7 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.SetAv Block + 1
player.SetAv Block Talent;
[COLOR="Red"]player.removeitem gold001 20
set gelernt to 1[/COLOR]
elseif ( button == 8 && Player.GetItemcount Gold001 >= 20 )
Set Talent to player.SetAv Block + 1
player.SetAv HandToHand Talent;
[COLOR="Red"]player.removeitem gold001 20
set gelernt to 1[/COLOR]


endif

end

Begin OnDeath

Resurrect 1;
movetomarker aaaGarrusref;
MessageBox "Der Tod lässt sich nicht überlisten!"

End
 
Zuletzt bearbeitet:
funktioniert nur mit dem gold, der rest nicht, also ich kann nicht mehrmals hintereinander ein talent steigern und die Stufen sprich z.B. novize zu lehrling funzen auch nich

trotzdem danke für die bisherige hilfe
 
Frisch aus dem Urlaub zurück ins Forum der Ratespiele :lol:

Code:
scn aaaGarrusscript

short Button

Begin OnActivate player

MessageBox "Was verlangt ihr von eurem treuen Diener?", "Folgt mir!" "Bleibt hier!" "Riecht ihr kein Blut?" "Zurück zum Lager!" "Waffe raus! Es könnte Ärger geben!" "Alles ruhig!" "Lasst uns den Schwertkampf trainieren!" "Lasst uns das Blocken trainieren!" "Lasst uns den Faustkampf trainieren!"

End

Begin Gamemode

set button to GetButtonPressed
if ( button == 0 )
AddScriptPackage aaaaafollowplayer24x24
elseif ( button == 1 )
RemoveScriptPackage aaaaafollowplayer24x24
elseif (button == 2 )
SetActorValue Aggression 100
elseif ( button == 3 )
movetomarker aaaGarrusref
elseif ( button == 4 ) 
SetAlert 1
elseif ( button == 5 ) 
SetAlert 0
elseif ( button == 6  && player.getitemcount Gold001 >= 20 )
player.ModAV Blade 1
player.removeitem gold01 20
elseif ( button == 7 && Player.GetItemcount Gold001 >= 20 )
player.ModAV Block 1
player.removeitem gold01 20
elseif ( button == 8 && Player.GetItemcount Gold001 >= 20 )
player.ModAV HandToHand 1
player.removeitem gold01 20
endif

end

Begin OnDeath

Resurrect 1
movetomarker aaaGarrusref
MessageBox "Der Tod lässt sich nicht überlisten!"

End

MfG Gildur

Ps.: Cha0sking, programmierst du zufällig auf C++ ?
Die ";"-Zeichen am Ende von Befehlen lassen darauf schließen.
 
Wenn du jetzt noch "gold001" schreibst, könnte es gehen;)
Mal ne Frage nebenbei: Hat ModAv nicht die unangenehme Eigenschaft, zu verhindern, dass man noch auch normale Weise seine Skills verbessern kann?
 
ich hab mich mal ein bisschen mit programmiersprachen in der Schule bechäftigt, jetzt in der lehre werd ichs wohl auch irgendwann wieder bekommen, aber waozu willste das wissen
 
@ Den Thread ersteller, ich würde den Npc nicht umbedingt auf Aggression 100 setzen, dann wird er doch sehr aggressiv.

Ich hab das mal gemacht, und dann ist der Begleiter auf jeden ohne Grund losgegangen. Nimm lieber 90.