PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [CS] Script zum Gegenstand aktivieren



SturmSilber
05-11-04, 13:31
Das folgende Script soll machen, dass man einen Gegenstand vor sich ablegt und wenn man ihn dann anklickt, kann man wählen, ob man ihn wieder einstecken möchte oder ob er eine Kreatur beschwöen soll...
Und ja, ich habe MWSfD und ich habe schon andere Scripte versucht daran anzupassen... Aber irgendwie klappt's nie so richtig, deshalb mal Schritt für Schritt...

<span class="ev_code_GREY">;zuerst wird geprüft, ob der Spieler das Objekt anklickt</span>
<span class="ev_code_GREY">;Spieler klickt nicht, dann wird das Script nicht ausgeführt</span>
if (OnActivate == 0)
return
<span class="ev_code_GREY">;Spieler klickt auf das Objekt und wird gefragt, was er machen soll</span>
else
Messagebox "Wollt ihr das Item aufheben oder das Elementar beschwöen?" "Aufheben" "Beschwöen"
set button to GetButtonPressed
set controlvar to 1
endif

<span class="ev_code_GREY">;hier geht's nur weiter, wenn der Spieler das Objekt angeklickt hat und die Frage beantworten konnte...</span>
if (controlvar == 1)
(if button == 0)
Activate
set controlvar to 0
else
PlaceAtPC->"irgendeinenAtronachoderähnliches" 1 200 1
Activate
set controlvar to 0
endif
endif

Nun, dass ist ja noch nicht alles, aber kann bitte jemand drüberschauen und sagen, wo Fehler oder Verbesserungen sind?

SturmSilber
05-11-04, 13:31
Das folgende Script soll machen, dass man einen Gegenstand vor sich ablegt und wenn man ihn dann anklickt, kann man wählen, ob man ihn wieder einstecken möchte oder ob er eine Kreatur beschwöen soll...
Und ja, ich habe MWSfD und ich habe schon andere Scripte versucht daran anzupassen... Aber irgendwie klappt's nie so richtig, deshalb mal Schritt für Schritt...

<span class="ev_code_GREY">;zuerst wird geprüft, ob der Spieler das Objekt anklickt</span>
<span class="ev_code_GREY">;Spieler klickt nicht, dann wird das Script nicht ausgeführt</span>
if (OnActivate == 0)
return
<span class="ev_code_GREY">;Spieler klickt auf das Objekt und wird gefragt, was er machen soll</span>
else
Messagebox "Wollt ihr das Item aufheben oder das Elementar beschwöen?" "Aufheben" "Beschwöen"
set button to GetButtonPressed
set controlvar to 1
endif

<span class="ev_code_GREY">;hier geht's nur weiter, wenn der Spieler das Objekt angeklickt hat und die Frage beantworten konnte...</span>
if (controlvar == 1)
(if button == 0)
Activate
set controlvar to 0
else
PlaceAtPC-&gt;"irgendeinenAtronachoderähnliches" 1 200 1
Activate
set controlvar to 0
endif
endif

Nun, dass ist ja noch nicht alles, aber kann bitte jemand drüberschauen und sagen, wo Fehler oder Verbesserungen sind?

ToBiOh
05-11-04, 13:50
Hi,

if(OnAcivate == 1)
Massagebox"Wollt ihr das Item aufheben oder das Elementar beschwöen?" "Aufheben" "Beschwöen"
if(GetButtonPressed == 1)
disable
player-&gt;additem"ID_vomgegenstand"1
endif
if(GetButtonPressed == 2)
set controlvar to 1
disable
endif
endif

if(controlvar == 1)
PlaceAtPC "irgendeinenAtronachoderähnliches" 1 200 1
set controlvar to 0
endif

Ähm, http://forums.ubi.com/images/smilies/354.gif

ich glaub so oder so ähnlich könnte es gehen .
Mal ausprobieren http://forums.ubi.com/infopop/emoticons/icon_wink.gif
(hab schon etwas läger nichts mehr mit dem CS gemacht)

mfg Tobi

SturmSilber
05-11-04, 14:29
Danke für den schnellen Rat!

a) Aber die Werte für GetButtonPressed sind doch 0 und 1 ? http://forums.ubi.com/infopop/emoticons/icon_wink.gif
b) Kann man den letzten Teil nicht gleich einfügen anstatt die Kontrollvariable zu erschaffen? (Also ich weiss durh eigenes Probieren, dass es nicht so einfach geht, aber warum? http://forums.ubi.com/images/smilies/351.gif)

Ich werd es mal ausprobieren. Danke erst mal !!!!

ToBiOh
05-11-04, 14:50
a=ich mache es immer so ... (glaub es funzt auch so)
b=irgendwie schon ! war wohl etwas abgelenkt (schau gleichzeitg fern)
*blöd raus red'* http://forums.ubi.com/infopop/emoticons/icon_biggrin.gif

chris_tm
06-11-04, 04:05
Hi,
da sind eigentlich nur 2 kleine Fehler in dem Script.
Erstens blockieren die Zeilen
<span class="ev_code_RED">if (OnActivate == 0)
Return</span>
die Ausführung des Scripts und gehöen deswegen weg.

Und zweitens darf die Zeile
<span class="ev_code_RED">set button to GetButtonPressed</span>
niemals in der OnActivate Schleife stehen, da OnActivate beim Anklicken des Objekts ja nur für einen einzigen Frame True (1) ist und man ja schlecht im gleichen Frame die MessageBox lesen und einen Button anklicken kann http://forums.ubi.com/infopop/emoticons/icon_wink.gif

Sonst musst Du da nix dran verändern.

if ( OnActivate == 1 )
<span class="ev_code_GREY">;Spieler klickt auf das Objekt und wird gefragt, was er machen soll</span>
Messagebox "Wollt ihr das Item aufheben oder das Elementar beschwöen?" "Aufheben" "Beschwöen"
set controlvar to 1
endif

<span class="ev_code_GREY">;hier geht's nur weiter, wenn der Spieler das Objekt angeklickt hat und die Frage beantworten konnte...</span>
if (controlvar == 1 )
<span class="ev_code_GREEN">set button to GetButtonPressed</span>
( if button == 0 )
Activate
set controlvar to 0
else
PlaceAtPC-&gt;"irgendeinenAtronachoderähnliches" 1 200 1
Activate
set controlvar to 0
endif
endif