s2ext

Programme & Projekte => Stranded 2 Extension Mod => Thema gestartet von: Robo01 am Januar 02, 2008, 21:11:41 Nachmittag

Titel: Fragen zum Scripting
Beitrag von: Robo01 am Januar 02, 2008, 21:11:41 Nachmittag
Was ist denn mit der msgbox? Ich habe in die Gloale Scriptzeile eigetipt:
on:start {
   msgbox "Hallo" [,"6"];
}
Aber es öffnet sich immer die Programmierzeile(°^) und ich muss sie immer weg machen damit ich dass sehe, was ich geschrieben habe! xD
Was mache ich falsch? }:?
Titel: Re: msgbox?
Beitrag von: Dicker am Januar 02, 2008, 21:17:24 Nachmittag
Schmeiß die eckigen Klammern raus. Die sollen in der Befehlsreferenz nur zeigen, dass der Parameter optional ist.
Titel: Re: msgbox?
Beitrag von: bizzl am Januar 02, 2008, 21:18:33 Nachmittag
Die Eckigen Klammern deuten in der Befehlsreferenz an das ein parameter fakultativ ist, du ihn also auch weglassen kannst.
Du darfst sie nicht mit in den Code übernehmen. :no:
Titel: Re: msgbox?
Beitrag von: Robo01 am Januar 03, 2008, 08:39:13 Vormittag
Dake!    :hooray:
Titel: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: Robo01 am Januar 03, 2008, 10:23:52 Vormittag
Ich wollte in ein Textcontainer eine Insel  verknüpfen indem ich am Schluss schreibe: button=action:loadmap, Ja
Aber es passiert nie was!  :no:
Was mache ich falsch? }:?
Titel: Re: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: banane am Januar 03, 2008, 11:04:25 Vormittag
alles :P
1. als "seite" mit action: gibt es nur action:close
2. woher soll s2 denn wissen, welche map es laden soll?

mein vorschlag wäre, du machst es so:

...
button=loadmap,Ja //ruft die Seite namens "loadmap" auf, die das script enthält

page=loadmap
script=start
 loadmap "blub.s2";
 closemenu;
script=end
Titel: Re: msgbox?
Beitrag von: banane am Januar 03, 2008, 11:06:12 Vormittag
und außerdem werden zahlen fast nie in "anführungszeichen" geschrieben ;)
Titel: Re: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: Robo01 am Januar 03, 2008, 11:23:27 Vormittag
Leider haut das nicht hin. :no:
Titel: Re: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: banane am Januar 03, 2008, 11:30:15 Vormittag
was genau haut nicht hin?
Titel: Re: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: Robo01 am Januar 03, 2008, 11:52:11 Vormittag
Das mit dem öffnen der mod, sonst alles!
Titel: Re: Wie verknüpfe ich andere Inseln im Textcontainer?
Beitrag von: bizzl am Januar 03, 2008, 17:17:39 Nachmittag
Zitat von: "Robo01"
Das mit dem öffnen der mod, sonst alles!
"Öffnen der Mod"? Du meinst sicher "öffnen der Map", ja ^^ ?
Du musst den vollen Pfad innerhalb des Modordners angeben, also meist "mapsunterordner-wenn-vorhandenmap02.s2" ;)
Titel: Editor > Unit tot nach Dialog???
Beitrag von: COLONEL92 am Januar 05, 2008, 13:29:20 Nachmittag
Hallo Leute,

ich bin gerade dabei eine Map zu entwerfen (meine erste) Aber mit Extensions Mod. Nun ich habe eine Unit erstellt eher gesagt ein Mensch mit dem ich Dialoge führe. Das habe ich alles Fertig, nur möchte ich das Diese Person nach dem Dialog stirbt. Also genauso wie in dem Extensions Level "Labyrinth" wo der Fuchs am Anfang stirbt.
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: Souvenir am Januar 05, 2008, 13:34:37 Nachmittag
Zitat
kill ID

Kategorien: objects
Tötet die Unit mit der angegebenen ID. Gebe als ID "self" ein, damit die Unit getötet wird, bei der das aktuelle Script ausgeführt wird
(http://http://stranded.unrealsoftware.de/s2_commands.php)

musst nur noch n bisschen rumprobieren wo du das eingibst dass die unit direkt nach dem dialog stirbt.
(ich würd es mit variablen machen)

EDIT: ich glaub das mit den variablen is dumm..
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: COLONEL92 am Januar 05, 2008, 14:12:17 Nachmittag
Oh mann danke für die schnelle antwort aber ich kann damit nichts anfangen.
Zitat
Tötet die Unit mit der angegebenen ID. Gebe als ID "self" ein, damit die Unit getötet wird, bei der das aktuelle Script ausgeführt wird
Wo soll ich das "self" reinschreiben in dem Script bei der Person oder bei dem Textcontainer?? Hätte auf der Page lieber ein Beispiel sein sollen.
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: bizzl am Januar 05, 2008, 14:15:36 Nachmittag
Zitat von: "COLONEL92"
Wo soll ich das "self" reinschreiben in dem Script bei der Person oder bei dem Textcontainer?? Hätte auf der Page lieber ein Beispiel sein sollen.
"self" funzt immer nur bei Scripts die in einem Objekt ausgeführt werden, also nur im Script der Unit, nicht im Textcontainer.
Guck dir am besten mal an wie es im Labyrinth gelöst ist ;)
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: Souvenir am Januar 05, 2008, 14:16:41 Nachmittag
habs grad mal ausprobiert..
also wenns dir nichts ausmacht dass die unit direkt auf der letztn seite des dialogs stirbt, dann kannstes so machen:
(einfach die unit mit dem textcontainer verknüpfen, und dann ca so:
page=1
title=blablabla!!!11einself
text=start
das hier is nur n test!!
text=end
script=start
kill 100;
script=end
button=action:close, jaja

dann natürlich noch an deins anpassen (page, title und so..)

wie gesagt: die unit stirbt direkt auf der endsprechenden seite wo das: script=start
kill 100;
script=end
steht.

und bizzl: ich hab mir das auch mal angeguckt.. und das heist jetz für mich dass man eig. jedes event nach belieben machen kann..oder?.. gibts ein event was ausgelöst wird beim affen zähmen?
Titel: Schilder beschreiben. Wie?
Beitrag von: Robo01 am Januar 05, 2008, 14:34:37 Nachmittag
Ich wollte auf ein Schild schreiben: "Guck mal!" ich wusste dass unter "gfxextvariable" eine Datei liegt die man mit "Gimp" öffnen muss und in der schon das Bild ist mit einen weißen Feld in das man rein schreiben kann.
Wie macht man das weg?    }:?    Ich kann nämlich einfach nicht drüber schreiben! xD
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: COLONEL92 am Januar 05, 2008, 14:53:43 Nachmittag
Danke Bizzl ich habe mir das im Labyrinth angeschaut und auch rauskopiert aus der Figur und aus dem Textcontainer aber der Typ stirbt einfach nicht!

Nun habe ich auch die Methode von Souvenir ausprobiert und der Mensch ist nicht totzukriegen. *Verzweiflung*!
@Souvenir: Schau dir mal bitte an ob das SO richtigt ist. Das ist die letzte Seite meines Dialogs.

page=Seite8
title=Captain John
text=start
Nimm dir ein paar Dinge und lass mich gehen, ich überlasse dir mein ganzes Lager. Pass auf dich auf!
text=end
script=start
kill 100;
script=end
button=action:close, Ich werde nun gehen. CAPTAIN?? NEEEIIINNN

Vielleicht werde ich die Map mal Uploaden und zur verfügung stellen aber da fehlt noch einiges an Arbeit bei der Map...
Titel: Re: Editor > Unit tot nach Dialog???
Beitrag von: Souvenir am Januar 05, 2008, 15:14:40 Nachmittag
nein is falsch..
im script, also zwischen script=start und script=end muss nach den "kill" befehl die ID der unit stehen.. bei mir war das 100 aber bei dir is das ja ganz anders..
da is wahrscheinlic hals du das getestet hast immer n anderes viech tot gegangen  xD

also:
script=start
kill die-ID-von-der-unit-die-sterben-soll;
script=end


aber n kleiner tipp noch: ich würde die seite mit dem script=start/script=end zeug noch eune weiter nach hiunten verschieben..also auf seite 8 den typen noch nicht sterben lassen, sondern ers auf seite 9 oder was weiß ich.
dh: siehe PN weil ich jetz kein bock hab hier nen riesen post reinzustellen und das sieht auch nich gut aus.
Titel: Re: Schilder beschreiben. Wie?
Beitrag von: bizzl am Januar 05, 2008, 15:31:15 Nachmittag
Um das Feld weg zu bekommen musst du dessen Ebene löschen. Das geht im Fenster "Ebenen, Kanäle und Pfade" oder, falls du dieses geschlossen hast, unter Datei...->Dialoge->Ebenen
Titel: Kann man Tore mit einem Schlüssel öffnen?
Beitrag von: Robo01 am Januar 05, 2008, 17:42:28 Nachmittag
Kann man Tore so scripten dass man sie nur mit einem bestimmten Gegenstand (Schlüssel, ...) öffnen kann? Und wenn, wie? }:?
Mir fällt kein Code dazu ein.
Titel: Re: Kann man Tore mit einem Schlüssel öffnen?
Beitrag von: bizzl am Januar 05, 2008, 17:46:53 Nachmittag
Zitat von: "Robo01"
Kann man Tore so scripten dass man sie nur mit einem bestimmten Gegenstand (Schlüssel, ...) öffnen kann? Und wenn, wie? }:?
Mir fällt kein Code dazu ein.
Sicher, um ein Tor zu öffnen musst du nur das Event toggle auf das Tor abfeuern. Auf Gegenstände prüft man mit [s2s:27cmko42]getstored[/s2s:27cmko42] oder [s2s:27cmko42]getplayerweapon[/s2s:27cmko42].
Titel: Re: Kann man Tore mit einem Schlüssel öffnen?
Beitrag von: Robo01 am Januar 05, 2008, 17:59:53 Nachmittag
Ich weiß ja das man mit dem Code:
 on:use {
event "toggle";
}
ein Tor duch benutzen öffnen kann. Nur mir fällt kein Code ein, wie ich mit einem bestimmten Gegenstand das Tor öffnen kann.
Titel: Re: Kann man Tore mit einem Schlüssel öffnen?
Beitrag von: Souvenir am Januar 05, 2008, 18:25:28 Nachmittag
na mit nem if code..
wenn der spieler den gegenstand hat, lässt sich das tor öffnen, und wenn er es nicht hat, nicht..
Titel: Re: Kann man Tore mit einem Schlüssel öffnen?
Beitrag von: Robo01 am Januar 05, 2008, 18:42:52 Nachmittag
Danke :hooray:
Titel: Größere dinge als normal. Wie geht das?
Beitrag von: Robo01 am Januar 06, 2008, 09:22:55 Vormittag
Ich hab schon in mehreren Modes größere Pflanzen oder Tiere als normal gesehen, aber ich finde nie einen Code dazu.
Wie geht das? }:?  Ich versteh das einfach nicht. :no:
Titel: Re: Größere dinge als normal. Wie geht das?
Beitrag von: bizzl am Januar 06, 2008, 10:54:26 Vormittag
Weia. Zieh dir doch bitte mal die gesamte Befehlsreferenz (http://http://stranded.unrealsoftware.de/s2_commands.php?list=all) zu Gemüte, da steht alles drin was du brauchst ^o)
Der betreffende Befehl ist btw [s2s:3lnyg59b]scale[/s2s:3lnyg59b]
Titel: Re: Größere dinge als normal. Wie geht das?
Beitrag von: Robo01 am Januar 06, 2008, 11:22:12 Vormittag
Wofür sind Klasse und ID
Titel: Re: Größere dinge als normal. Wie geht das?
Beitrag von: bizzl am Januar 06, 2008, 11:25:35 Vormittag
Zitat von: "Robo01"
Wofür sind Klasse und ID
Damit Stranded 2 weiß was genau du skalieren willst, wenn nicht grade das aktuelle Objekt (in dem der Script steht)
Titel: Tauschen von Items mit Units. Wie?
Beitrag von: Robo01 am Januar 06, 2008, 14:06:08 Nachmittag
Ich habe versucht ein Tausch durchzuführen mit folgenden Code:
page=Hallo
title=Hallo
text=start
Such dir die Dinge aus die du haben wilst.
text=end
button=page2, Beutel Preis:1 Fleisch
button=action:close, Nichts

page=page2
title=Hier!
script=start
      if (playergotitem 9) {
       find 1;
       freestored "item" ,9;
       closemenu;
       } else {
       msg "Tut mir leid, du hast kein Fleisch!" [,3] [,5000];
closemenu;
}
script=end
  Was mache ich falsch? }:?
Titel: Re: Tauschen von Items mit Units. Wie?
Beitrag von: Flying Lizard am Januar 06, 2008, 14:22:28 Nachmittag
juhu endlich mal jemand der auch mal nen Script posted und frägt was falsch ist ^^
*Robo fest umarm*

also:
1. Befehle mit Rückgabewert brauchen Klammern um die PArameter, das hast du beim playergotitem nicht gemacht.
2.machbeim msg die eckigen Klammern weg, die zeigen nur an das ei Parameter nicht zwingend gesetzt werden muss, die werden NICHT im Script geschrieben.

ansonsten seh ich eigentlich keine Fehler.
Titel: Re: Tauschen von Items mit Units. Wie?
Beitrag von: banane am Januar 06, 2008, 14:26:07 Nachmittag
...
script=start
if ( playergotitem(9)>0) {
find 1;
freestored "unit",1,9,1;
closemenu;
} else {
msg "Tut mir leid, du hast kein Fleisch!",3;
closemenu;
}
script=end

1. bei befehlen mit rückgabewert die parameter immer in klammern
2. s2 muss wissen WO was gelöscht werden soll. wenn du die ,1 nicht angibst, werden alle stücke fleisch gelöscht
3. o.O die eckigen klammern nicht ins script übernehmen, die 5000 ist unnötig, da [] anzeigen, dass der parameter optional ist und 5000 afair std ist

EDIT: zu spät, aber wenigstens genauer  :hooray:
Titel: Re: Größere dinge als normal. Wie geht das?
Beitrag von: Flying Lizard am Januar 06, 2008, 14:26:59 Nachmittag
wenn du nochnichmal diese basic beherschst würde ich dir übrigens raten dir die tutorials (http://http://stranded.unrealsoftware.de/s2_scripting1.php) und diese hübsche Seite (http://http://stranded.unrealsoftware.de/s2_commandsinfo.php) anzusehen ;)
Titel: Re: Tauschen von Items mit Units. Wie?
Beitrag von: Flying Lizard am Januar 06, 2008, 14:28:12 Nachmittag
und vorallem hast du auf die schnelle mehr Fehler gefunden, an meinen Analysefertigkeiten muss ich noch arbeiten :/
Titel: Flash?
Beitrag von: Robo01 am Januar 06, 2008, 17:42:19 Nachmittag
Ich versuche die ganze zeit einen vernünftigen Flash hinzukriegen, doch egal wie ich es umschreibe er ist immer schwarz und nicht länger als vorher. So sieht mein Code aus:
on:use {
flash Rot,10.,0.8;
}
Was mache ich falsch? }:?
Titel: Re: Flash?
Beitrag von: bizzl am Januar 06, 2008, 17:48:48 Nachmittag
Ähm, schonmal was von RGB-Farben gehört?
Überhaupt scheinst du nicht schlau zu sein (oder nur unheimlich schwer von begriff). Was denkst du, warum steht in der Befehlsreferenz hinter Geschw ein Punkt? Richtig, weil es eine abkürzung ist!
Kleiner Tipp: wenn in der Referenz keine "" um einen Parameter sind dürfen da nur Ziffern hin.
Titel: Re: Flash?
Beitrag von: Robo01 am Januar 06, 2008, 18:29:38 Nachmittag
Weder noch! ¬¬ Mit der abkürzun Geschw. habe ich immer ein problem. Da ich da nie genau hingucke (zumindest bei den Wort nicht) vergesse ich dass es eine abkürzung ist !!!!!!!! =D  ¬¬
Titel: Re: Flash?
Beitrag von: bizzl am Januar 06, 2008, 18:56:09 Nachmittag
Zitat von: "Robo01"
Weder noch! ¬¬ Mit der abkürzun Geschw. habe ich immer ein problem. Da ich da nie genau hingucke (zumindest bei den Wort nicht) vergesse ich dass es eine abkürzung ist !!!!!!!! =D  ¬¬
aha, k, sry.
Haste das mit den RGB-Farben geschnallt oder kennste  sowas net?
Titel: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: Robo01 am Januar 07, 2008, 12:04:46 Nachmittag
Ich wollte ein Tor haben was wenn ich ein bestimmte Item habe. Nicht nur aufgeht sondern mir noch ein anderes Item gibt.
So ist mein Code
on:use {
if (playergotitem(3000)>0){
if (playergotitem(277)>0){
      find 264 [,100];
       event "toggle";
              }  
         }else{
if (playergotitem(3000)>0){
      find 264 [,100];
      find 277;
   event "toggle";
         }
    }else{
    event "toggle",
        }
}

Was mache ich falsch? }:?  :@
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: Flying Lizard am Januar 07, 2008, 13:27:12 Nachmittag
guck dir mal den zweiten Parameter von find an, die eckigen Klammern dienen nur der markierung dass ein Parameter optional sind, die darfst du NICHT im Script übernehmen.
auserdem is diene ifkonstruktion etwas umständlich, ich mach dir den code mal einfacher und weniger Fehleranfällig

on:use {
   event "toggle";
   if (playergotitem(3000)>0){
      find 264 ,100;
      if (playergotitem(277)==0){
         find 277;
         }
      }
   }

dashier hat EXAKT die gleiche funktion wie deins, auch die dinge die ich glaube garniche beabsichtigt sind  =/
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: bizzl am Januar 07, 2008, 15:09:26 Nachmittag
Ausnahmsweise mal offtopic von mir: bitte, bitte, bitte benutzt die [code]-Tags. Dann bleibt die einrückung erhalten und der Code wird einfacher lesbar.
Im neuen Style werden dann auch Tabs im Textfeld unterstützt werden um das ganze noch mehr zu vereinfachen, versprochen ^^
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: Souvenir am Januar 07, 2008, 15:32:14 Nachmittag
und für die die nich wissen wie das geht mit den code tags oder die denken dass das total kompliziert is, (so gings mir am anfang auch) man drückt einfach mit dem linken mauszeiger auf den button wo dann B steht oder URL
dann muss man einfahc nur noch eintippen was man will. mann muss einfach zwischen die eckigen klammern eintippen.
und anhand der button beschriftung kann man sich auch gut ableiten für was das da ist. "list" = "liste" (als beispiel)
is doch wirklich nich schwer.
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: Flying Lizard am Januar 07, 2008, 19:45:21 Nachmittag
äh, bizzl meinte den [ code ] tag  ¬¬
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: Souvenir am Januar 07, 2008, 20:00:31 Nachmittag
ja und ich meinte nochmal alles insgesamt
is aber jetz egal..
Titel: Re: Ein Tor was einem items Extras öffnet. Was ist fasch?
Beitrag von: bizzl am Januar 07, 2008, 20:19:48 Nachmittag
Zitat von: "Flying Lizard"
äh, bizzl meinte den [ code ] tag  ¬¬
für den gibbet auch nen button.
einfach eure quelltexte pasten, markieren und dann draufklicken, funkt ganz toll.
und jetzt back to topic, plz
Titel: Timer in Waffe?
Beitrag von: Robo01 am Januar 12, 2008, 19:42:45 Nachmittag
Wie kann man einen Timer in eine Waffe einsetzen, so dass sie nach z.B. 30 Sekunden explodiert? }:?
Titel: Re: Timer in Waffe?
Beitrag von: bizzl am Januar 12, 2008, 21:02:31 Nachmittag
Du könntest einen globalen Timer machen (Timer-Info?), mit einer Sekunde ticken lassen und jedesmal checken ob der Spieler die Waffe in der Hand hält, entsprechend eine Variable hochzählen, und dann anhand dieser die Explosion herbeiführen ;)
Titel: Re: Timer in Waffe?
Beitrag von: Robo01 am Januar 13, 2008, 09:09:19 Vormittag
Ich meine wie man ich generell in die Waffe einbaut. Das heißt rein  scriptet in den Programmierungen unter dem Ordner "sys". Eben für immer.
Wie der Code lautet um einen timer für z.B. 1s einzubauen, dass dann die Waffe explodiert.
Titel: Re: Timer in Waffe?
Beitrag von: bizzl am Januar 13, 2008, 10:37:25 Vormittag
Zitat von: "Robo01"
Ich meine wie man ich generell in die Waffe einbaut. Das heißt rein  scriptet in den Programmierungen unter dem Ordner "sys". Eben für immer.
Viele Timer killen das Spiel, deswegen sollten nur sehr wenige dinge einen hardgecodeten Timer bekommen.
Zumal du für Mapping nicht in den Inf-Dateien rumfummeln darfst.
Du kannst aber btw Code per [s2s:21bxnqe3]def_extend[/s2s:21bxnqe3] nachladen.

Zitat von: "Robo01"
Wie der Code lautet um einen timer für z.B. 1s einzubauen, dass dann die Waffe explodiert.
siehe [s2s:21bxnqe3]timer[/s2s:21bxnqe3]. Ich würde ihn im Ereignis [s2s:21bxnqe3]on[/s2s:21bxnqe3]:inhand starten, ihn auf eine Sekunde mit einer Iteration ticken lassen und dann solange innerhalb des Timer-Events neu abfeuern wie der Spieler die Waffe in der Hand hält ([s2s:21bxnqe3]getplayerweapon[/s2s:21bxnqe3])
Titel: Re: Timer in Waffe?
Beitrag von: Robo01 am Januar 13, 2008, 11:11:45 Vormittag
In etwa so?:
on:inhand {
 if (timer(263)4000>0) {
explosion...;
}
}
Titel: Re: Timer in Waffe?
Beitrag von: bizzl am Januar 13, 2008, 11:30:33 Vormittag
Zitat von: "Robo01"
In etwa so?:
on:inhand {
 if (timer(263)4000>0) {
explosion...;
}
}
äh, nein, das funkt so nicht. Du hast das anscheinend mit dem Syntax noch net so ganz geschnallt wie es scheint:
on:inhand {
timer "self",30000,1,"goboom";
}

on:goboom {
local $me;
$me=currentid();
if (getplayerweapon()==type("item",$me)) {
explosion getx("unit",1),gety("unit",1),getz("unit",1),10,50,1;
free "self"; //<-Gefährlich?
}
}
Alle Funktionen die nicht zur Kategorie return gehören (zbsp [s2s:3jun9vcx]timer[/s2s:3jun9vcx]) haben btw keinen Rückgabewert und funzen deswegen net mit den parameter-klammern (nicht immer), und bei denen die rückgabe werte haben müssen alle parameter in die klammern ;)
Titel: Re: Timer in Waffe?
Beitrag von: Robo01 am Januar 13, 2008, 12:07:41 Nachmittag
Leider ist es so dass dein script nur einmal funzioniert und dann alles an waffen weg  ist!
Titel: Re: Timer in Waffe?
Beitrag von: bizzl am Januar 13, 2008, 12:09:23 Nachmittag
Zitat von: "Robo01"
Leider ist es so dass dein script nur einmal funzioniert und dann alles an waffen weg  ist!
deswegen steht hinter free "self"; ja auch gefährlich xD
probier mal [s2s:27okg45u]freestored[/s2s:27okg45u] oder sowas.
Titel: Re: Timer in Waffe?
Beitrag von: Robo01 am Januar 13, 2008, 16:07:04 Nachmittag
Was ist nur falsch! :S :
on:inhand {
       timer "self",3000,1,"goboom";
    }

    on:goboom {
       local $me;
       $me=currentid();
       if (getplayerweapon()==type("item",$me)) {
          explosion getx("unit",1),gety("unit",1),getz("unit",1),10,50,1;
          freestored "unit",1,263,1; //<-Gefährlich?
       }
    }

Und es explodieret immer nur die erste der rest bleibt liegen!
Titel: Re: Timer in Waffe?
Beitrag von: bizzl am Januar 13, 2008, 16:26:55 Nachmittag
Wie hast du den Code in das Item geladen?
per [s2s:318hx528]def_extend[/s2s:318hx528] oder direkt über den Editor?
Im letzteren Fall sollte es eigentlich gar nicht funzen :lol:
Titel: Tagebucheintrag?
Beitrag von: Robo01 am Januar 13, 2008, 17:07:27 Nachmittag
Wie mache ich einen vernümftigen tagebucheintrag meine versuche sind kläglich gescheitert; wie lauted der Code? }:?
Titel: Re: Tagebucheintrag?
Beitrag von: bizzl am Januar 13, 2008, 17:41:45 Nachmittag
Zeig mal her was du gecodet hast.
Immer nur Code verlangen ist nicht, so lernst du das nicht.
Titel: Re: Tagebucheintrag?
Beitrag von: Dicker am Januar 13, 2008, 18:11:29 Nachmittag
[uswiki:2f08gp8u]Tagebucheintrag_erstellen[/uswiki:2f08gp8u]

Das viel zu wenige Zeugs was es an Doku gibt sollte man sich auch zu Herzen nehmen :(
Titel: Re: Tagebucheintrag?
Beitrag von: Robo01 am Januar 14, 2008, 17:45:39 Nachmittag
Mein Code:
on:start {
modifyentry "Willkommen","5";
}
}:?
Titel: Re: Tagebucheintrag?
Beitrag von: Souvenir am Januar 14, 2008, 18:07:14 Nachmittag
wenn du nen neuen machen willst:
on:start {
 clear;
 add "text";
 add "text wenn du willst..dan is da ein absatz..du kannst auch alles in einen add befehl schreiben dann haste keinen absatz";
 diary "titel";
}

fertig..
wie gesagt du kannst 2 add-befehle nutzen um einen absatz zu haben..wenn du ne zeile freilassen willst füg einfach nen add-befehl ein der so aussieht:
add "";
dann haste ne zeile frei..
Titel: Tiegerabwär.
Beitrag von: Robo01 am Januar 14, 2008, 18:23:31 Nachmittag
Ich wollte hir so was machen was einen einen Tiger vom Hals hältm, aber ich verstehe nich was ich falsch mache: }:?
on:use {
  if (random(2)==1) {
    play "music_natives.mp3";
  } else {
    play "music_natives2.mp3";
  }
  ai_typesignal "distract",26,2000,"unit",1;
  timer "self",3000;
}

on:timer {
  areal_event "center_löwen",getx("self"),gety("self"),getz("self"),2000,0;
}
Titel: Re: Tiegerabwär.
Beitrag von: bizzl am Januar 14, 2008, 21:25:38 Nachmittag
Ich verstehe nicht wo alle Welt immer Tiger sieht, es gibt in S2 doch keine }:?
Der Fehler in deinem Code dürfte in folgender Zeile liegen:
ai_typesignal "distract",26,2000,"unit",1;Du sendest ein Signal an die... Kiwis :|
Titel: Re: Tiegerabwär.
Beitrag von: Robo01 am Januar 15, 2008, 16:29:41 Nachmittag
Dann eben Löwen! =D
Man darf sich  doch mal vertuhen! ¬¬
Titel: Re: Tiegerabwär.
Beitrag von: bizzl am Januar 15, 2008, 18:26:37 Nachmittag
Zitat von: "Robo01"
Dann eben Löwen! =D
Man darf sich  doch mal vertuhen! ¬¬
klar, aber du bist schon der zweite von dem ich innerhalb der letzten zwei Tage "Tiger" gelesen habe, da kommen einem doch zweifel an der heutigen Jugend xD

Also, einfach den Type in [s2s:xsafwlvf]ai_typesignal[/s2s:xsafwlvf] zu 9 ändern, dann sollte dein Script funzen =D
Titel: Re: Tagebucheintrag?
Beitrag von: banane am Januar 15, 2008, 21:00:33 Nachmittag
öhm ersetz einfach modifyentry durch diary und lass evtl. die anführungszeichen um die 5 weg (?), dann sollte es funzen... natürlich nur sofern info 5 text enthält
Titel: Löwenkiller?
Beitrag von: Robo01 am Januar 17, 2008, 17:00:59 Nachmittag
Ich wollte mir so eine Art Löwenkiller machen, der wie der Name schon sagt Löwen töten soll. Dafür benutze ich folgenden Code (der nicht klapt!):
on:use {
kill 9;
}
Er ist so einfach, und trotzdem verstehe ich nicht was ich falsch mache! }:?
Titel: Re: Löwenkiller?
Beitrag von: Souvenir am Januar 17, 2008, 17:48:52 Nachmittag
die zahl nach dem "kill"-befehl steht für die unitID dh die unit mit der ID 9 wird getötet wenn du das ding benutzt..
ABER: die erste unit die du auf der karte plaziert hast hat grundsätzlich die ID 100 sodass garkeine unit mit der ID 9 existiert..
soweit ich mich auskenne, (was aber nu wirklich nich viel is) kannst du mit dem "kill"-befehl nur eine unit "kill"en (^^)
ich kann mich aber auch irren...
Titel: Re: Löwenkiller?
Beitrag von: bizzl am Januar 17, 2008, 18:30:26 Nachmittag
Ursache hat Souvenir schon genannt, lösung ist aber recht einfach: mach ne Schleife über alle Löwen kill die einzeln:
loop("units",9) {
kill loop_id();
}
Ich geb dir den Code mal, ist nämlich uU doch etwas schwer zu verstehen ; )
Titel: Re: Löwenkiller?
Beitrag von: Robo01 am Januar 18, 2008, 13:47:03 Nachmittag
Wie könnte ich es denn machen, mehrere Tiere gleichzeitig zu töten? }:?
Titel: Re: Löwenkiller?
Beitrag von: bizzl am Januar 18, 2008, 14:00:26 Nachmittag
Zitat von: "Robo01"
Wie könnte ich es denn machen, mehrere Tiere gleichzeitig zu töten? }:?
-.- siehe mein post.
Titel: Re: Löwenkiller?
Beitrag von: Robo01 am Januar 18, 2008, 14:11:27 Nachmittag
Was ich jetzt meine ist mehrere Tierarten gleichzeitig!! z.B. Löwe und Raptor =D
Titel: Re: Löwenkiller?
Beitrag von: bizzl am Januar 18, 2008, 14:22:27 Nachmittag
Zitat von: "Robo01"
Was ich jetzt meine ist mehrere Tierarten gleichzeitig!! z.B. Löwe und Raptor =D
Zwei loops hintereinander (aber nicht geschachtelt ;) )
Titel: Re: Löwenkiller?
Beitrag von: Robo01 am Januar 18, 2008, 16:24:18 Nachmittag
Kann ich dass denn jetzt so machen dass ich Löwen oder Haie ... einzeln kille. Weil ja bei diesem Code alle auf einmal gekillt werden }:?
Titel: Re: Löwenkiller?
Beitrag von: bizzl am Januar 18, 2008, 16:56:00 Nachmittag
Zitat von: "Robo01"
Kann ich dass denn jetzt so machen dass ich Löwen oder Haie ... einzeln kille. Weil ja bei diesem Code alle auf einmal gekillt werden }:?
Dazu müsstest du den zu tötenden Units einen entsprechenden State geben, zbsp den Action-State, und dann mit [s2s:mm0lr2gg]if[/s2s:mm0lr2gg] [s2s:mm0lr2gg]gotstate[/s2s:mm0lr2gg] für jede schleifeniteration prüfen ob die unit den state hat oder nicht.
Titel: Re: Löwenkiller?
Beitrag von: Flying Lizard am Januar 18, 2008, 22:04:02 Nachmittag
oder du lässt ihn mit kill einfach eine unit mit einer speziellen id töten, is bei weitem einfacher :P
Titel: Re: Löwenkiller?
Beitrag von: bizzl am Januar 18, 2008, 23:08:57 Nachmittag
Zitat von: "Flying Lizard"
oder du lässt ihn mit kill einfach eine unit mit einer speziellen id töten, is bei weitem einfacher :P
Ich nehme zwar mal stark an er möchte gruppen töten, aber ja, für einzelne ist deins natürlich besser xD
Titel: Wetterregler?
Beitrag von: Robo01 am Januar 20, 2008, 16:13:05 Nachmittag
Ich habe in einer Map eine art Wetterregler gmach(Ambost mit Code), nur ich weiß nicht was an folgenden Code falsch ist:
page=Wetter
title=Wetter
text=start
Such dir ein Wetter aus
text=end
button=page1, Sonne
button=page2, Gewitter

page=page1
script=start
climate "sun";
script=end
button=Wetter, zurück

page=page2
script=start
climate "rain";
climate "thunder";
script=end
button=Wetter, zurück
Was mache ich nur falsch }:?
Titel: Re: Wetterregler?
Beitrag von: bizzl am Januar 20, 2008, 16:27:03 Nachmittag
rain beinhaltet meines wissens nach bereits Gewitter, aber thunder beinhaltet afair keinen Regen.
Du brauchst also nur climate "rain"; ;)
Titel: Re: Wetterregler?
Beitrag von: Robo01 am Januar 20, 2008, 16:34:38 Nachmittag
Aber mein Problem ist ja dass das nicht klappt .d.h. es kommt weder Regen noch Gewitter noch Sonne wenn ich den button drücke. Es erscheint zwar page2 und der dazugehörige button aber das Wetter bleibt!
Titel: Re: Wetterregler?
Beitrag von: bizzl am Januar 20, 2008, 16:40:45 Nachmittag
Mal den Dialog ausgemacht? }:?
Die änderung setzt immer erst nach dem schließen pausierender Funktionen wie [s2s:1k9i2ety]dialogue[/s2s:1k9i2ety], [s2s:1k9i2ety]diary[/s2s:1k9i2ety] und [s2s:1k9i2ety]msgbox[/s2s:1k9i2ety] ein.
Titel: Re: Wetterregler?
Beitrag von: Robo01 am Januar 20, 2008, 17:21:09 Nachmittag
Zitat von: "bizzl"
rain beinhaltet meines wissens nach bereits Gewitter

Falsch, es beinhaltet kein gewitter =D
Und was den Wetterregler angeht: Ich hab einfach nicht lange genug gewartet :*)

Edit:
Ich wollte mir ein Wetterregler als Item machen doch es klapt nicht! Der Code den ich benutze lautet:
on:use {
clear;
add "Welches Wetter möchtest du haben";
msgbox "Wetter";
local $id;
local $no;
local $su;
$no="normal";
$su="sun";
$id=currentid();
add "climate,$no;";
button 0, "Sommerzeit",19;
add "climate,$su;";
button 1, "Sonne",19;
}

Was mache ich falsch }:?
Titel: Re: Wetterregler?
Beitrag von: bizzl am Januar 20, 2008, 19:24:59 Nachmittag
Titel: Re: Wetterregleritem?
Beitrag von: Robo01 am Januar 20, 2008, 19:40:10 Nachmittag
Climate 0, climate1 was heißt das und wie mache ich dann schnee?
Titel: Re: Wetterregleritem?
Beitrag von: bizzl am Januar 20, 2008, 20:07:54 Nachmittag
Zitat von: "Robo01"
Climate 0, climate1 was heißt das und wie mache ich dann schnee?
Das sind die zu den namen korrespondierenden Zahlen, siehe [s2s:m3f2127b]weather[/s2s:m3f2127b] & [s2s:m3f2127b]getweather[/s2s:m3f2127b]
Schnee ist demnach die 2 ;)
Titel: Objecte,Items und Units herscripten?
Beitrag von: Robo01 am Januar 21, 2008, 17:06:12 Nachmittag
Ich hab letztens einen script gesehen nur ich weiß nicht mehr wie er heißt! Mir ihm kann man Units Items ... an einen bestimmten ort erscheinen lassen. Wie lautet er den }:?
Titel: Re: Objecte,Items und Units herscripten?
Beitrag von: Flying Lizard am Januar 21, 2008, 18:09:33 Nachmittag
http://stranded.unrealsoftware.de/s2_co ... create#cmd (http://stranded.unrealsoftware.de/s2_commands.php?cmd=create#cmd)

EDIT:
mensch bizzl wenn du die beiträge schon verschiebst dann editier wenigstens die bitte nach schliesung weg, weiste wie blöd das kommt wenn in einem festgelegten Frage thread jemand nach schliesung bitted? :(
Titel: Rückmachung von jumptime?
Beitrag von: Robo01 am Januar 21, 2008, 18:56:31 Nachmittag
Ich hab mir eine art jumpkontrolle gemacht mit der man höher springen kann. Wie kann man denn die einstellung wieder auf normal stellen? resetjump? }:?
Titel: Re: Rückmachung von jumptime?
Beitrag von: bizzl am Januar 21, 2008, 19:11:50 Nachmittag
Wieder mit [s2s:2st5trfx]jumptime[/s2s:2st5trfx].
In S2Ext ist es so gelöst das die Defaultwerte in Variablen gespeichert werden, musste mal in game.inf und units.inf gucken wie die heißen ;)
Titel: Fragen zum Scripting
Beitrag von: bizzl am Oktober 22, 1973, 00:25:37 Vormittag
Da sich einige mit den Threads nicht beherrschen können eröffne ich mal diesen Thread für alle Fragen zum allgemeinen wie S2Ext-spezifischen Scripting.
Es gibt zwar einen äquivalenten Thread (http://http://www.unrealsoftware.de/forum_posts.php?post=11434#lastpost) bereits bei UnrealSoftware im Forum, ich denke aber es ist besser wir eröffnen hier auch noch einen ^^

PS: ich werde in einer ruhigen Stunde wohl mal alle bisherigen Scriptingfragenthreads hier hinein mergen oder ins Archiv werfen, mal sehen :a:
Titel: Re: Objecte,Items und Units herscripten?
Beitrag von: Anonymous am Januar 22, 2008, 13:46:28 Nachmittag
die schlisung kannste vregessen wen schon schlies selbst
Titel: Re: Objecte,Items und Units herscripten?
Beitrag von: Dicker am Januar 22, 2008, 14:27:13 Nachmittag
Da Liz kein Mod ist, kannst du das auch vergessen, wenn schon dann STFU
Titel: Re: Rückmachung von jumptime?
Beitrag von: banane am Januar 22, 2008, 14:52:34 Nachmittag
s2g_jumptime glaub ich (bin mir aber nich sicher ;) )
Titel: Durst, Hunger,Energie, endern ohne"drink"?
Beitrag von: Robo01 am Januar 23, 2008, 16:07:40 Nachmittag
Gibt es einen anderen script zum verendern des Hungers,... außer mit "drink"? }:?
Titel: Re: Durst, Hunger,Energie, endern ohne"drink"?
Beitrag von: banane am Januar 23, 2008, 17:05:06 Nachmittag
consume
Titel: "button 9", und weiter?
Beitrag von: Robo01 am Januar 25, 2008, 14:19:29 Nachmittag
Wie geht es denn nach button 9 weiter. Ich meine im inf. =D  }:?
Titel: Re: "button 9", und weiter?
Beitrag von: bizzl am Januar 25, 2008, 15:18:53 Nachmittag
Es gibt nur 10 Buttonslots, sofern du von [s2s:1uf2mri1]button[/s2s:1uf2mri1] sprichst. Wenn du die Scriptkeys meinst: das geht recht weit,bis 99 oder so.
Titel: Tagebuch: Einmal geschrieben aber mehrmals anzeigen. Wie?
Beitrag von: Robo01 am Januar 25, 2008, 17:54:31 Nachmittag
Ich hab eim problem mit einen Tagebucheintrag: Er wird immer neu gemach und dann angezeigt wenn ich das objekt benutze.
Alle if-befehlversuche sind gescheitert? Was mache ich falsch:
if (dairy(".........")==0) {
}:?
Titel: Re: Tagebuch: Einmal geschrieben aber mehrmals anzeigen. Wie?
Beitrag von: bizzl am Januar 25, 2008, 18:03:58 Nachmittag
[s2s:cwq6k7o7]diary[/s2s:cwq6k7o7] besitzt keinen Rückgabewert, du kannst also so nicht prüfen.
Wenn es sich tatsächlich um ein Object handelt mach folgendes:
Prüfe mit [s2s:cwq6k7o7]varexists[/s2s:cwq6k7o7] ob eine bestimmte Variable existiert, zbsp $l_diary. Wenn sie existiert (Rückgabewert == 1) dann benutzt du [s2s:cwq6k7o7]showentry[/s2s:cwq6k7o7], ansonsten erzeugst du den Eintrag mit [s2s:cwq6k7o7]diary[/s2s:cwq6k7o7] und erzeugst die variable (deklaration mit [s2s:cwq6k7o7]local[/s2s:cwq6k7o7] sollte reichen)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 25, 2008, 20:27:44 Nachmittag
Ne, was ich meine ist dass, das immer wiederholt wird und ich ihrgentwann ungäfer 10 einträgen im Tagebuch habe, die aber alle gleich heißen und den selben inhalt haben! Der Eintrag wird somit bei jedem benutzen noch mal neu erstellt. Aber ich möchte dass er nur einmal erstellt wird und aber mehrmals angezeight wird!!!!!!!!! =D  }:?

 :()
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Januar 25, 2008, 20:52:50 Nachmittag
les mal genauer ;) wenn du showentry statt diary benutzt, wird kein neuer eintrag angelegt, sondern nur der alte angezeigt. das komplette script sieht dann folgendermaßen aus:
on:use {
 if (varexists("used")==0) {
  diary "blub";
  local $used;
  $used=1;
 }else{
  showentry "blub";
 }
}

kapisch?
Titel: An bestimmten infos inne halten. Wie?
Beitrag von: Robo01 am Januar 26, 2008, 12:24:43 Nachmittag
Ich wollte einen Hubschrauber so scripten dass er einen Pfad lang geht und dann an einigen punkten inne hält für 20,30 Sekunden. Leider verstehe ich dass mit dem gescripteten timer noch nicht ganz.
Hier ist mein code:
on:start {
unitpath 123,32,33,31;
}

on:node0031 {
frezze "self";
timer "unit", 123,10000;
unitpath 123,34;
}

on:node0034 {
frezze "self";
timer "unit", 123,10000;
unitpath 123,31;
}
Was mach ich nur falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Flying Lizard am Januar 26, 2008, 12:35:57 Nachmittag
momentan läuft das ganze so ab dass der hubschrauber sobald er an einem Punkt ankommt zuerst einen timer started der 10 sekunden läuft, und 2. sofort den befehl zum weiterfahren erhält. Der timer is momentan nutzlos.

du must beim timer noch ganz hinten ein event anhängen zB  ...,"continue_1"  und das mit dem unitpath dann innerhalb dieses events ausführen lassen.
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 26, 2008, 13:08:33 Nachmittag
Außerdem ist [s2s:1le9giq9]freeze[/s2s:1le9giq9] falsch geschrieben, und ich glaube der stürzt ab sobald der nen haltepunkt erreicht hat =/
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 26, 2008, 13:09:14 Nachmittag
Das heißt ich müsste "continue_1" hinten dran hängen und dann?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 26, 2008, 13:10:32 Nachmittag
Zitat von: "Robo01"
Das heißt ich müsste "continue_1" hinten dran hängen und dann?
Und dann noch einen Eventblock mit on:continue_1 wo dann ein neuer Unitpath gesetzt wird.
Titel: Re: Fragen zum Scripting
Beitrag von: Flying Lizard am Januar 26, 2008, 14:21:54 Nachmittag
Zitat von: "bizzl"
Außerdem ist [s2s:1prslso5]freeze[/s2s:1prslso5] falsch geschrieben, und ich glaube der stürzt ab sobald der nen haltepunkt erreicht hat =/

der hebt garnich ab ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 26, 2008, 19:47:02 Nachmittag
Das problem ist dass es zwar anhält aber dann nicht mehr weiter geht!!!!!!! }:?  =D
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 26, 2008, 19:52:11 Nachmittag
Zitat von: "Robo01"
Das problem ist dass es zwar anhält aber dann nicht mehr weiter geht!!!!!!! }:?  =D
Eventuell musst du ihn noch mit [s2s:3uppq1h1]freeze[/s2s:3uppq1h1] 123,0; wieder "auftauen" ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 26, 2008, 20:27:45 Nachmittag
ich habe den code geendert aber es ist immer noch das selbe ergebnis:
on:start {
unitpath 123,32,33,31;
}

on:node0031 {
freeze 123,0;
timer "unit",123,10000,"continue_1";
}

on:node0034 {
freeze 123,0;
timer "unit",123,10000,"continue_2";
}

on:continue_1 {
freeze 123,0;
unitpath 123,34;
}

on:continue_2 {
freeze 123,0;
unitpath 123,31;
}
}:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 26, 2008, 20:46:50 Nachmittag
Du hast in den Timern den parameter für wiederholungen vergessen, da muss noch eine 1 zwischen 10000 und "continue_1" bzw "continue_2"

Auch wenn die eckigen Klammern in der Befehlsreferenz das nicht implizieren, wenn du einen Optionalen Parameter benutzen willst musst du alle vorherigen Parameter auch nutzen, sonst weiß der Computer nicht was du willst.
Das gilt für (fast) alle Sprachen.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 27, 2008, 10:32:54 Vormittag
Ich hab das ganze noch etwas größer gemach nur er klapt nich er sollte eigentlich an den punkten 65,57,61und 64 für 5 sekunden anhalten! Code:
on:start {
unitpath 124,65;
}

on:node0065 {
freeze 124,0;
timer "unit",124,5000,1,"continue_14";
}

on:continue_14 {
freeze 124,0;
unitpath 124,54,55,56,57,58,59,60,61,62,63,64,65;
}

on:node0057 {
freeze 124,0;
timer "unit",124,5000,1,"continue_13";
}

on:continue_13 {
freeze 124,0;
unitpath 124,58,59,60,61,62,63,64,65;
}

on:node0061 {
freeze 124,0;
timer "unit",124,5000,1,"continue_12";
}

on:continue_12 {
freeze 124,0;
unitpath 124,62,63,64,65;
}

on:node0064 {
freeze 124,0;
timer "unit",124,5000,1,"continue_9";
}

on:continue_9 {
freeze 124,0;
unitpath 124,65;
}
Was mache ich denn falsch????? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 27, 2008, 10:47:07 Vormittag

Bitte lerne auch, dinge einfach auszuprobieren. Es gibt eine Reihe häufiger möglicher Fehlerquellen, u.a. Syntaxfehler, fehlende Parameter, Scripts an falschen Stellen, Timer an falschen Stellen, vergessene Klammern, falsche Parameterwerte, etc.
Sowas kannst du alles selber lösen und musst nicht dauernd fragen ^^
Titel: Heißluftbalon?
Beitrag von: Robo01 am Januar 30, 2008, 19:37:56 Nachmittag
Es gibt ja in S2Ext einen Heißluftbalon, doch ich verstehe nich wie er funktioniert? Vor all dem das mit den in der Luft stehen bleiben und mit dem auf der stelle hoch und runter. Kurz: Ich verstehe die ganze Steuerung nich. Welche scripte muss man dafür benutzen? }:?  }:?  =D  =D
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Januar 30, 2008, 21:11:12 Nachmittag
so.. ich wollt mal wissen wir man das ständige wellenrauschen wegbekommt..
oder ob das überhaupt geht..
wenn ja - wie??
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Januar 30, 2008, 22:03:00 Nachmittag
Zitat von: "Souvenir"
so.. ich wollt mal wissen wir man das ständige wellenrauschen wegbekommt..
oder ob das überhaupt geht..
wenn ja - wie??
geht leider nicht, du kannst höchstens versuchen es mit musik zu übertonen
Titel: Re: Fragen zum Scripting
Beitrag von: Flying Lizard am Januar 30, 2008, 23:20:36 Nachmittag
du könntest versuchen waverate in der game.inf zu verändern
Titel: Re:Heißluftbalon
Beitrag von: Robo01 am Januar 31, 2008, 11:09:10 Vormittag
Dad die Code beim heißluftblon mit verschiedenen variablen funz, und die Code so lang sin , hab ich einfach nicht rausbekommen  können welche von den zich Coden den zum in der luft stehen... ist!!!??? =D  =D  =D  }:?  }:?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Januar 31, 2008, 13:36:40 Nachmittag
Zitat von: "bizzl"
geht leider nicht, du kannst höchstens versuchen es mit musik zu übertonen
schade

Zitat von: "Flying Lizard"
du könntest versuchen waverate in der game.inf zu verändern
ich probiers mal..

so nächste frage:
ich komm mit dem "freestored" code nich klar..
der schlüssel soll beim spieler gelöscht werden..
wie sieht das dann auch??
so???:
freestored "item", 1, 92 ,1;
oder so:
freestored "item", 92, 1 ,1;
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 31, 2008, 15:32:46 Nachmittag
Zitat
so nächste frage:
ich komm mit dem "freestored" code nich klar..
der schlüssel soll beim spieler gelöscht werden..
wie sieht das dann auch??
so???:

so:
freestored "unit",1,92,1;
also bei mir klapt es! =D   :hooray:
Titel: Infos leuchten schimmernt blau?
Beitrag von: Robo01 am Januar 31, 2008, 15:40:29 Nachmittag
Ich hab letztens in " Pinguin Adventure" gesehen da gab es so ein gebietm, dar war leuchtent blauer nebel.
Wie scripte ich das? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Januar 31, 2008, 17:17:16 Nachmittag
Zitat von: "Robo01"
so:

Code: Alles auswählen
freestored "unit",1,92,1;


also bei mir klapt es!  
jap jetz gehts.. thx
Titel: Re: Infos leuchten schimmernt blau?
Beitrag von: Mc Leaf am Februar 01, 2008, 03:01:20 Vormittag
Zitat von: "Robo01"
Ich hab letztens in " Pinguin Adventure" gesehen da gab es so ein gebietm, dar war leuchtent blauer nebel.
Wie scripte ich das? }:?
Tzä...! :@

Hättest du das Abenteuer aufmerksam durchgespielt und zum Schluss mit Mr. Stein geredet, dann wüsstest du das Passwort der Map und hättest dir das im Editor angucken können...  =P

Du platzierst auf dem Boden einfach ein paar Fähnchen (Info-Objekte, die man im Spiel nicht sieht), fügst einen Lichtschein-State (nicht Licht!) hinzu, und passt noch etwas die Farbe an (z.B. blau). That's it.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 01, 2008, 07:31:26 Vormittag
Mist ich hab noch nichtml misterstei gesehen! Naja dann spiel ichs eben noch mal

Zitat von: "Robo01"
Es gibt ja in S2Ext einen Heißluftbalon, doch ich verstehe nich wie er funktioniert? Vor all dem das mit den in der Luft stehen bleiben und mit dem auf der stelle hoch und runter. Kurz: Ich verstehe die ganze Steuerung nich. Welche scripte muss man dafür benutzen? }:?  }:?  =D  =D
Weiß überhaubt jemand diese antwort oder haben es einfach alle übersehen? }:?  ¬¬  xD

Ich find keinen mr.stein ich habe die ganze insel durchsucht! Das mit dem Puzzel ist fis, das ist meine schwäche!
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Februar 01, 2008, 10:23:52 Vormittag
Zitat von: "Robo01"
Zitat von: "Robo01"
Es gibt ja in S2Ext einen Heißluftbalon, doch ich verstehe nich wie er funktioniert? Vor all dem das mit den in der Luft stehen bleiben und mit dem auf der stelle hoch und runter. Kurz: Ich verstehe die ganze Steuerung nich. Welche scripte muss man dafür benutzen? }:?  }:?  =D  =D
Weiß überhaubt jemand diese antwort oder haben es einfach alle übersehen? }:?  ¬¬  xD
Das machst du mit den sekundären Tasten, bei mir sind es u und i (evtl. bei den Tastenoptionen nochmal schauen, falls du die Tastenbelegung irgendwann mal geändert haben solltest) - also hoch und runter. Die anderen Tasten (w,a,s,d - zum Laufen...) sind für vor, zurück bzw. links/rechts drehen.

Zitat von: "Robo01"
Ich find keinen mr.stein ich habe die ganze insel durchsucht!
Hm... dieser kleine graue Stein der im Dorf (Monkey's Village) in der Nähe vom Opi herumspringt... Sollte eigentlich auffallen... }:?
(lediglich beim Ansprechen muss man etwas genauer zielen, weil das Vieh eben die meiste Zeit hin und her springt)

Zitat von: "Robo01"
Das mit dem Puzzel ist fis, das ist meine schwäche!
Dafür gibt's ja auch eine ordentliche Belohnung! ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 01, 2008, 12:01:35 Nachmittag
Tut mir leid ich hätte genauer beschreiben sollen! Ich meine wie man das scriptet. ich meine dass der ballon mit u und i nach oben geht und nur ein wenig nach unten geht einfach die code damit er mit u und i hoch und runter geht und in der luft stehen bleibt.

Und wie hast du das denn gemacht bei einer höhle wurde es dunkel obwohl wenn man raus ging wieder alles hell war ich konte keinen code dazu entdecken!
Titel: Re: Fragen zum Scripting
Beitrag von: Don Philippe am Februar 01, 2008, 14:21:18 Nachmittag
Vermeide die Doppelposts, und musst du wirklich jeden kleinen Piss immer sofort nachfragen?! Nehme fuer die dunklen Hoehlen den Befehl "skycolor".
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 01, 2008, 15:57:27 Nachmittag
Zitat von: "Robo01"
Tut mir leid ich hätte genauer beschreiben sollen! Ich meine wie man das scriptet. ich meine dass der ballon mit u und i nach oben geht und nur ein wenig nach unten geht einfach die code damit er mit u und i hoch und runter geht und in der luft stehen bleibt.
Die Infos darüber stehen in der alten Readme (sollte noch im Verzeichnis /doc zu finden sein)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 01, 2008, 16:46:42 Nachmittag
Was bedeuten die ganzen Variablen:$radius,$dist,$tmp? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 01, 2008, 17:24:47 Nachmittag
Zitat von: "Robo01"
Was bedeuten die ganzen Variablen:$radius,$dist,$tmp? }:?
Bitte schalt mal dein Gehirn ein-.-
$radius speichert einen Radius, $dist eine Entfernung (distance) und $tmp ist eine temporäre Variable zum zwischenspeichern von irgendetwas.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 04, 2008, 07:49:47 Vormittag
Zitat von: "bizzl"
Bitte schalt mal dein Gehirn ein-.-
$radius speichert einen Radius, $dist eine Entfernung (distance) und $tmp ist eine temporäre Variable zum zwischenspeichern von irgendetwas.

Da ich ja ein nix kapirer bin, Was heißt  speichert einen Radius ,  eine Entfernung  und was ist  eine temporäre Variable zum zwischenspeichern  }:?  }:? Tut mir ja leit aber ich kenne mich in den gebit nicht so gut aus. :cry_fox:  ;(
Titel: Re: Fragen zum Scripting
Beitrag von: Don Philippe am Februar 04, 2008, 09:29:54 Vormittag
Bitte lieber Robo, lerne doch erstmal die Grundprinzipien vom Scripten. Setzt ich einfach mal vor dem Pc, starte eine Karte und beginn zu Scripten. So hab ich das auch gemacht. Wobei ich da am Anfang auch eigentlich nur trigger und Befehle wie msg usw. benutzt habe. Ich kann mittlerweile schon ziemlich gut scripten, und bin stolz sagen zu koennen dass ich es mir zu 95 % alleine beigebracht habe.  8)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 04, 2008, 10:25:07 Vormittag
Es ist so: Ich weiß nicht wie das gemeint ist. Ich kann scripten und das nicht schlecht. Doch ich verstehe nicht was damit gemeint ist! Ich weiß nicht was mit z.B. "speichert den radius" gemeint ist.
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Februar 04, 2008, 12:44:15 Nachmittag
gucks dir doch einfach mit dem mapeditor an...
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 04, 2008, 13:30:23 Nachmittag
Ich habe hier zwei fragen:
1. Frage: Ich habe hier einen Code der aber nicht ganz klapt!:
on:use {
clear;
add "Was willst du tun?";
msgbox "Waggonttt";
local $id;
local $f;
local $self;
$self=unit;
$id=currentid();
add "if ($owner==1) { ride $id; closemenu; }";
button 0, "Mit den Waggon fahren",8;
add "exchang 2;";
button 1, "Sachen ein-oder auslagern",19;
button 2, "Einpacken",10,"free $self;find 1111;";
button 3, "Nichts.",3,"closemenu;";
freevar "$id";
freevar "$f";
freevar "$me";
freevar "$self";
}
Das Problem ist dass er die unit nicht löscht! }:?  =D

2.Frage: Wie hat es Mc_Leaft geschaft dass man in seiner mode "Pinguin Adventure so tief noch Tauchen kann? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 04, 2008, 16:35:52 Nachmittag
Zitat von: "Robo01"
Es ist so: Ich weiß nicht wie das gemeint ist. Ich kann scripten und das nicht schlecht. Doch ich verstehe nicht was damit gemeint ist! Ich weiß nicht was mit z.B. "speichert den radius" gemeint ist.
Sag mal wie alt bist du oO ?
Es gibt nur zwei Dinge die einen Radius haben können, ein Kreis und eine Kugel, also wird in dem Script in welchem du das gelesen hast wohl irgendwas kreisartiges gebraucht ^o)

Zitat von: "Robo01"
Ich habe hier zwei fragen:
1. Frage: Ich habe hier einen Code der aber nicht ganz klapt!:
Viel Code
Das Problem ist dass er die unit nicht löscht! }:?
button 2, "Einpacken",10,"free unit,$self;find 1111;"; << du hast die klasse bei [s2s:3olbbhj7]free[/s2s:3olbbhj7] vergessen.

Zitat von: "Robo01"
2.Frage: Wie hat es Mc_Leaft geschaft dass man in seiner mode "Pinguin Adventure so tief noch Tauchen kann? }:?
kA, er wird wohl irgendwie mit [s2s:3olbbhj7]air[/s2s:3olbbhj7] rumgespielt haben. Warum guckst du nicht einfach nach, seine maps hatten afair kein Passwort.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 04, 2008, 17:31:12 Nachmittag
Nicht wegen der luft. Im teria kann man ja zimlich tiefe löcher machen , nur man kann nicht bis dort unten tauchen !es gibt ihrgentwie eine grenze egal wie tief das loch ist man kann nur bis zu dieser grenze tauchen!
Ach so und Variable $self bedeutet doch unit. Jetzt klapt es. nur :
on:drop {
local $ha;
$ha=currentid;
create "unit",126;
free "item",1111,1;
freevar "$ha";
}
so siet die unit als item aus : fehler ist dass das item nicht verschwinded!
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 04, 2008, 18:34:16 Nachmittag
Zitat von: "Robo01"
Nicht wegen der luft. Im teria kann man ja zimlich tiefe löcher machen , nur man kann nicht bis dort unten tauchen !es gibt ihrgentwie eine grenze egal wie tief das loch ist man kann nur bis zu dieser grenze tauchen!
axo, das meinst du xD
Du musst den Terrain-Rand bis zum anschlag absenken ;)

Zitat von: "Robo01"
Ach so und Variable $self bedeutet doch unit. Es klapt nicht.
Dann funkt es aber trotzdem nicht, weil man
mach es lieber so:
$class=currentclass();
$id=curentid();
button 2, "Einpacken",10,"free $class,$id; find 1111;";
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 04, 2008, 21:07:01 Nachmittag
Ich hab hier noch ein anderes problem:
on:drop {
local $ha;
$ha=currentid;
create "unit",126;
free "item",1111,1;
freevar "$ha";
}
Ich habe schon alle möglichkeiten den ganzen tag ausprobrirt doch keine klapt ich komm einfach nicht drauf.
Dieses ding ist ein item und sollte wenn man es wegwirft eigentlich zur einheit werden! }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Dicker am Februar 04, 2008, 21:21:14 Nachmittag
currentid, Klammer auf, Klammer zu ;)

$ha=currentid();
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 05, 2008, 09:00:56 Vormittag
Leider löscht er das item immer noch nicht! =D  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Dicker am Februar 05, 2008, 11:15:44 Vormittag
Okay, zugegeben hab ich den Code nicht wirklich angeschaut, das fiel nur direkt auf ;)

Die Scripts eines Items werden beim Aufsammeln gelöscht. Wenn das ein einzigartiges Item ist, kannst du das Script mit [s2s:yd95w0bt]def_extend[/s2s:yd95w0bt] an die Definition anpinnen

Außerdem Frage ich mich beim zweiten hinschauen, was $ha überhaupt soll, da du es ja nicht nutzt ;)
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 05, 2008, 11:34:44 Vormittag
free "item",1111,1; das ist falsch, wenn müsste da
free "item",$ha,1; skipevent; hin (skipevent gegen MAV)
Guck dir doch mal den Code vom Lamm (Item) an, der löst die meisten probleme die bei dieser Aufgabe auftreten können ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 05, 2008, 11:51:03 Vormittag
Leider gibt es hier wieder ein problem: Das teil wird nich gelöscht.
Ach den Script des Schafes und des Zeltes hab ich mir schon angeguckt :@
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 05, 2008, 13:51:43 Nachmittag
Zitat von: "Robo01"
Leider gibt es hier wieder ein problem: Das teil wird nich gelöscht.
Ach den Script des Schafes und des Zeltes hab ich mir schon angeguckt :@
dann kopier es doch mal, immer funkt es ja dort ^o)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 05, 2008, 14:23:31 Nachmittag
Es klapt ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 08, 2008, 15:42:12 Nachmittag
Ich hab hier ein code woh ich schon alles versucht habe doch noch nichts passiert ist wie es sein sollte:
on:bomb {
           explosion impact_x(),impact_y(),impact_z(),100,1000000;
           free currentclass(),currentid(),1;
}
Was nicht klapt ist das mit dem free obwohl es schon bei einer anderen  unit geklapt hat, nur das wo dieser script steht ist ein item!
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 08, 2008, 16:40:07 Nachmittag
Zitat von: "Robo01"
Ich hab hier ein code woh ich schon alles versucht habe doch noch nichts passiert ist wie es sein sollte:
on:bomb {
           explosion impact_x(),impact_y(),impact_z(),100,1000000;
           free currentclass(),currentid(),1;
}
Was nicht klapt ist das mit dem free obwohl es schon bei einer anderen  unit geklapt hat, nur das wo dieser script steht ist ein item!
*sigh*... ich muss dringend was gegen doppelposts coden
wo hast du das gecodet, direkt auf einer map, oder lädst du es per [s2s:3hckq5qv]def_extend[/s2s:3hckq5qv]? Und wird das event überhaupt irgendwie abgefeuert?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 08, 2008, 16:58:10 Nachmittag
Zitat von: "bizzl"
*sigh*... ich muss dringend was gegen doppelposts coden
wo hast du das gecodet, direkt auf einer map, oder lädst du es per [s2s:3nh900tl]def_extend[/s2s:3nh900tl]?
}:?  }:?  }:?  Wie meinst du das ?
Zitat von: "bizzl"
Und wird das event überhaupt irgendwie abgefeuert?
oder das? }:?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 08, 2008, 17:22:01 Nachmittag
Zitat von: "Robo01"
Zitat von: "bizzl"
*sigh*... ich muss dringend was gegen doppelposts coden
wo hast du das gecodet, direkt auf einer map, oder lädst du es per [s2s:g30hqn69]def_extend[/s2s:g30hqn69]?
}:?  }:?  }:?  Wie meinst du das ?
wo steht der code? In einem Item auf einer Map? Dann würde er gelöscht sobald du das item aufhebst.
Oder lädst du es per [s2s:g30hqn69]def_extend[/s2s:g30hqn69] aus einer Textdatei? Dann greift der nächste punkt.

Zitat von: "Robo01"
Zitat von: "bizzl"
Und wird das event überhaupt irgendwie abgefeuert?
oder das? }:?  }:?
bomb ist kein System-Event, du musst es also von hand per [s2s:g30hqn69]event[/s2s:g30hqn69], [s2s:g30hqn69]areal_event[/s2s:g30hqn69], [s2s:g30hqn69]seqevent[/s2s:g30hqn69] oder [s2s:g30hqn69]timer[/s2s:g30hqn69] auslösen. vllt passiert das nicht :a:
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 08, 2008, 20:17:27 Nachmittag
Ach so dann  [s2s:19v1qg8o]def_extend[/s2s:19v1qg8o] :@
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 08, 2008, 21:11:18 Nachmittag
Zitat von: "Robo01"
Ach so dann  [s2s:11jnzuxn]def_extend[/s2s:11jnzuxn]
aha, gut. Nun, wie wird das Event abgefeuert, oder ist das gesichert?
Wenn ja, dann mach mal bei [s2s:11jnzuxn]free[/s2s:11jnzuxn] die 1 weg.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 09, 2008, 08:30:06 Vormittag
Also ich hab das jetzt so gemacht, dass ein anderes item folgenden script hat:
on:use {
event "bomb","global";
}
Oder so ähnlich .Ich kann es jetzt nicht so genau sage weil ich gerade an einem anderen PC im Haus bin der kein Stranded hat.
Aber müsste richtig sein :wink: Ach so einmal hab ich ja schon mit [s2s:1wog9rxe]free[/s2s:1wog9rxe] "self"; versucht so wie es bei dem explos. Köder ist nur bei mir wurden aufeinmal alle items dieses Tüps gelöscht!

Zitat von: "bizzl"
Wenn ja, dann mach mal bei [s2s:1wog9rxe]free[/s2s:1wog9rxe] die 1 weg.
ne klapt nicht! Nun werden wieder alle gelöscht wie bei [s2s:1wog9rxe]free[/s2s:1wog9rxe] "self";
Zitat von: "bizzl"
Nun, wie wird das Event abgefeuert,  oder ist das gesichert?
häh? abgefeuert,gesichert? }:?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 09, 2008, 15:49:50 Nachmittag
Zitat von: "Robo01"
Zitat von: "bizzl"
Wenn ja, dann mach mal bei [s2s:pi54st3m]free[/s2s:pi54st3m] die 1 weg.
ne klapt nicht! Nun werden wieder alle gelöscht wie bei [s2s:pi54st3m]free[/s2s:pi54st3m] "self";
Kann ich mir denken wenn das Ereignis global abgefeuert wird xD
Sind der on:use- und der on:bomb-Script im selben Item? dann lass mal das "global" bei [s2s:pi54st3m]event[/s2s:pi54st3m] weg...

Zitat von: "Robo01"
Zitat von: "bizzl"
Nun, wie wird das Event abgefeuert,  oder ist das gesichert?
häh? abgefeuert,gesichert? }:?  }:?
Events werden "abgefeuert", das hat sich so eingebürgert, auch in anderen Sprachen (manche Tutorials lesen sich wie Feuerwerkspläne xD)
Aber das du nicht kapierst was mit "abgesichert" meine ist hart :@
Ich wollte nur nachhaken ob du dir sicher bist das dein Ereignis überhaupt abgefeuert wird -> ob dieser umstand gesichert ist. compris?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 09, 2008, 15:55:51 Nachmittag
Das heißt dass du fragen wolltest ob ich in ihrgenteinen anderen item-script reingeschrieben habe:
on:use {
event "bomb","global";
}
}:?  }:?  }:? Falls das so gemeint sein sollte: Ja :yes:

Zitat von: "bizzl"
Sind der on:use- und der on:bomb-Script im selben Item?
ne =D
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 09, 2008, 16:53:29 Nachmittag
Zitat von: "Robo01"
Zitat von: "bizzl"
Sind der on:use- und der on:bomb-Script im selben Item?
ne =D
=/ hmm... kannst du irgendwie die id der Zielbombe ermitteln (falls sowas überhaupt erwünscht ist)?
Ansonsten probier mal [s2s:c7wv8qef]areal_event[/s2s:c7wv8qef] + free "self";, oder lass das free einfach ganz weg...
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 10, 2008, 10:41:01 Vormittag
Nächstes Problem:
Ich wollte so ein ding machen dass die Fackeln anzünded ohne sie zu berühren nur wie mache ich das mit folgenden code klapt er nicht:
on:use {
event "licht","global";
}
 Ihrgendwie klapt dass nicht . Gibt es eine andere möglichkeit? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 10, 2008, 11:23:29 Vormittag
Ich nehme an du meinst die Fackelobjekte. Leider besitzen die kein Event zum Anzünden (selbst wenn, es würde nie on:licht heißen xD )
Du müsstest eine schleife über alle objekte des Typs 166 und 167 laufen lassen und dem Objekt mit der id [s2s:lcocofju]loop_id[/s2s:lcocofju] dann jeweils einen Feuerstate zuweisen.
Wenn du eine Zeitschaltuhr willst kannste btw auch das Info 60 (Automatisierte Fackeln und Feuerstellen) benutzen und alle zu entfachenden Fackeln den State 21 (Action) zuweisen ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 11, 2008, 17:38:55 Nachmittag
Zitat von: "bizzl"
Ich nehme an du meinst die Fackelobjekte. Leider besitzen die kein Event zum Anzünden
So dumm bin ich auch nicht   =/  ¬¬  Das event habe ich ja noch mit reingescriptet aber da das nicht funktioniert hat habe ich dass schon längst aufgegeben und hier nacht einer andeden lösung gefragt. An loop hätte ich nie gedacht ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 11, 2008, 19:12:40 Nachmittag
Zitat von: "Robo01"
So dumm bin ich auch nicht   =/  ¬¬  Das event habe ich ja noch mit reingescriptet
in dem fall solltest du besser beide codes posten. Der zum auslösen des Ereignisses war nämlich nicht perfekt richtig ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 13, 2008, 13:44:09 Nachmittag
FacKel:
on:licht {
if (gotstate("object"currentid(),49==0) {
addstate "object",currentid(),"4";
}else{
freestate "object",currentid(),"4";
}
}
Item:
on:use {
event "licht","global";
}
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 13, 2008, 14:02:15 Nachmittag
Zitat von: "Robo01"
FacKel:
on:licht {
if (gotstate("object"currentid(),49==0) {
addstate "object",currentid(),"4";
}else{
freestate "object",currentid(),"4";
}
}
2 Simple Fehler:
Lösung:
on:licht {
if (gotstate("self",49)==0) {
addstate "object",currentid(),"4";
}else{
freestate "object",currentid(),"4";
}
}
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 14, 2008, 15:51:12 Nachmittag
Noch ne Frage:  Mc_Leaft hat in Pinguin Adventure so was gemacht dass wenn man einen heli hat er immer in der karte eingezeichnet ist und man somit wei? wo der heli ist . Wie geht das??? }:?  }:?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Februar 14, 2008, 16:29:33 Nachmittag
ohne dir jetz denie frage verdrängen zu wollen,
ich hab auch eine und will nich warten bis das alles geklärt is.
 mein code funktioniert nich und das wundert mich..
weils n ganz leichter if und dialog code is:
on:use {
   if ($talk_basilisk=0) {
      dialogue "1", "62";
   }elseif ($talk_basilisk=1) {
      dialogue "1", "64";
   }
}


is bestimmt son fehler wo ich nachher denke.. aua wie kann ich nur so blöd gewesen sein^^
ach noch was.. auf die unit is n freeze befehl angelegt.. ka ob das damit vllt was zu tun hat
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 14, 2008, 16:41:31 Nachmittag
@Souvenir: du hast = (zuweisung) benutzt, wo == (Vergleich) sein müsste.

@Robo01: Vermutlich hat er mit def_extend die Definition der Karte erweitert und dort
on:use {
 setpos "info",HELI_ANZEIGER,getx("unit",HELI),gety("unit",HELI),getz("unit",HELI);
}
eingefügt. Guck doch einfach mal nach ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Februar 14, 2008, 17:10:07 Nachmittag
Zitat von: "bizzl"
@Souvenir: du hast = (zuweisung) benutzt, wo == (Vergleich) sein müsste.
ich sags ja..ich kann mir nur an den eigenen kopf fassen und sagen: AUA
Titel: Tor mit Sclüssel öffnen
Beitrag von: Anonymous am Februar 14, 2008, 20:55:56 Nachmittag
on:use
if (getstored "unit",1,92) {
event "toggle";
}

mache ich da was Falsch???
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Februar 14, 2008, 21:22:52 Nachmittag
Zitat von: "Robo01"
Noch ne Frage:  Mc_Leaft hat in Pinguin Adventure so was gemacht dass wenn man einen heli hat er immer in der karte eingezeichnet ist und man somit wei? wo der heli ist . Wie geht das??? }:?  }:?  }:?
Ich zitiere auf die Schnelle einfach mal den (relevanten!) Code aus der units_mc_leaf.inf
//Nach Bau Karten-Info setzen
on:create {
  local $info_id;
  $info_id=create("info",36);
  showindicator $info_id;
  setindicatorinfo $info_id,"Hier steht noch mein Heli.";
}

//Beim Benutzen alte Karten-Info löschen
on:use {
  ride;
  free "info",$info_id;
}

//Beim Absteigen Karten-Info setzen
on:getoff {
  $info_id=create("info",36);
  showindicator $info_id;
  setindicatorinfo $info_id,"Hier steht noch mein Heli.";
}
;)

Zitat von: "Gast"
on:use
if (getstored "unit",1,92) {
event "toggle";
}

mache ich da was Falsch???
Ja, hier fehlen mindestens zwei Klammern und die Bedingung..., also bspw. so
if (getstored("unit",1,92)>0) {
event "toggle";
}
das sollte funzen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 14, 2008, 21:27:22 Nachmittag
funkt leider nich
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Februar 14, 2008, 22:15:11 Nachmittag
Zitat von: "Gast"
funkt leider nich

on:use {
  if (playergotitem(92)>0) {
    event "toggle";
  }
}
Vielleicht so? Das Event "toggle" sollte natürlich auch beim Objekt vorhanden sein, das kenne ich nur von diesem Holztor, da sollte es eigentlich gehen.

EDIT: ^Habs mal schnell gecheckt, mit dem Mauertor (Typ 293) gehts. Obiges Skript sollte auch gehen, es sei denn, du hast meine Fehler oben mit kopiert... (on:use und ein, zwei Klammern fehlen)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 15, 2008, 19:33:44 Nachmittag
danke,

ich bin nen Anfänger im Scripting,

geht vielleicht das man einem Typen der am Tor steht etwas geben muss, dann öffnet sich das Tor und schliest es sich wieder?
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Februar 15, 2008, 19:52:59 Nachmittag
Zitat von: "Gast"
ich bin nen Anfänger im Scripting
Waren wir alle... ;)

Vorkenntnisse in anderen Programmiersprachen sind sehr hilfreich, sowie diese (http://http://stranded.unrealsoftware.de/s2_mods.php) bzw. gleich diese (http://http://stranded.unrealsoftware.de/s2_commands.php?list=all) Seite. Und natürlich kann man sich auch immer beim Standard-Abenteuer noch einiges abschauen (hab ich vor allem gemacht, um mich erstmal einzufuchsen).

Zitat von: "Gast"
geht vielleicht das man einem Typen der am Tor steht etwas geben muss, dann öffnet sich das Tor und schliest es sich wieder?
Prinzipiell ja. En detail sieht das ganze leider ein wenig komplizierter aus...
Im Prinzip: Hat der Spieler das Item dabei, dann erscheint ein zusätzlicher Button (Stichwort Dialoge...), etwa "Ich hab deinen Müll jetzt dabei!", und beim draufklicken kann man dann wieder das "toggle"-Event auslösen.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 16, 2008, 09:43:31 Vormittag
Fehlt nur noch ein Timer. Der das Tor dann nach zehn Sekunder wieder liest.
Ungefähr so:
Einheit:
on:use  {
if (playergotitem(92)>0){
dialogue "Hallo","3";
timer "unit",100,10000,1,"closet";
}else{
dialogue "Du hast keinen Schlüssel!","2";
}
}

on:closet {
event "toggle","object",1;
}

on:start {
freeze "self";
}
Textcontainer (id 2):
page=Du hast keinen Schlüssel!
text=start
Du hast keinen Schlüssel!
text=end
button=action:close, Schuldigung
Texcontainer (id 3):
page=Hallo
text=start
Gib den Sclüssel her dann kanst du durch!
text=end
button=page2, Hier hast du einen Schlüssel!
button=action:closemenu, Nein!

page=page2
script=start
event "toggle","object",1;
closemenu;
script=end
 ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Februar 16, 2008, 14:12:41 Nachmittag
bei mir funzt folgendes script nich:
on:use {
if ((playergotitem(799))&&($quest_basilisk==1)) {
msgbox "Die 4 Steine" ,"67";
$quest_basilisk=2;
}elseif ((playergotitem(799))&&($quest_basilisk==2)&&(playergotitem(36)==10)) {
freestored "unit", 1, 36, 10;
addstate "object", 1226, "25";
}elseif ((playergotitem(799))&&($quest_basilisk==2)&&(playergotitem(36)<10)) {
skipevent;
}else {
skipevent;
}
}

das problem is, dass das object beim 2 mal benutzen den partikel-state bekommt, aber auch wenn die bedingungen nicht erfüllt sind. dh wenn der spieler das item36 (heiltrank) nicht hat, bekommt das objekt den partikelstate.
was is falsch?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Februar 16, 2008, 14:29:43 Nachmittag
zu dem playergotitem muss noch ne mengenangabe, in etwa

if (playergotitem(799)>0) ...
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 16, 2008, 14:31:35 Nachmittag
on:trigger {
msg "Ali tuk ma hati ka",2;
add "Ein Eingeborener, vieleicht hat er den Schlüssel zur Insel";
}

Ich hab zum obigen Code eine Frage:

Er funkt aber das msg und add kommt immer wieder Ich will es aber nur einmal im ganzen Spiel haben.
Kann mir da jemand helfen?
Titel: Re: Fragen zum Scripting
Beitrag von: Souvenir am Februar 16, 2008, 14:40:24 Nachmittag
on:trigger {
      msg "Ali tuk ma hati ka",2;
      add "Ein Eingeborener, vieleicht hat er den Schlüssel zur Insel";
      stoptrigger "self";
}

so

ach und @ banane..
das kann ja sein ^^u
aber das löst mein problem nich^^
wie gesagt.. beim 2 benutzen kommen die partikel auch wenn die bedingungen nicht erfüllt sind.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 21, 2008, 19:32:22 Nachmittag
Wie kann man es scripten das ein Reittier einen nicht mehr abwirft?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 21, 2008, 19:53:29 Nachmittag
Zitat von: "Gast"
Wie kann man es scripten das ein Reittier einen nicht mehr abwirft?
Im Editor gibt eine Def-Var-Maske. Selektiere das reittier, so dass du ins eigenschaftenfenster kommst, dann klicke unten auf einen der  Buttons ganz unten (ich glaube er hat ein Plus drauf) und editiere den Eintrag Zahmheit und setze ihn auf einen Wert > 25.
Wenn du das partout nicht packst, dann nimm einfach folgenden Script:
on:start { $tameness=30; }
Kann nicht mal jemand ein Tutorial zu den DefVars machen }:?
Titel: Games?
Beitrag von: Robo01 am Februar 22, 2008, 14:08:57 Nachmittag
Wie macht man eigentlich so ein spiel z.B. Mc_Leafts Puzzel Spiel. Das verstehe ich nicht.
 Und Ich krieg den [s2s:1krlac7y]projectile[/s2s:1krlac7y]-Befel nicht hin:
on:trigger [
projectile 55,getx("self"),gety("self"),getz("self"),5,0,0,61,1,10,3;
}
Was mache ich falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: LordChris am Februar 22, 2008, 19:16:25 Nachmittag
Bitte keine solche smiliefluten
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Februar 22, 2008, 19:25:28 Nachmittag
das puzzle-spiel ist eine größere angelegenheit, gucks dir doch einfach an...
du musst bei dem on:trigger ein { machen, kein [
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 22, 2008, 19:49:41 Nachmittag
Na ja es ist so das puzzel-spiel hab ich mir zehn mal angeguckt! Ich weiß einfach nicht wie er es schafft die bilchen überhaubt anzuzeigen und dann auch noch zu vermischen! Ich verstehs trotz dem nicht! }:?  Ich hab ein großes problem mir Variablen . Sie bringen mich nur durcheinander. Vor all dem sie globalen!
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 22, 2008, 21:00:37 Nachmittag
Zitat von: "Robo01"
Na ja es ist so das puzzel-spiel hab ich mir zehn mal angeguckt! Ich weiß einfach nicht wie er es schafft die bilchen überhaubt anzuzeigen und dann auch noch zu vermischen! Ich verstehs trotz dem nicht! }:?  
Das Anzeigen erfolgt über die cscr-Befehle, das mischen ist da weitauskomplizierter. Am besten du lässt das erstmal links liegen und mache was einfacheres, besonders wenn ich folgendes Lese bezweifel ich das du es atm überhaupt verstehen kannst:
Zitat von: "Robo01"
Ich hab ein großes problem mir Variablen . Sie bringen mich nur durcheinander. Vor all dem sie globalen!
Tja, ohne Variablen ist aber nix machbar. Das Konzept dahinter ist aber extrem einfach und allgegenwärtig. Sie sind einfach Platzhalter für irgendwas (hier meist für Zahlenwerte)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 23, 2008, 08:33:58 Vormittag
Zitat von: "bizzl"
Zitat von: "Robo01"
Ich hab ein großes problem mir Variablen . Sie bringen mich nur durcheinander. Vor all dem sie globalen!
Tja, ohne Variablen ist aber nix machbar. Das Konzept dahinter ist aber extrem einfach und allgegenwärtig. Sie sind einfach Platzhalter für irgendwas (hier meist für Zahlenwerte)
Ich weiß was variablen sind nur es ist so dass die globalen Variablen meitens ihrgent wo stehen wo ich sie nicht erahne.
Giebt es nicht variablen die man immer benutzen kann. Wo man nicht schreiben muss:
on:start {
$xy=xy;
}
sondern das ihrgentwo in den game.inf steht. Denn zu manchen variablen finde ich in den selben script keinen außlöser d.h.: $xy=xy. Bei dene weiß ich  nie was sie bedäuten!
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 23, 2008, 10:35:27 Vormittag
Zitat von: "Robo01"
Ich weiß was variablen sind nur es ist so dass die globalen Variablen meitens ihrgent wo stehen wo ich sie nicht erahne.
Die wichtigsten sind in der game.inf und der game_mcleaf.inf definiert, alle weiteren dienen meist nur zum zwischenspeichern von IDs und werden am ende der betreffenden Scriptketten meist auch wieder gelöscht.

Zitat von: "Robo01"
Giebt es nicht variablen die man immer benutzen kann. Wo man nicht schreiben muss:
on:start {
$xy=xy;
}
sondern das ihrgentwo in den game.inf steht. Denn zu manchen variablen finde ich in den selben script keinen außlöser d.h.: $xy=xy. Bei dene weiß ich  nie was sie bedäuten!
Ja, gibt es, Quelle siehe oben xD
Übrigens haben alle wichtigen Variablen sprechende Namen und fangen entweder mit $s2g_ (Variablen aus der Standardmod), $s2e_ (Variablen aus S2Ext) oder $g_ (Variablen aus dem Objektpaket sowieso Mod-Schalter) an.
Und übrigens nennt man die Zeile $xy=xy; zuweisung oder initialisierung, und nicht auslöser (sry, aber der begriff wäre einfach quatsch)
Titel: Dialoge
Beitrag von: Lares01 am Februar 26, 2008, 20:35:59 Nachmittag
Hi ich bin Anfänger im scripten und ich hab kein peil wie ich dialoge erstellen kann :oops: ^^ Kann mir vllt jemand helfen
 danke schon mal im vorraus
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Februar 26, 2008, 21:02:48 Nachmittag
Tutorial: [uswiki:2vbk78ey]dialoge_erstellen[/uswiki:2vbk78ey]
Titel: Re: Dialoge
Beitrag von: bizzl am Februar 26, 2008, 21:03:35 Nachmittag
Zitat von: "Lares01"
Hi ich bin Anfänger im scripten und ich hab kein peil wie ich dialoge erstellen kann :oops: ^^ Kann mir vllt jemand helfen
 danke schon mal im vorraus
Hast du dich nicht schon als Natureboy angemeldet?
Zu deiner Frage: Das US-Wiki weiß rat: [uswiki:cyefrouz]Dialoge erstellen[/uswiki:cyefrouz]
Titel: Re: Fragen zum Scripting
Beitrag von: LordChris am Februar 26, 2008, 21:45:33 Nachmittag
Zitat von: "bizzl"
Hast du dich nicht schon als Natureboy angemeldet?

meinst du jetzt wegen ip oder weil er "Anfänger" gesagt hat?

wenn ja dann meinste er jetzt es im Sinne von Neuling
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 26, 2008, 22:01:21 Nachmittag
Zitat von: "LordChris"
Zitat von: "bizzl"
Hast du dich nicht schon als Natureboy angemeldet?
meinst du jetzt wegen ip oder weil er "Anfänger" gesagt hat?
wenn ja dann meinste er jetzt es im Sinne von Neuling
ah, k ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 27, 2008, 15:37:01 Nachmittag
Ich hab ein kleines problem: Ich krieg den [s2s:3pv88jxf]projectile[/s2s:3pv88jxf]-Befel nicht hin:
on:trigger {
projectile 55,getx("self"),gety("self"),getz("self"),5,0,0,61,1,10,3;
}
Was mache ich falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 27, 2008, 16:08:26 Nachmittag
Zitat von: "Robo01"
Ich hab ein kleines problem: Ich krieg den [s2s:2smt0r17]projectile[/s2s:2smt0r17]-Befel nicht hin:
on:trigger {
projectile 55,getx("self"),gety("self"),getz("self"),5,0,0,61,1,10,3;
}
Was mache ich falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 28, 2008, 12:12:37 Nachmittag
Leider klapt das nicht!
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 28, 2008, 12:41:27 Nachmittag
Zitat von: "Robo01"
Leider klapt das nicht!
Tolles feedback :roll:
Was haste denn für neue Werte genommen?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 28, 2008, 17:09:20 Nachmittag
projectile 788,getx("self"),gety("self"),getz("self"),6,0,0,3,0,5;
Das Hier =D
Titel: Re: Fragen zum Scripting
Beitrag von: mww am Februar 28, 2008, 17:55:34 Nachmittag
on:start {
diary "Gestrandet","9","diary01";
}

Keine Ahnung warum es nicht funkt(is ja eigentlich nen einfacher Script)
Es kommt immer die Meldung Row:2 Col:23 Expecting Semicolon.
Kann mir jemand das vielleicht Sagen warum?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 28, 2008, 18:39:08 Nachmittag
Zitat von: "Robo01"
projectile 788,getx("self"),gety("self"),getz("self"),6,0,0,3,0,5;Das Hier =D
Der Offset ist ja immer noch 0, und der drag ist immer noch zu groß (er sollte 1 nicht überschreiten) :no:
Spiel doch mal selber mit den Werten rum, dann erfährst um am genausten woran es hackt.

Zitat von: "mww"
on:start {
diary "Gestrandet","9","diary01";
}
Keine Ahnung warum es nicht funkt(is ja eigentlich nen einfacher Script)
Es kommt immer die Meldung Row:2 Col:23 Expecting Semicolon.
Kann mir jemand das vielleicht Sagen warum?
Ja, du hast zu viele Parameter angegeben. Es kann nur eine Quelle geben, und das wird dann wohl info 9 sein (btw, id-angaben am besten ohne die " , das stört eher als das es hilft)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 28, 2008, 19:16:59 Nachmittag
Klapt immer noch nicht:
    projectile 788,getx("self"),gety("self"),getz("self"),6,3,0,3,0,0; =D
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 28, 2008, 19:20:32 Nachmittag
Zitat von: "Robo01"
Klapt immer noch nicht:
    projectile 788,getx("self"),gety("self"),getz("self"),6,3,0,3,0,0; =D
kann es vllt sein das keine Agressiven Units vorbei laufen? Lass es mal auf den Spieler schießen (Mode 4)
Wenn es dann nix macht wenn der Trigger ausgelöst wird weiß ich aber auch nicht weiter, dann wirste wohl selber rumprobieren müssen.
Titel: Re: Fragen zum Scripting
Beitrag von: mww am Februar 28, 2008, 20:40:43 Nachmittag
Ich krieg keinen Script hin bei dem zu einem bestimmten Zeitpunkt (Übergang Spieltag 29/30) ein Eingeborener erscheint mit dem man dann einen Dialog führen kann.
Kann mir mal jemand einen machen?

Bitte!!!
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Februar 28, 2008, 20:55:12 Nachmittag
on:changeday {
  if (day()==30) {
    $thenative=create("unit",EINGEBORENEN_TYP_ID [X,Z]);
    addscript "unit",$thenative,"QUELLE";
  }
}
als globales script
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 29, 2008, 12:18:36 Nachmittag
meins hat geklapt. Zumindest das mit dem spieler.
Und nächste frage:
dieser script:  
on:start {
def_extend "info",35,"84";
}

oder dieser:
addstate “currentclass(),currentid(),”4”;will nicht klappen. folgender fehler:
SCRIPT ERROR:
Object/Unit/Item/Info with ID ‘84’ does not exist
Script: Info 84 (Flagge type 30)
Event:feuer
Row: 2
Col: 42
Script: addstate “currentclass(),currentid(),”4”;
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 29, 2008, 13:31:34 Nachmittag
Zitat von: "Robo01"
meins hat geklapt. Zumindest das mit dem spieler.
Dann war wohl vorher einfach keine passende Unit in der nähe ;)

Zitat von: "Robo01"
Und nächste frage:
dieser script:  
on:start {
def_extend "info",35,"84";
}
Ich behaupte mal auf die Schnelle mal das es entweder kein Info Type 35 gibt oder das die Quelle  "84" nicht existiert. Bitte gib IDs immer ohne Anführungszeichen an, weil S2 das als Dateinamen sonst missinterpretieren könnte.
Und btw sollte [s2s:34ei2mkg]def_extend[/s2s:34ei2mkg] immer in on:load statt on:start sein, da die scripts nicht mit abgespeichert werden :/

Zitat von: "Robo01"
oder dieser:
addstate “currentclass(),currentid(),”4”;
Da sind drei " zuviel (und genau genommen sind es auch die falschen... beim Programmieren nimmt man immer nur die Anführungszeichen auf [Shift+2] )
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Februar 29, 2008, 18:05:14 Nachmittag
Das klapt so weit also....
....nächste frage:
on:trigger {
starttrigger 92;
areal_event "feuer",getx("self"),gety("self"),getz("self"),500,0;
starttrigger 2;
starttrigger 3;
starttrigger 4;
starttrigger 5;
starttrigger 6;
starttrigger 7;
starttrigger 8;
starttrigger 9;
stoptrigger 83;
timer "info",83,120000,1,"stop";
timer "info",83,60000,1,"lsch";
loop ("objects") {
addstate "object",loop_id,"17",
}
}

on:stop {
starttrigger 83;
}

on:lsch {
areal_event "loschen",getx("self"),gety("self"),getz("self"),500,0;
stoptrigger 2;
stoptrigger 3;
stoptrigger 4;
stoptrigger 5;
stoptrigger 6;
stoptrigger 7;
stoptrigger 8;
stoptrigger 9;
timer "info",83,20000,1,"end";
loop ("objects") {
freestate "object",loop_id,"17";
}
}

on:end {
stoptrigger 92;
}

Dass problem liegt an den beiden loops wenn ich sie weg lasse klapts .Mache ich die ihrgen wie falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 29, 2008, 19:07:03 Nachmittag
Du hast bei [s2s:2etj1gvg]loop_id[/s2s:2etj1gvg] die Klammern vergessen (also loop_id() statt nur loop_id)
Bei Return-Befehlen müssen immer Klammern dazu (ausgenohmen alleinestehendes [s2s:2etj1gvg]create[/s2s:2etj1gvg])
Titel: Re: Fragen zum Scripting
Beitrag von: mww am Februar 29, 2008, 19:36:36 Nachmittag
@banane

Danke,

Geht das auch als Script zB. an einer Fahne die am 30. Tag durch einen Timer ausgelöst wird?
So war am Anfang eigentlich mein Plan. Der Timer ist schon gescriptet und funkt auch mit dem Floßwrack das auch erscheinen soll.
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 29, 2008, 20:24:08 Nachmittag
Zitat von: "mww"
Geht das auch als Script zB. an einer Fahne die am 30. Tag durch einen Timer ausgelöst wird?
So war am Anfang eigentlich mein Plan. Der Timer ist schon gescriptet und funkt auch mit dem Floßwrack das auch erscheinen soll.
Der Script sollte eigentlich so ziemlich überall funzen wo man nen script eintragen kann ;)
Titel: Re: Fragen zum Scripting
Beitrag von: mww am Februar 29, 2008, 22:25:38 Nachmittag
Was muss man denn bei dem GROSGESCHRIEBENEN eintragen?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am Februar 29, 2008, 22:31:07 Nachmittag
Zitat von: "mww"
Was muss man denn bei dem GROSGESCHRIEBENEN eintragen?
na, ne andere id, anderes x und z und ne andere quelle.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am März 05, 2008, 17:17:19 Nachmittag
Kann man eigentlicht auch die grundeinstellungen umscripten? Das heißt z.B. Höhe des wassers verendern oder dass wasser auch wo runter läuft (Wasserfall) }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am März 05, 2008, 18:35:27 Nachmittag
Zitat von: "Robo01"
Kann man eigentlicht auch die grundeinstellungen umscripten? Das heißt z.B. Höhe des wassers verendern oder dass wasser auch wo runter läuft (Wasserfall) }:?
leider nein.
Titel: sterben wenn man nen gegenstand einsammelt
Beitrag von: Lares01 am März 06, 2008, 19:29:59 Nachmittag
Kann man eigentlich einen gegenstand so scripten das wenn man ihn einsammelt stirbt??

Achso und wie kann man mit einer Unit items tauschen?? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am März 06, 2008, 19:34:53 Nachmittag
Zitat von: "Lares01"
Kann man eigentlich einen gegenstand so scripten das wenn man ihn einsammelt stirbt??
on:collect { kill "unit",1; }
Zitat von: "Lares01"
Achso und wie kann man mit einer Unit items tauschen?? }:?
on:use { exchange "self"; }
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am März 07, 2008, 11:05:34 Vormittag
Ich hab hier ein kleines Problem mit dem script...

on:use{
add "Geil, eine Kokosnuss! Ich muss sie öffnen...";
add "Wie soll ich das machen?";
msgbox "Kokosnuss";
button 0,"Karatehieb",77,"event karatehieb";
button 1,"Kopfnuss",77,"event kopfnuss";
if ($Verschluss==1) {
button 2,"Aufschrauben",77,"event verschluss";
}
add "closemenu;";
button 3,"Garnicht",3;
}
on:eat{
msg "Essen? Wie denn? Ich krieg sie nich auf :.(",3;
}
on:karatehieb{
play "human_die3.wav";
consume -20,0,0,0;
msg "AAAAAAH!",3;
addstate "unit",1,"Fracture";
}
on:kopfnuss{
play "human_die3.wav";
consume -50,0,0,0;
msg "AAAAAAH!",3;
addstate "unit",1,"Dizzy";
}
on:verschluss{
speech "positive";
find 286;
find 290;
free "self";
}

Es funzt nicht ganz. Ich hätte gerne dass die Kokosnuss liegenbleibt wenn ich sie einsammel, und die buttons klappen auch nicht.
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am März 07, 2008, 12:18:16 Nachmittag
Es fehlen zwei semikola (jeweils beim Script von Button 0 & 1), bei [s2s:18ktbcq2]event[/s2s:18ktbcq2] muss immer Mindestens die Klasse angegeben werden (global oder 0,0 für globale Events) und on:eat kann man weglassen (ist nicht auslösbar)
Damit die Nuss nicht aufgehoben wird muss außerdem noch [s2s:18ktbcq2]skipevent[/s2s:18ktbcq2] in das event collect
Korrigiert sollte es so aussehen:

on:use{
local $me;
$me=currentid();
add "Geil, eine Kokosnuss! Ich muss sie öffnen...";
add "Wie soll ich das machen?";
msgbox "Kokosnuss";
button 0,"Karatehieb",77,"event karatehieb,item,$me;";
button 1,"Kopfnuss",77,"event kopfnuss,item,$me;";
if ($Verschluss==1) {
button 2,"Aufschrauben",77,"event verschluss,item,$me;";
}
button 3,"Garnicht",3,"closemenu;";
freevar $me;
}
on:collect {
skipevent;
}
(Den Restlichen Code habe ich mal weggelassen)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am März 07, 2008, 12:57:16 Nachmittag
on:use {
local $id;
$id=loop_id();
loop ("units") {
freeze $id;
}
freeze 1,0;
}
on:attack2 {
loop ("units") {
freeze $id,0;
}
Was mache ich falsch? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am März 07, 2008, 13:05:23 Nachmittag
$id=loop_id(); muss in die Schleifen rein (und zwar bei beiden):
on:attack2 {
loop ("units") {
$id=loop_id();
freeze $id,0;
}
}
Außerdem fehlte bei on:attack2 eine letzte schließende Klammer, aber die hast du wohl bloss vergessen zu kopieren ^^
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am März 07, 2008, 13:17:37 Nachmittag
Funktioniert erstmal...
on:use{
   local $me;
   $me=currentid();
   add "Geil, eine Kokosnuss! Ich muss sie öffnen...";
   add "Wie soll ich das machen?";
   msgbox "Kokosnuss";
   button 0,"Karatehieb",77,"event karatehieb,item,$me;";
   button 1,"Kopfnuss",77,"event kopfnuss,item,$me;";
   if ($Verschluss==1) {
      button 2,"Aufschrauben",77,"event verschluss,item,$me;";
   }
   button 3,"Garnicht",3,"closemenu;";
   freevar $me;
}
on:karatehieb{
play "human_die3.wav";
consume -20,0,0,0;
msg "AAAAAAH!",3;
addstate "unit",1,"Fracture";
}
on:kopfnuss{
play "human_die3.wav";
consume -50,0,0,0;
msg "AAAAAAH!",3;
addstate "unit",1,"Dizzy";
}
on:verschluss{
speech "positive";
find 286;
find 290;
free "self";
}
on:collect {
        skipevent;
event "use";
}

...Aber wenn man jetzt eines der Events (Ausser Gar nicht) wählt, löscht es die Kokosnuss raus! Dass soll aber nur bei "Aufschrauben" passieren.
Titel: Re: Fragen zum Scripting
Beitrag von: Warfire am März 08, 2008, 21:06:29 Nachmittag
hmm ich wollt mir was scripten, dass man auf nem pferd reiten kann, wenn man ne karotte hat.
habs ganz normal mit if playergotitem und bla gemacht und läuft natürlich auch.
on:use {
if (playergotitem(302)>=1) {
ride; }
}
allerdings wollt ich die reitgeschwindigkeit ändern, ohne die normale geschwindigkeit der pferds erhöhen zu müssen.
also so dass es beim aufsteigen schneller wird und beim absteigen der speed wieder zurückgesetzt wird...  nur wie?
mit addstate klappts i-wie nich und ich wüsst keine andere lösung.

so hab ichs gemacht:
on:use {
if (playergotitem(302)>=1) {
ride; }
  addstate "unit", 100, "speed";
  statevalue "unit", 100, "speed",3.5;
}
on:gettoff {
  addstate "unit", 100, "speed";
  statevalue "unit", 100, "speed",1.5;
}
man kann sich ja denken, dass 302 die karotte is und unit 100 das pferd ;)
Titel: Quests
Beitrag von: Lares01 am März 12, 2008, 12:18:53 Nachmittag
Ich versuche einen Quest zu machen und dann muss man drei Hanfblätter abgeben damit man etwas erhält was muss ich für einen script benutzen? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am März 12, 2008, 16:21:25 Nachmittag
als bedingung mit
if ([s2s:211d23go]playergotitem[/s2s:211d23go](HANF-TYP-ID)>=3) { blub; }
Titel: Re: Quests
Beitrag von: Lares01 am März 12, 2008, 17:49:09 Nachmittag
Aso danke dann noch eine Frage dazu:
Wie kann ich einsetllen das man eine bestimmte Anzahl von dem Item benötigt??
DAnke schon mal im vorraus^^
Titel: Re: Fragen zum Scripting
Beitrag von: banane am März 12, 2008, 20:30:42 Nachmittag
indem du die 3 bei if (playergotitem(HANF-TYP-ID)>=3) durch die gewollte anzahl ersetzt, z.B.
if (playergotitem(HANF-TYP-ID)>=2) für 2 Blätter
Titel: Re: Fragen zum Scripting
Beitrag von: Lares01 am März 14, 2008, 03:44:11 Vormittag
ich möchte das wenn ich inm einem dialog ein button gedrückt wird ein trigger aktiviert wird aba ich weiß net wie das geht kann mir das mal jemand vllt mit nem beispiel erklären??  xD
Titel: Re: Fragen zum Scripting
Beitrag von: mww am März 24, 2008, 13:53:11 Nachmittag
Ich hab hier nen Code aber beim Quatschen kommen manchmal falsche Seiten.

Beim Eingeborenen:
on:start{
$ein=1;
}
on:use{
if ($ein==1) {
dialogue "start","1";
$ein=2;
}
if ($ein==2) {
dialogue "start2","1";
}
if ($ein==3) {
dialogue "start3","1";
}
if (playergotitem 30) {
$ein==4
}
if ($ein==4) {
dialogue "start4","1";
}
if ($ein==5) {
dialogue "start5","1";
}
if ($ein==6) {
dialogue "start6","1";
}
}

Und beim Textcontainer (ID= 1)
page=start
title=Der Eingeborene
text=start
Hallo,

Bist du nun endlich aufgewacht? Du hast seit wir auf dieser Insel gestranded sind
13 Stunden geschlafen.
Naja,
ich habe in der Zeit schon mein Zelt aufgeschlagen und eine Quelle gefunden.
text=end
button=was, Äh.. Was ist denn passiert?
button=action:close, Aha...

page=was
title=Der Eingeborene
text=start
Hast du mir nicht zugehöhrt?
Wir sind auf einer anderen Insel gestranded. Und das Floß ist kaputt.
text=end
button=floß, Kann man es nicht Reparieren?
button=action:close, Aha..


page=floß
title=Der Eingeborene
text=start
Naja,

aber dzu brauche ich mein Werkzeug.
text=end
button=wo,Und wo ist es?

page=wo
title=Werkzeug
text=start
In einer Truhe. Sie ist kurz vor dem Aufbrall von Bord gefallen.
Sie müsste vor dieser Bucht hier liegen.
Bring mir sie bitte. Der Hammer sollte reichen den Rest kannst du behalten.
text=end
script=start
$ein==3;
script=end
button=action:close, OK.

page=start2
title=Der Eingeborene
text=start
Hallo.
text=end
button=was2, Was geht Ab?
button=action:close, Tschau.

page=was2
title=Der Eingeborene
text=start
Ich habe in der Zeit schon mein Zelt aufgeschlagen und eine Quelle gefunden.
Wir sind auf einer anderen Insel gestranded. Und das Floß ist kaputt.
text=end
button=floß, Kann man es nicht Reparieren?
button=action:close, Aha..

page=start3
title=Werkzeug
text=start
Hast du es?
text=end
button=action:close, Bin grad dabei...

page=start4
title Reperatur des Floßes
text=start
Danke.
text=end
script=start
freestored "unit", 1, 30,1;
$ein==5;
script=end
button=action:close, Bis dann.

page=start5
title=Reperatur des Floßes
text=start
Ich habe es nicht geschafft. Keine Chance.
text=end
script=start
$ein==6;
script=end
button=action:close, Naja, egal...

page=start6
title= Der Eingeborene
text=start
Hallo,
Wie gehts dir?
text=end
button=action:close, Gut, Danke.
button=action:close, Schlecht...

@Lares01:
Häng einfach noch ne Seite dran. z.B.:
page=blubberbla
title=blabla
script=start
starttrigger ID;
script=end
Titel: Re: Fragen zum Scripting
Beitrag von: bizzl am März 24, 2008, 14:08:33 Nachmittag
Also ich habe folgende Fehler gefunden:

Der erste Code liese sich afair auch noch stark vereinfachen:
on:start{
$ein=1;
}
on:use {
if (playergotitem(30)>0) { $ein=4; }
dialogue join("start",$ein),1;
}
Titel: Re: Fragen zum Scripting
Beitrag von: Lares01 am März 28, 2008, 22:52:17 Nachmittag
[ok danke das hat mir sehr geholfen. Aber ist mir noch nicht klar: Was bedeutet das $ein=1   ¬¬ ??
Titel: Re: Fragen zum Scripting
Beitrag von: banane am März 29, 2008, 15:03:55 Nachmittag
das $ein ist eine variable. die können in s2 mit beliebigen werten (zahlen, buchstaben) belegt werden.

durch das join("start",$ein) werden der text "start" und die variable $ein zusammengefügt ==> z.B. start1
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 03, 2008, 14:59:37 Nachmittag
Kurze Frage:
Wie macht man Globale Variablen? ^^
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Mai 03, 2008, 15:19:54 Nachmittag
ganz einfach, indem du den local $bla; befehl NICHT benutzt.

mit

$bla=1;

hast du eine neue globale variable namens bla deklariert, die den wert 1 hat.
Titel: Re: Fragen zum Scripting
Beitrag von: Feuerball11 am Mai 25, 2008, 13:41:52 Nachmittag
manoman.. hier ist ja seit langem nix mehr geschrieben worden...

naja. dazu was ich will:
ich möchte, das wenn man ein eingeborenen ansprich t ein dialog kommt (das habe ich)
aber wenn man ihn das zweite mal anspricht ein anderer dialog kommt.

ich weis nicht wie ich das anstellen soll... ich habs damit versuchT:

on:use {
   if(unituse==0) {
      dialogue "Hi","82";
   }
}

on:use {
   if(unituse>=1) {
      msg "habe zu tun",1;
   }
}

aber das is irgendwie nicht akzetabel für den pc...

also was muss ich anders machen?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Mai 25, 2008, 14:45:09 Nachmittag
es gibt keinen befel namen unituse oder so... benutz einfach eine variable

Code: (text) [Auswählen]
  1. on:use{
  2. local $used;
  3. if ($used==0) {   //wenn die variable used auf 0 steht (beim ersten mal ist sie 0, da sie nicht existiert)
  4. dialogue "bla","blub";
  5. }elseif ($used==1) {  //wenn die variable 1 ist
  6. dialogue "blip","blä";
  7. }elseif (...) {...} //hier kannst du noch mehr anfügen
  8. $used++; //variable um 1 erhöhen ($used++; ist dasselbe wie $used=$used+1;)
  9. }
  10.  
Titel: Fragen zum Scripting
Beitrag von: Robo01 am Juni 01, 2008, 12:27:27 Nachmittag
Mal ne frage nach langer zeit:

Wie geht das beim heißluftb. dass wenn man  "u" oder "i" drükt mach eine stufe höher bzw. tiefer geht?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 01, 2008, 14:19:46 Nachmittag
mit einem sich unendlich wiederholenden timer
Code: (text) [Auswählen]
  1. timer "self",1,0,"setheight";
und einer neuen setzung der höhe, immer wenn der timer ausgeführt wird
Code: (text) [Auswählen]
  1. ...
  2. setpos "self","self",$height+1,"self";
  3. ...
  4.     if ($key00down==1) { $height++; }
  5.     if (($key01down==1) && ($height>$y+15)) { $height--; }
  6. ...
  7.  
ist sehr rechenintesiv, funzt aber...

guck dir das ganze am besten nochmal in der units_ext.inf an... wenn du dann noch fragen hast stell sie ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Juni 01, 2008, 15:25:53 Nachmittag
Wo findet man denn die übersetzung für $key00-$key01down ?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 01, 2008, 17:32:41 Nachmittag
$key00down ist eine variable ;) die deklaration erfolgt afair in der game.inf, ist afaik kommentiert mit //free scriptkeys
Titel: Re: Fragen zum Scripting
Beitrag von: Feuerball11 am Juni 06, 2008, 06:58:49 Vormittag
Ok... erstma hallo an alle.

Ich will momentan einen bidlschirmsachoner in s2ext basteln (mit ner endlos-film-schleife) und mir ist aufgefallen, das man ihn nicht beenden kann.

jetzt wolte ich fragen, wie es möglich ist links unten im bild(wärend der kamererfahrt ) einen button, der ins menü zurückführt, einzubauen.

wäre mir von großer bedeutung wen jemand antwortet, welchen befehl ich da verwenden kann (oder was ich dafür ins globale script reinschreiben muss (der butten sol "Zurück" heisen)).

dnke im voraus

FEUERBALL11

ps: rechtschreiibfehler und gramatickfehler sind bei mir standart. (auser in meinen maps (da versuch ich alle rauszubringen))
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Juni 07, 2008, 15:56:36 Nachmittag
Zitat von: "Feuerball11"
Ich will momentan einen bidlschirmsachoner in s2ext basteln (mit ner endlos-film-schleife) und mir ist aufgefallen, das man ihn nicht beenden kann.

Setz mal bei seqstart (http://http://stranded.unrealsoftware.de/s2_commands.php?cmd=seqstart#cmd) den zweiten Parameter auf 1, dann kann man mit [Escape] abbrechen.
Titel: Re: Fragen zum Scripting
Beitrag von: DarkMessiah am Juni 09, 2008, 19:46:35 Nachmittag
hallo,
vieleicht kann mir jemand helfen. }:?
Ich wollte einen Zeittrigger machen der eine Landkarte in das Spielerinventar spawnt.
leider weiß ich nicht genau wie, ich habe im Forum gesucht und versucht es über das scripting Tutorial hinzukriegen.
leider bisher ohne erfolg. :cry_fox:

laut scripting Tutorial sollte es dieser script sein

on:trigger {clear;
create "item", 73 [-3640 ,93 ,-7651] [,1];}

da tut sich allerdings nichts!!!

bitte um hilfe wie man ihn richtig schreibt danke schon mal im voraus.
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 09, 2008, 19:51:29 Nachmittag
on:trigger {
create "item", 73, -3640 ,93 ,-7651, 1;
}

ganz wichtig: die eckigen klammern zeigen nur an, dass die parameter nicht zwingend erforderlich sind! sie dürfen nicht ins script übernommen werden.

um das item direkt beim spieler spawnen zu lassen kannst du auch einfach folgendes schreiben:
create "item",73;
und um das item direkt im spieler einzulagern kannst du entweder
find 73; (mit find-Effekt)
oder
store create("item",73),"unit",1; (ohne Effekt)
benutzen.

MERKE: beim spieler heißt _nicht_ im inventar, sondern an der selben stelle, wo der spieler steht.
Titel: Re: Fragen zum Scripting
Beitrag von: DarkMessiah am Juni 09, 2008, 23:36:16 Nachmittag
Danke Banane,
hat geklappt :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 25, 2008, 21:12:07 Nachmittag
also, ich hab mal nen Code gemacht, dass wenn man ein bestimtes item hat, man ein anderes bekommt:

Code: (text) [Auswählen]
  1. on:use {if (playergotitem(806)>0){find 811, 1}}

Was wäre am einfachsten zu machen, dass man den Gegenstand (z.B. hier 811) nur einmal bekommen kann? Wenn man den ersten Gegenstand (hier 806) löschen würde, würde es denke ich schon gehen, ich fänd es aber cool, wenn man ihn behalten und trotzdem den 2. Gegenstand nur einmal bekommen könnte.   Danke im Voraus! ^^
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 25, 2008, 21:33:53 Nachmittag
das ganze geht mit variablen, dem wichtigsten in allen programmier- und scriptsprachen.
du musst einfach die information setzen, dass das item schon benutzt wurde.

Code: (text) [Auswählen]
  1. on:use {
  2.   if (playergotitem(806)>) {
  3.     if ($alreadyfound==1) { msg "Das geht nicht mehr!",3; skip; }
  4.     find 811;
  5.     $alreadyfound=1;
  6.   }
  7. }

erklärung: da beim ersten durchlauf die variable noch nicht gesetzt ist, hat sie nicht den wert 1 (sondern 0). deshalb wird die klammer nicht ausgeführt, sondern das, was dahinter steht: der spieler "findet" ein item 811 und die variable wird gesetzt.
beim nächsten benutzen besteht die variable ja schon und hat den wert 1. daher wird die klammer ausgeführt. durch das skip; wird das skript abgebrochen, der rest wird nicht mehr ausgeführt (geparst).
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 25, 2008, 21:46:32 Nachmittag
Danke! Funkt perfekt!
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 26, 2008, 13:27:11 Nachmittag
ich hab noch ne Frage, ich wolt nen Dialog machen:

Code: (text) [Auswählen]
  1. on:use {
  2.  dialogue "3",3
  3. }
  4.  

es kommt aber nur ein Dialogfenster, wo nichts drinnen steht. Der Textcontainer hat die ID 3, aber ich bin mir nicht sicher, ob ich bei "Startseite" etwas bestimmtes reinschreiben muss, hab gelesen dass das dann nur oben stehen soll. Oder muss ich im Textcontainer Text reinschreiben, was die "Startseite" ist? }:?

Wenn ich es ohne Textcontainer versuche, also mit title= und so weiter, krieg ich beim Testen ne Fehlermeldung, das Parameter größer als 0 sein muss(???) und Stranded stürzt ab. ;(
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 26, 2008, 23:15:30 Nachmittag
dialogue funzt nur mit dem
page=blub
title=bläb
gedöhns... da musst du dann halt als startseite blub angeben (wegen page=blub)

wenn du einfach einen textcontainer mit reinem text benutzen willst, dann probier mal den befehl [s2s:2w8wjmee]msgbox[/s2s:2w8wjmee]. Der sieht für den Spieler genauso aus, allerdings ist er für einseitige Dialoge oft praktischer.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 27, 2008, 07:03:41 Vormittag
Danke! Den Befehl msgbox hatte ich ganz übersehen, klapt aber ohne Probleme. Beim Dialouge bekomme ich immer eine Fehlermeldung
"Parameter must be grater than 0" obwohl ich den Script so mache, wie es auf mehreren Seiten gezeigt wird. Meine Frage aber; kann man die msgbox auch mit buttons bestücken, die auf verschiedene Seiten gehen? Dann würde ich den dialouge eh nicht brauchen! :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 27, 2008, 12:23:51 Nachmittag
du kannst mit [s2s:23cs1780]button[/s2s:23cs1780] buttons machen, die neue msgboxen aufrufen.
poste doch mal dein dialogue script hier, dann können wir dir eher helfen ;)
[s2s:23cs1780]dialogue[/s2s:23cs1780] ist nämlich letztendlich einfacher für mehrere seiten (und platzsparender)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 27, 2008, 16:10:41 Nachmittag
Muss man den Script, beim Button(wenn in der Vorschau steht ["Script"]) in "" schreiben? Denn die eckigen Klammern muss man ja weglassen. Ich habs zwar mit beiden probiert und es funktioniert nicht, aber ich wüsst halt gern was jetzt richtig ist(wäre) xD
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 27, 2008, 21:00:38 Nachmittag
Ne andere Frage; ich wollte einen Tausch machen:

Code: (text) [Auswählen]
  1. on:use {
  2.   if (playergotitem(820)>19)
  3.      {find 30;}
  4.      {freestored "unit",1,820,20;}
  5. }
  6.  

es funktioniert, dass ich den Gegenstand nur kriege, wenn ich 20 Münzen hab, aber die Münzen verschwinden nicht.
Ich hab mir den Script ungefähr von einem früheren Foreneintrag abgeschaut, wo fleisch gegen einen Beutel getauscht wurde; da hiess es nach freestored
1,6,1
Ich kann mir denken, dass der 2. Wert die ID des Items ist und die 3. die Menge, aber was ist mit der ersten und funktioniert mein Script deshalb nicht?
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am Juni 27, 2008, 21:21:04 Nachmittag
Code: (text) [Auswählen]
  1. on:use {
  2.   if (playergotitem(820)>19) {
  3.        find 30;
  4.        freestored "unit",1,820,20;
  5.        }
  6. }

du musst nur die geschweiften Klammern etwas anders setzen  ;)
Alle Folgen einer Bedingung, wenn diese wahr ist, kommen zusammen in ein geschweiftes Klammernpaar.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 27, 2008, 21:50:04 Nachmittag
AArrrghh... Immer diese blöden Klammern xD
Danke, jetzt funzt der script :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 28, 2008, 09:22:13 Vormittag
So, ich wollte den Tauschscript bei ner Einheit einbauen, was nicht funktioniert.

Code: (text) [Auswählen]
  1. on:use {  
  2. add "Was kaufen halt!";
  3. msgbox "Halt was kaufen";
  4. button, "Ne...", "8" ,"exit";
  5. button, "Jo", "8" , "if (playergotitem(820)>19) {
  6.          find 30;
  7.          freestored "unit",1,820,20";
  8.          }
  9. else {msg "Du hast zuwenig Geld!"}
  10. }
  11.  

Es wird nur der 2. button angezeigt und funktionieren tut er auch nicht. Vielleicht liegts an den Anführungszeichen, die sind ziemlich verwirrend...
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juni 28, 2008, 13:42:34 Nachmittag
Code: (text) [Auswählen]
  1. on:use {
  2.     $money="Du hast zuwenig Geld!";
  3.     add "Was kaufen halt!";
  4.     msgbox "Halt was kaufen";
  5.     button 0,"Ne...", 8 ,"closemenu;";
  6.     button 1,"Jo", 8 , "
  7.         if (playergotitem(820)>19) {
  8.            find 30;
  9.            freestored 2,1,820,20;
  10.          }else {
  11.            msg $money;
  12.          }";
  13. }

1. zahlen nie in ""
2. nach dem befehl selbst kein komma, nur zwischen den parametern
3. auf semikolon ( ; ) achten
4. wenn du " " in " " schreibst, kommt s2 damit nicht klar (daher auch "unit" durch 2 ersetzt)
5. [s2s:wisa21v9]exit[/s2s:wisa21v9] ist was ganz anderes (so weit bist du noch nicht ;) ), um eine msgbox oder i-ein menü zu schließen: [s2s:wisa21v9]closemenu[/s2s:wisa21v9]
6. [s2s:wisa21v9]button[/s2s:wisa21v9] benötigt den parameter ID, achte bitte auf die Befehlsreferenz (http://http://stranded.unrealsoftware.de/s2_commands.php)
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am Juni 28, 2008, 14:17:37 Nachmittag
Ich hab das Script mal getestet, dort kommen auch immer wieder Fehlermeldungen die man nicht wegbekommt. Vorallem mit dem msg $money gibts Probleme, weil die Variable Leerzeichen enthält. Ich schlag vor du benutzt statt msgbox den dialogue Befehl, dort kann man in ganze Seiten uneingeschränkt Scripts einfügen:
Code: (text) [Auswählen]
  1. page=kaufen
  2. title=Halt was kaufen
  3. text=start
  4. Was kaufen halt.
  5. text=end
  6. button=kaufen2,Ja
  7. button=action:close,Nee...
  8.  
  9. page=kaufen2
  10. title=Halt was kaufen
  11. script=start
  12. if(playergotitem(820)>19) {
  13.         find 30;
  14.         freestored "unit",1,820,20;
  15.     } else {
  16.         msg "Du hast nicht genug Geld";
  17.     }
  18.     closemenu;
  19. script=end
  20.  
Das obige Script kopierst du einfach in einen Textcontainer.
Die zweite Seite ist nur zur Scriptausführung da, sie wird sofort geschlossen bevor man sie sehen kann.
Und der Handelseinheit gibst du diesen kurzen Code:
Code: (text) [Auswählen]
  1. on:use {
  2. dialogue "kaufen",TEXTCONTAINER-ID;
  3. }
Und merke dir bananes Hinweise ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 28, 2008, 15:36:06 Nachmittag
DANKE!!! Wow, jetzt funktionierts! Danke Banane für die Tipps und dragoana für den funktionierenden Script. Ich hab bei Bananes Script mal das mit dem $money rausgelöscht, dann krieg ich keine Fehlermeldung die nicht weggeht.
Ich werd jetzt dann mal anfangen eine Map zu machen(mit ein paar scripts, hehe ^o) )
Also, nochmals danke, Leute!
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Juli 09, 2008, 17:40:48 Nachmittag
Ich bezweifle dass das möglich ist, aber könnte man IRGENDWIE die Items im Rucksack sortierbar machen? Die werden so schnell unübersichtlich... Und falls es für den Otto-Normal-Zocker verständlich ist, könntet ihrs gleich hier reinschreiben?
Dann könnte man es auch gleich selber einbauen... ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Juli 10, 2008, 19:14:13 Nachmittag
Zitat von: "MrMatthew"
Ich bezweifle dass das möglich ist, aber könnte man IRGENDWIE die Items im Rucksack sortierbar machen? Die werden so schnell unübersichtlich... Und falls es für den Otto-Normal-Zocker verständlich ist, könntet ihrs gleich hier reinschreiben?
Dann könnte man es auch gleich selber einbauen... ;)
Nein, nicht wirklich... Allerdings: Da Items in der Reihenfolge sortiert werden, wie man sie aufsammelt, könntest du sie alle ablegen und dann in gewünschter Reihenfolge einsammeln.
Titel: Re: Fragen zum Scripting
Beitrag von: gestranded am Juli 11, 2008, 14:44:16 Nachmittag
Naja mal so ne frage
geht über den Tagebucheintrag
wenn ich den angeb und dann z.B. ein schild benutz sodass der Tagebucheintrag kommt kommter ja auch
aber wenn ich das schild dann nochmal benutz kommt ein zweiter tagebuch eintrag mit selben inhalt und selben titel!
Was muss ich machen sodass dies nicht passiert?

so frage Nr. 2!
Ich habe mal versucht das so zu machen das wenn ich in ein trigger gebiet laufe das ein diary eintrag kommt.
Code: (text) [Auswählen]
  1. on:trigger {
  2.    diary "Ein Palisadenturm!","meine textdatei";
  3. }
Wenn ich das mache taucht der Tagebuch eintrag ständig auf wenn darin steh
wie mach ich das das nur einmal kommt?

Danke im voraus!!
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am Juli 11, 2008, 18:18:55 Nachmittag
Frage 1: Speichere in einer lokalen Variable ob der Tagebucheintrag schonmal geschrieben wurde:
Code: (text) [Auswählen]
  1. on:use {
  2.    local $d;
  3.    if($d==0)
  4.    {
  5.       diary "....";
  6.      $d=1;
  7.    }
  8. }
Frage 2: Lösche den Trigger einfach nachdem er ausgelöst wurde, oder beende ihn mit [s2s:m675z859]stoptrigger[/s2s:m675z859]
Code: (text) [Auswählen]
  1. on:trigger {
  2.    diary "Ein Palisadenturm!","meine textdatei";
  3.    free "self";
  4. }
Titel: Re: Fragen zum Scripting
Beitrag von: gestranded am Juli 12, 2008, 10:09:42 Vormittag
Hurra hat gefuntzt!!
Danke! :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: mww am Juli 26, 2008, 11:49:14 Vormittag
Hallo.

Wie kann man es scripten, dass man stirbt sobald man ins Wasser steigt? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juli 26, 2008, 12:09:23 Nachmittag
Code: (text) [Auswählen]
  1. on:start {
  2.   timer 0,1000,0,"drown";
  3. }
  4. on:drown {
  5.   if (gety("unit",1)<0) {
  6.     kill 1;
  7.   }
  8. }
ins globale script.

es wird so jede sekunde geprüft, ob der spieler im wasser (unter 0m NN) ist. falls er dort ist, stirbt er. das script ist relativ rechenintensiv und daher nicht so toll für größere maps geeignet, aber z.b. auf meiner quizmap (die irgendwo noch rumgeistern müsste) habe ich ein ähnliches, etwas komplizierteres script und alles läuft einwandfrei.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 27, 2008, 10:18:21 Vormittag
ich hätte da auch eine frage  wie kann man machen das es nach 3-5 tagen eine andere map ladet }:?
ich möchte drum so eine insel machen bei der es hochwasser gibt :mrgreen:
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juli 27, 2008, 10:50:43 Vormittag
Code: (text) [Auswählen]
  1. on:changeday {
  2. if (day()==$foobar) {
  3. loadmap "map02.s2";
  4. }
  5. }
für $foobar einfach die 3 bzw 5 einsetzen oder bei on:start mit random(3,5); zufällig festlegen
warum das so funzt muss ich wahrscheinlich nicht erklären, oder?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Juli 31, 2008, 20:12:50 Nachmittag
Zitat von: "_NAME_"
Ne andere Frage; ich wollte einen Tausch machen:

Code: (text) [Auswählen]
  1. on:use {
  2.   if (playergotitem(820)>19)
  3.      {find 30;}
  4.      {freestored "unit",1,820,20;}
  5. }
  6.  

es funktioniert, dass ich den Gegenstand nur kriege, wenn ich 20 Münzen hab, aber die Münzen verschwinden nicht.
Ich hab mir den Script ungefähr von einem früheren Foreneintrag abgeschaut, wo fleisch gegen einen Beutel getauscht wurde; da hiess es nach freestored
1,6,1
Ich kann mir denken, dass der 2. Wert die ID des Items ist und die 3. die Menge, aber was ist mit der ersten und funktioniert mein Script deshalb nicht?

@_NAME_: So häts ichs vor nen Tag auf noch gemacht (der [s2s:1g54lg93]freestored[/s2s:1g54lg93]-Befehl hat bei mir viele Fehler verursacht). Versuchs mal mit  [s2s:1g54lg93]alteritem[/s2s:1g54lg93] geht schneller u. leichter. ^^u

Hier noch ne Frage: Man könnte doch das ganze Tarria sampt objecten... unnter null setzen für Hochwasser. Wie geht das? Währe interessant für meine maps ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: banane am Juli 31, 2008, 20:36:36 Nachmittag
geht leider nicht (bzw nur sehr bedingt). es gibt keinen befehl, um große flächen terrain zu verändern. du müsstest also praktisch jeden quadratmeter mit [s2s:3o34ezut]loop[/s2s:3o34ezut] durchgehen und dann dort das terrain verändern. das wäre aber ziemlich rechenaufwendig und würde so lange dauern, dass der spieler meint, s2 wäre abgestürzt.
versuch lieber, die gleiche map einmal normal und einmal unter wasser zu machen. dann kannst du mit [s2s:3o34ezut]loadmap[/s2s:3o34ezut] wechseln, zumal bei hochwasser eh alles weggespült wird...
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Juli 31, 2008, 21:40:32 Nachmittag
Wie könnte ich das terria ändern
und wie die objecte
Den rest könnte ich selbst machen ich habe nähmlich die code vergessen
Danke im Vorraus

EDIT:
Noch ne frage:
bei den folgenden Code klapt das mit dem licht nicht so:
Code: (text) [Auswählen]
  1. on:impact {
  2.  
  3. local $uset, $imc, $imi;
  4. $imc=impact_class();
  5. $imi=impact_id();
  6.  
  7.   addstate "$imc",$imi,24;
  8.    statesize "$imc",$imi,24,200;
  9.    statevalue "$imc",$imi,24,20;
  10. timer "self", 3000,1,"lol";
  11.        
  12.     }
  13.  
  14. on:lol {
  15.  
  16. explosion impact_x(),impact_y(),impact_z(),20,500;
  17. freestate "$imc",$imi,24;
  18.  
  19.  }
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am August 01, 2008, 14:34:14 Nachmittag
terria ändern? objecte ändern? }:?
Wenn du Terrain meinst: die Höhe einer bestimmten Position auf dem Boden kannst mit [s2s:21gqarlk]terrain[/s2s:21gqarlk] ändern.

Bei deinem Code musst du bei allen "$imc" die Anführungszeichen entfernen. impact_class gibt eine Zahl zurück, dann braucht man für die Variable keine Anführungszeichen.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am August 01, 2008, 14:58:01 Nachmittag
und mit welchen befehlen kann ich die höhe der objecte verändern? }:?

EDIT:

@dragoana: klapt immer noch nicht.
Noch eine Frage:
Der code soll bestimmen wie viele Pferde es gibt und erst dann die Tür schließen wenn alle drin sind.-> Klapt aber nicht

Code: (text) [Auswählen]
  1. on:trigger {
  2. if (count_inrange "unit",113,100;==count "unit",113) {
  3. event "toggle","object",5;
  4. }
  5. }
  6.  

EDIT im EDIT: hat sich gelöst zu alte stranddedII version :arrow: ich habe gerade die neue version heruntergeladen un die sagt mir das der begriff terrain_color_normal falsch ist oder so. Was soll ich tun? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Don Philippe am August 03, 2008, 17:57:25 Nachmittag
Wie kann ich den PS so aendern dass er mir auf die HOHEN Bodenplatten auch automatisch ein Raster von Waenden setzt? Ich moechte naehmlich eine 2. Etage bauen.
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am August 03, 2008, 21:19:55 Nachmittag
Zitat von: "Don Philippe"
Wie kann ich den PS so aendern dass er mir auf die HOHEN Bodenplatten auch automatisch ein Raster von Waenden setzt? Ich moechte naehmlich eine 2. Etage bauen.
Hm...

Code: (text) [Auswählen]
  1. loop("objects",922) {
  2.   $id=loop_id();
  3.   $x=getx("obje[quote][/quote]ct",$id);
  4.   $z=getz("object",$id);
  5.   $x+=40;
  6.   $id=create("object",900,$x,$z);
  7.   $y=(gety("object",$id)+60);
  8.   setpos "object",$id,"self",$y,"self";
  9. }
  10.  
  11. loop("objects",922) {
  12.   $id=loop_id();
  13.   $x=getx("object",$id);
  14.   $z=getz("object",$id);
  15.   $z+=40;
  16.   $id=create("object",900,$x,$z);
  17.   setrot "object",$id,"self",(getyaw("object",$id)+90),"self";
  18.   $y=(gety("object",$id)+60);
  19.   setpos "object",$id,"self",$y,"self";
sollte funzen.
Titel: Re: Fragen zum Scripting
Beitrag von: Don Philippe am August 03, 2008, 23:01:10 Nachmittag
Alles klar, dankeschoen. :)
Dieses Bausystem ist echt genial!
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am August 05, 2008, 17:29:29 Nachmittag
Hat sich alles gelöst xD  ,,, =/  ,,, ^^u
Außer der ersten frage u. dem ersten Code u.
Wie benitze ich einen normahlen gebittrigger wo man nuhr die radius angabe machen kann?
Titel: Re: Fragen zum Scripting
Beitrag von: Jemand am August 05, 2008, 17:44:15 Nachmittag
Mit solchen Gebite-Triggers kannst du Gebiete festlegen und dann mit der Abfrage inarea "Klasse", ID kannst du nachprüfen, ob das Objekt "Klasse" (zb "item") mit der ID (zB 12) in dem jeweiligem Gebiet ist.

inarea "Klasse", ID

ein Beispiel (Muss man glaub ich in dem entsprechendem Gebites-Trigger ausführen...)

Code: (text) [Auswählen]
  1. on:start
  2. {
  3. timer "self",1000;
  4. }
  5.  
  6. on:timer
  7. {
  8. if(inarea("unit",1))
  9.       {
  10.       kill 1;
  11.       }
  12. }
  13.  


Dieser Code prüft mit timer jede Sekunde (1000 Millisekunden) nach, ob der Spieler im Gebiet ist. Dann tötet er den Spieler.
(Die Leerstellen nach if(...) habe ich für mich persönlich gemacht damit ich net den Überblick verliere)
Muss man glaub ich in dem entsprechendem Gebites-Trigger ausführen...

Hoffentlich hab ich kein Fehler getippt ^^' Passiert mir öfters.... :oops:
Und Hoffentlich konnte ich damit auch helfen ^^

Jemand
Titel: Re: Fragen zum Scripting
Beitrag von: banane am August 07, 2008, 18:35:04 Nachmittag
für den gebiettrigger ist das unnötig. der überprüft von selbst, wann etwas in reichweite ist (on:trigger  {kill 1;} )

ich glaube robo meinte aber das info "gebiet" bzw "ki-gebiet" o.ä. . da kann man natürlich mit inarea arbeiten.
Titel: Re: Fragen zum Heißluftbalon
Beitrag von: Robo01 am August 09, 2008, 18:13:06 Nachmittag
Tach alle zusammen,

mal ne frage:
Wenn ich mich nicht irre steht der Heißluftbalon unter ständigen [s2s:aoco03x8]freeze[/s2s:aoco03x8] befel und wird mit septon hoch und runter gebracht oder?- Ich will nähmlich sowar mal selber ausprobieren!
Danke im vorraus! ^o)
Titel: Re: Fragen zum Scripting
Beitrag von: banane am August 09, 2008, 22:05:35 Nachmittag
ich find nix von freeze... da guck:

aus der units_ext.inf:
Code: (text) [Auswählen]
  1. id=101
  2. name=Fesselballon
  3. icon=gfxexticonsballoon.bmp
  4. group=vehicle,ext,bizzl
  5. model=gfxextballoon.b3d
  6. health=50
  7. colxr=40
  8. colyr=10
  9. scale=10
  10. behaviour=vehicle
  11. mat=wood
  12. maxdepth=100
  13. rideoffset=50
  14. var=owner,Besitzer,1,0
  15. var=sinkspeed,Sinkgeschwindigkeit (/10),1,0
  16. script=start
  17. on:use { if ($owner==1) { ride; } }
  18. on:kill {
  19.     explosion getx("unit",$me),gety("unit",$me),getz("unit",$me);
  20.     free "self";
  21.     freevar $me;
  22.     freevar $height;
  23.     freevar $dofly;
  24. }
  25. on:start {
  26.     local $height, $me, $dofly, $danger, $interval;
  27.     $height=gety("self");
  28.     $me=currentid();
  29.     $dofly=1;
  30.     $danger=0;
  31.     $interval=75;
  32.     timer "self",1,0,"setheight";
  33. }
  34. on:create { event "start"; }
  35.  
  36. on:setheight {
  37.     $me=currentid();
  38.     local $check;
  39.     $check=exists("unit",$me); $check=$check*$dofly;
  40.     if ($check==0) { freevar $check; skip; }
  41.     freevar $check;
  42.    
  43.     local $x,$y,$z;
  44.     $x=getx("self");
  45.     $z=getz("self");
  46.     $y=terrainy($x,$z);
  47.     if ($y<0) { $y=0; }
  48.    
  49.     if ($height<$y) {
  50.         $height=$y;
  51.     } elseif ($height==$y) { }
  52.     else {
  53.         $height-=$sinkspeed/10.0;
  54.     }
  55.    
  56.     setpos "self","self",$height+1,"self";
  57.    
  58.     freevar $x; freevar $z;
  59.    
  60.     if (riding()!=$me) { freevar $y; skip; }
  61.    
  62.     if ($key00down==1) { $height++; }
  63.     if (($key01down==1) && ($height>$y+15)) { $height--; }
  64.    
  65.     freevar $y;
  66.    
  67.     if ($danger<0) { skip; }
  68.     if ($height<751) { $danger=0; skip; }
  69.    
  70.     if ($danger==0) {
  71.         if (lives("unit",1)==1) { play "gasp.wav"; }
  72.         $danger=1;
  73.     } else { $danger++; }
  74.    
  75.     if ($danger>=$interval) { $danger=0; }
  76.    
  77.     echo "$danger";
  78.    
  79.     if ($height>1500) {
  80.         if (lives("unit",1)==1) {
  81.             if ($danger==0) { damage "unit",1,10; }
  82.         }
  83.     }
  84.     if ($height>750) { $interval=75; }
  85.     if ($height>1000) { $interval=50; }
  86.     if ($height>1250) { $interval=25; }
  87.    
  88. }
  89.  
  90. on:godown { $height--; }
  91.  
  92. on:goup { $height++; }
  93.  
  94. on:stopfly { $dofly=0; }
  95.  
  96. on:startfly {
  97.     $height=gety("self");
  98.     $dofly=1;
  99. }
  100. script=end
  101.  
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am August 10, 2008, 08:50:18 Vormittag
Welcher teich sorgt denn jetzt dafür dass er auf der stelle bleibt?
Ich blik da einfach nicht durch! :()
Titel: Re: Fragen zum Scripting
Beitrag von: banane am August 10, 2008, 09:46:56 Vormittag
er bleibt gar nicht auf der stelle :P
das script im überblick:

Code: (text) [Auswählen]
  1. on:kill { /*effekte beim zerstören*/ }
  2. on:start { /*setzung von berechnungsvariablen (fliegt der ballon? wie schnell sinkt er? ...) */
  3.   timer: jede millisekunde wird "setheight" ausgelöst
  4. }
  5. on:create { /* "start" wird ausgelöst, um die variablen zu erstellen*/}
  6. on:setheight { /* berechnung von schaden, höhe etc */
  7.   setpos "self","self",$height+1,"self"; //Setzung des Ballons auf eine bestimmte Höhe. das passiert ja jede millisekunde, deswegen erzeugt es die illusion als würde der ballon stillstehen
  8. }
  9. on:godown,goup, startfly, stopfly { /* scriptkeygesteuerte variablenänderungen */ }

ich hab alles "unwichtige" weggelassen, damit du einen einblick in die essenz des scriptes bekommst ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am August 11, 2008, 18:50:25 Nachmittag
Danke noch mal-> Dass ist das erste mal das ich den Code kapiere :wink:

Und weil es so schön ist gleich noch eine Frage:

Code: (text) [Auswählen]
  1. on:start {
  2. $newraptor==count ("unit",2);
  3. }
  4.  
  5. on:trigger {
  6. if ($1==0) {
  7. $newraptor--;
  8. $1++;
  9. }
  10.  
  11. if (count ("unit",2)==$newraptor) {
  12. $Anzahl++;
  13. $newraptor--;
  14. msg "Du hast $Anzahl Raptoren getötet";
  15. }
  16.  
  17. if ($Anzahl==10) {
  18. event "quit","object",2;
  19. }
  20.  
  21. }
  22.  
  23. on:changeday {
  24. $newraptor==count "unit",2;
  25. $1--;
  26. }
  27.  

Was mache ich falsch?
Titel: Re: Fragen zum Scripting
Beitrag von: banane am August 11, 2008, 20:54:36 Nachmittag
1. für zuweisungen ein einfaches = :
on:start {
    $newraptor=count ("unit",2);
 }
(so auch bei on:changeday)

2. afaik dürfen variablennamen nicht mit zahlen anfangen, mach also statt $1 lieber $foobar, $tmp,  $stuff oder so ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am August 12, 2008, 17:33:12 Nachmittag
Danke!
Das mit den "$XY==" war ein blöder fehler von mir :@  ist mir wol durch die Lappen gegangen :shock:
Titel: Re: Fragen zum Scripting
Beitrag von: mww am August 21, 2008, 19:13:31 Nachmittag
Code: (text) [Auswählen]
  1. on:start {
  2. $tower=1;
  3. }
  4.  
  5. on:use {
  6. if ($tower=1)
  7. {setat "unit", 1, "info", 1;
  8. $tower=2;}
  9. else {setat "unit", 1, "info", 2;
  10. $tower=1;}
  11. }
  12.  

Script um den großen Leuchtturm zu besteigen.
Man kriegt aber beim Abstieg Fallschaden.
Titel: Re: Fragen zum Scripting
Beitrag von: banane am August 24, 2008, 11:24:35 Vormittag
freetimers 0,"falling";
...
$s2g_falldamage=1;
event "set falldamage",0,0;

Für die befehle in "..." müsste der fallschaden aus sein und danach wieder an gehen. allerdings kann ich nix garantieren da ich es nicht getestet habe...
ACHTUNG: das script schmeißt den fallschaden auf jeden fall an, egal ob er vorher an oder aus war!
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am August 31, 2008, 16:32:19 Nachmittag
Wie kann man einstellen, das z.B. eine Variable 0 zu 1 wird wenn man mit nem Pfeil eine Zielscheibe trifft?

Code: (text) [Auswählen]
  1. on:hit {
  2.    $variable==1;
  3. }

Der Code wird ja immer ausgeführt, wenn sie von irgendwas getroffen wird!
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am September 07, 2008, 11:23:34 Vormittag
War das ne aussage? Und wenn nicht wodrauf willst du hinaus?
Wenn du willst dass sie jeder mal mehr wird dann schreibe doch:

on:hit {
$variable++;
}

So wird sie immer mehr!
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am September 07, 2008, 13:03:45 Nachmittag
Ich meinte, dass es nur mehr wird wenn man mit einem Pfeil drauf schießt!
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am September 07, 2008, 18:02:46 Nachmittag
Ach sooooo!
Versuchs mal mit [s2s:21ydkgrk]def_extend[/s2s:21ydkgrk] "item", 53, "Qelle" und dann:
on:impact {
if ((impact_class() == object) && (impact_id() == 192)) {
$variable++;
msg $variable;
}
}
Titel: Re: Fragen zum Scripting
Beitrag von: thehintsch am Oktober 02, 2008, 12:33:24 Nachmittag
Ich bastle gerade ein Script für Zufallskarten, der eine gewisse Story und Ereignisse zu einer Zufallskarte hinzufügt. Der Script an sich funktioniert ganz gut, muss nur noch etwas ausbalanciert werden.
Jetzt die eigentliche Frage:
Bevor man eine Zufallskarte beginnt kann man ja das Terrain auswählen :Gebirge, Sumpf, Normal, Hügelig... und anschließend den Spieltyp: Endlosspiel...
Mein Script ist für den Spieltyp. Es wäre jedoch von Vorteil, wenn ich eine neue Klasse von Terrain zur Verfügung hätte, bei der die Landschaft etwas abwechslungsreicher ist. Ich habe mir etwas in der Art vorgestellt, dass die Insel zwar zu großen Teilen wie das "Normale" Terrain sein sollte, aber zwischendurch auch höhere stellen wie in "Gebirge" vorkommen sollten. Wie kann ich solche Vorgaben für eine Zufallskarte erstellen? Bzw. wo finde ich denn die Scripts, die die Eingebauten Terrains enthalten, damit ich da spicken und rumprobieren könnte?
Wenn es solche Scripts nicht gibt, sondern in den Programmcode eingebaut sind, kann ich dann die Generierung des Terrains auch im Zufallskarten-Script schreiben? (so von wegen "erhöhe x,y blabla" wie beim schaufeln).

EDIT:
sodele, hab zumindest was gefunden und ausprobiert was funktioniert. der Vollständigkeit halber die Lösung des Problems:
Terrain erhöhe, absenken mit terrain X,Z,Modus, h
anschließend neu einfärben mit terraintexture generate,1;
und: höhenpunkte der karte liegen 50 koordinatenpunkte voneinander entfernt, beim graben entspricht die änderung der höhe einem parameter h=-0.25 (Modus: 2)

... falls jemand das gleiche Problem hat.
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Oktober 04, 2008, 17:04:14 Nachmittag
Zitat von: "thehintsch"
Wie kann ich solche Vorgaben für eine Zufallskarte erstellen? Bzw. wo finde ich denn die Scripts, die die Eingebauten Terrains enthalten, damit ich da spicken und rumprobieren könnte?
Soweit ich weiß, geht das nicht... :(

Zitat von: "thehintsch"
Wenn es solche Scripts nicht gibt, sondern in den Programmcode eingebaut sind, kann ich dann die Generierung des Terrains auch im Zufallskarten-Script schreiben? (so von wegen "erhöhe x,y blabla" wie beim schaufeln).
Geht auch nicht...  :(

Zitat von: "thehintsch"
sodele, hab zumindest was gefunden und ausprobiert was funktioniert. der Vollständigkeit halber die Lösung des Problems:
Terrain erhöhe, absenken mit terrain X,Z,Modus, h
anschließend neu einfärben mit terraintexture generate,1;
und: höhenpunkte der karte liegen 50 koordinatenpunkte voneinander entfernt, beim graben entspricht die änderung der höhe einem parameter h=-0.25 (Modus: 2)

... falls jemand das gleiche Problem hat.[/i]
Ja, hier! :yes:

Hatte mir dazu auch schon einige Gedanken gemacht und bin zu dem Ergebnis gekommen, dass solche "Zufallslandschaften" nur sehr schwer zu realisieren sein dürften...
Am einfachsten wäre es wohl, wenn man (intern) eine zufällige Heightmap generiert und diese importiert (was aber nicht geht). Wenn man jeden Terrainpunkt separat behandelt, wirds ziemlich schnell recht kompliziert... o_O

PS: Geiler Avatar... (kenne dat video) :mrgreen:
Titel: Re: Fragen zum Scripting
Beitrag von: thehintsch am Oktober 04, 2008, 23:58:53 Nachmittag
Zitat von: "Mc Leaf"
Zitat von: "thehintsch"
sodele, hab zumindest was gefunden und ausprobiert was funktioniert. der Vollständigkeit halber die Lösung des Problems:
Terrain erhöhe, absenken mit terrain X,Z,Modus, h
anschließend neu einfärben mit terraintexture generate,1;
und: höhenpunkte der karte liegen 50 koordinatenpunkte voneinander entfernt, beim graben entspricht die änderung der höhe einem parameter h=-0.25 (Modus: 2)

... falls jemand das gleiche Problem hat.[/i]
Ja, hier! :yes:

Hatte mir dazu auch schon einige Gedanken gemacht und bin zu dem Ergebnis gekommen, dass solche "Zufallslandschaften" nur sehr schwer zu realisieren sein dürften...
Am einfachsten wäre es wohl, wenn man (intern) eine zufällige Heightmap generiert und diese importiert (was aber nicht geht). Wenn man jeden Terrainpunkt separat behandelt, wirds ziemlich schnell recht kompliziert... o_O

PS: Geiler Avatar... (kenne dat video) :mrgreen:

ja da hast recht, ich hab jetzt aber ein paar scripts gezaubert, die an einem zufälligen punkt auf der insel ein kleines zufallsgeneriertes gebirge oder eine senke erstellt und anschließend die textur passend berechnet. da dies jedoch NACH der generierung der map geschiet, sind natürlich bäume etc im boden versunken oder hängen in der luft, was aber nachdem man speichert und das spiel lädt ja wieder in ordnung ist. die senken sehen ganz cool aus. die gebirge sind manchmal etwas spitz - leider, gelegentlich sehen die aber auch cool aus. wobei... eigentlich siehts auch nicht viel schlimmer aus wie die von stranded generierten gebirgslandschaften ^^
 mein hauptproblem ist dass anscheinend nur ganzzahlige zahlenwerte für die erhöhung/absenkung des terrains funktionieren. wenn ich z.b. random(20,100) mach und diese zahl durch 100 teile wird immer auf 0 abgerundet  ¬¬ .

und was halt auch etwas blöd ist: dass man keine schleifen verschachteln kann, dann wäre der script nämlich nur wenige zeilen lang und auf beliebige größen erweiterbar ;)

wenn du ein ähnliches problem hast, hänge ich mal mein scriptchen an. zumindest sieht man daran wies prinzipiell möglich ist ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Oktober 05, 2008, 22:07:30 Nachmittag
wie macht man aus einem lamen löwen ein rieiges 200 km schneles raubtier mit so viel trefferpunkte das man es ohne umschfeife unbesiebar nennen kann?
Titel: Re: Fragen zum Scripting
Beitrag von: freshd94 am Oktober 05, 2008, 22:11:20 Nachmittag
ich wag mal zu behaupten ja, ja das müsste machbar sein
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Oktober 06, 2008, 22:18:08 Nachmittag
Ich hab ne karte zum thema Zelda vor deshalb hab ich n paar fragen
wie macht man einheiten größer stärker Schneller belastungsfähiger
und wie kann man pfeile steine oder feuerbälle von anderen einheiten abschießen
wie macht man Dialoge / msg / Tagebucheinträge
und Eine raptoren reiterei wobei bezahlung hypsioder Raptor vor die hütte gesetzt und dann in den gezähmtstatus bringt.
außerdem Quellen wo beim ersten trinken die Max gesundheit um 25 erhöht wird und danach  immer beim trinken wie ein heiltrank wirkt
und ein Sponsoren System wie man eine anzahl am bildranderscheinen lässt von kuppons  und bei jedem abgeben von beworbenen 20 einheiten seiner Ware geben
außerdem ein script was einem beim zerschlagen einer vase items gibt und beim öffnen truhen öffnet
und in die nähe von Lagerfeuern baumstämme spawmt zum heißen und zu guter letzt dass laden von maps bei benutzen von objekten ich weiß dass ist viel auf einmal doch ich würde das gerne wissen.
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Oktober 07, 2008, 09:54:35 Vormittag
Zu Dialogen/msg/Tagebucheinträgen lies dir das Tutorial auf http://http://stranded.unrealsoftware.de durch. Schneller werden von Units:
Code: (text) [Auswählen]
  1. on:wasweissich{
  2. addstate "self", "speedmod";
  3. }
Das mit Steinen abschießen usw weiß ich nicht.
Raptorenreiterei wird schwierig aber machbar:
Setz am besten noch 1 oder 2 wilde Raptoren für die Optik rein. Dann global folgendes Skript:
Code: (text) [Auswählen]
  1. on:start{
  2.    $raptorid=create ("unit", 106, PositionX, PositionZ);//<--Position im Gehege!! also z.B. 150,324 oder so.
  3. }
  4. on:moneygiven{
  5.    setpos "unit", $raptorid, getx("unit",1),gety("unit",1),getz("unit",1);
  6.    addstate "unit",$raptorid,18;
  7.    $raptorid=create ("unit", 106, PositionX, PositionZ);//auch wieder im Gehege.
  8. }
  9.  
Dann setzt du am besten beim Raptorenhändler deiner Wahl eine Kiste mit der ID $Kistenid und beim Händler selber folgendes Skript:
Code: (text) [Auswählen]
  1. on:use{
  2.    if (count_stored("object",$Kistenid,820)>=10){
  3.     event "moneygiven";
  4.     freestored "object",$Kistenid,820,10;
  5.    }
  6. }
  7.  
Das müsste ein parr Probs gelöst haben.
Mehr mach ich jetzt nicht, ich hab Ferien :wink:  :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Oktober 08, 2008, 04:02:29 Vormittag
Zitat von: "thehintsch"
ja da hast recht, ich hab jetzt aber ein paar scripts gezaubert, die an einem zufälligen punkt auf der insel ein kleines zufallsgeneriertes gebirge oder eine senke erstellt und anschließend die textur passend berechnet.
Das stelle ich mir recht schwierig vor... Ich meine, nehmen wir mal einen zweidimensionalen Querschnitt durch die Ebene und betrachten dann eine Funktion in einer Variablen x. Im günstigsten Fall ist das Terrain bereits glatt, also f(x)=0 auf dem ganzen Definitionsbereich. Das Erstellen eines "Berges" bspw. an der Stelle x=0 ließe sich dann über f(0)=1 realisieren. Die Stetigkeit selbst wird intern realisiert, wenn ich irgendwo das Terrain erhöhe, dann wird zwischen den entsprechenden Punkten in der "Terrainmatrix" interpoliert, so dass ein kontinuierlicher Übergang entsteht. Im einfachsten Fall wäre dann bspw. f(0.5)=f(-0.5)=0.5. Also so eine "Spitze". Nun wäre aber eine "Rundung" optimaler, was im zweidimensionalen Fall dann etwa wie eine Parabel aussieht. Hier ist etwas Anschauungsvermögen und Mathekenntnis gefragt, hoffe es ist aber trotzdem klar was ich meine.

Zitat von: "thehintsch"
da dies jedoch NACH der generierung der map geschiet, sind natürlich bäume etc im boden versunken oder hängen in der luft, was aber nachdem man speichert und das spiel lädt ja wieder in ordnung ist.
Speichere die Karte nach dem Spielstart ab (savemap) und lade sie sofort wieder (loadmap)... Skripttechnisch etwas komplizierter zu realisieren, aber möglich und löst das Problem.

Zitat von: "thehintsch"
die gebirge sind manchmal etwas spitz - leider, gelegentlich sehen die aber auch cool aus.
Ja, genau das meine ich.

Zitat von: "thehintsch"
wobei... eigentlich siehts auch nicht viel schlimmer aus wie die von stranded generierten gebirgslandschaften ^^
^^u

Zitat von: "thehintsch"
mein hauptproblem ist dass anscheinend nur ganzzahlige zahlenwerte für die erhöhung/absenkung des terrains funktionieren. wenn ich z.b. random(20,100) mach und diese zahl durch 100 teile wird immer auf 0 abgerundet  ¬¬ .
Hm... Bei der Division musst du evtl. eine andere Notation verwenden, also bspw. 100.0 statt 100. Lässt du den Dezimalpunkt weg, wird das intern als Ganzzahldivision interpretiert.

Zitat von: "thehintsch"
und was halt auch etwas blöd ist: dass man keine schleifen verschachteln kann, dann wäre der script nämlich nur wenige zeilen lang und auf beliebige größen erweiterbar ;)
Das ist sehr blöd, ja! Aber es gibt da auch so einige Möglichkeiten das irgendwie zu umgehen, bspw. per
Code: (text) [Auswählen]
  1. on:start {
  2.     local $x,$z;
  3.     event "inc_z";
  4. }
  5.  
  6. on:inc_z {
  7.     if ($z==100) { event "inc_x"; } else { $z++; }
  8.     msg "($x,$z)";
  9. }
  10.  
  11. on:inc_x {
  12.     if ($x<=100) { $z=0; $x++; event "inc_z"; }
  13. }
  14.  
sollte sich ein zweidimensionales Feld abdecken lassen. Skript ist ungetestet und müsste ggf. je nach Anwendungsbereich noch hier und da etwas modifizieren werden, aber prinzipiell geht es. ^o)

Zitat von: "thehintsch"
wenn du ein ähnliches problem hast, hänge ich mal mein scriptchen an. zumindest sieht man daran wies prinzipiell möglich ist ^^
Naja, ich habe solche Ideen mittlerweile als "zu aufwändig" verworfen... Aber ich finde es immer geil Sachen zu machen, die andere so gut wie für unmöglich halten. (ich musste neulich bspw. eine kleine Intervallschachtelung implementieren nur um den Winkel eines Objektes relativ zu einem anderen Objekt zu bestimmen, weil es so eine Funktion bei Stranded nicht gibt  :roll: )

Aber wenn du bspw. ein Skript hättest, welches auf einer glatten Ebene einen nahezu perfekt runden Hügel zaubert, wäre ich schon recht erstaunt und interessiert! Kannst das Skript ja trotzdem mal posten, vier Augen sehen ja immer mehr als zwei und neugierig bin ich sowieso immer. :wink:

EDIT: Oh... da ist es ja schon - als Dateianhang. Schaue ich mir zu Hause mal genauer an (kommt auf dem ersten Blick recht knapp daher).

Zitat von: "Quester"
Ich versuche schon seit längerem ein Script zu bauen, damit meine Info einer Unit folgt, und sogar sich auf der selben Position befindet.
Hat da Jemnad ne idee?
Warum dieses...? Vielleicht brauchst du diese umständliche Methode gar nicht... Aber ansonsten ginge das per Timer mit hoher Frequenz (10ms oder so). In etwa
Code: (text) [Auswählen]
  1. on:timer {
  2.     $x=getx("unit",UNIT-ID);
  3.     $x=getx("unit",UNIT-ID);
  4.     setpos "info",INFO-ID,$x,"self",$z;
  5. }
  6.  
recht kurz also. Ggf. kannst du noch ein, zwei Parameter zu "self" kürzen, aber das Prinzip sollte klar sein.

Zitat von: "Alexander_der_dritte"
wie macht man einheiten größer stärker Schneller belastungsfähiger
Per Skript.
Zitat von: "Alexander_der_dritte"
und wie kann man pfeile steine oder feuerbälle von anderen einheiten abschießen
Per Skript.
Zitat von: "Alexander_der_dritte"
wie macht man Dialoge / msg / Tagebucheinträge
Per Skript.
Zitat von: "Alexander_der_dritte"
und Eine raptoren reiterei wobei bezahlung hypsioder Raptor vor die hütte gesetzt und dann in den gezähmtstatus bringt.
Per Skript.
Zitat von: "Alexander_der_dritte"
außerdem Quellen wo beim ersten trinken die Max gesundheit um 25 erhöht wird und danach  immer beim trinken wie ein heiltrank wirkt
Per Skript.
Zitat von: "Alexander_der_dritte"
und ein Sponsoren System wie man eine anzahl am bildranderscheinen lässt von kuppons  und bei jedem abgeben von beworbenen 20 einheiten seiner Ware geben
Per Skript.
Zitat von: "Alexander_der_dritte"
außerdem ein script was einem beim zerschlagen einer vase items gibt und beim öffnen truhen öffnet
Per Skript.
Zitat von: "Alexander_der_dritte"
und in die nähe von Lagerfeuern baumstämme spawmt zum heißen und zu guter letzt dass laden von maps bei benutzen von objekten ich weiß dass ist viel auf einmal doch ich würde das gerne wissen.
Per Skript. =P

Jede Antwort auf diese Fragen würde mit Sicherheit ein paar Tage später weitere Fragen nach sich ziehen, warum dies und jenes auf einmal nicht funktioniert und so weiter... 8)
Das ist so als würdest du fragen wie man ein Haus, eine Mauer, einen Wolkenkratzer, eine Moschee, eine Brücke... baut. Ganz einfach: Man eignet sich die entsprechenden Kompetenzen an und lernt bspw. Ingenieurwesen. Für sowas gibt es nämlich genauso wenig Patentlösungen wie es vorgefertigte Skripte gibt. Da gibt es einen Haufen Fallunterscheidungen zu treffen und Parameter zu beachten die von Fall zu Fall stark variieren können und situationsbedingte Modifikationen erfordern. Die meisten hier geposteten Skripte können keine Fehlerfreiheit garantieren und stellen meist nur grobe Richtlinien/Umsetzungsideen dar. Am Ende kommen dann Sachen wie bei "nicht_mehr_Gast" oder mir heraus, wo ein Haufen Platzhalter, Kommentare und komische Funktionennamen drin sind. xD

Und wenn es wirklich wichtig ist, dann bringt man sich das lieber selbst halbwegs bei und fragt bei den wirklich schwierigen Sachen noch einmal nach. Tipp: Die Skripte im Abenteuer angucken und abkupfern. :yes:
Titel: Re: Fragen zum Scripting
Beitrag von: thehintsch am Oktober 08, 2008, 14:28:30 Nachmittag
ja das mit dem durch 100.0 teilen statt durch 100 kam mir dann auch... da hat man mal in seiner jugend angefangen mit delphi und kriegt das einfach nicht in seinen schädel, dass es in C dann eine integerdivision ist, statt gleitkomma...^^ mit gleitkommadivision siehts dann auch schon n stück besser aus...

das mit dem on:change_x usw klingt eigentlich ganz cool, dann müsste ich die zweite laufvariable nicht manuell eintippen. ich werd mich mal damit beschäftigen. dann wäre auch bestimmt ne interpolation mit drinne. man könnte ja dann im entsprechenden gebiet erst mal alles flach drücken, das gebirge dann entsprechend einer funktion bauen lassen und dann noch paar random-ecken dazufügen.

wenn mans genau nimmt, wäre ne gauss funktion besser geeignet als ne umgekehrte parabel :P ^^. wegen tangentialem abschluss zum ebenem boden statt schnittpunkte... aber das sind wohl details... ;)
--------------------------
was anderes: hab mir n script gebastelt das einen jahreszeitenwechseln einfügt. eigentlich macht es auch genau das was es soll: jahreszeiten wechseln, im winter gehen früchte und getreide kaputt. und palmen erleiden aufgrund des klimas schaden (wobei ich bei dem feature nicht sicher bin ob ichs drin lassen soll). das ganze passiert beim on:changeday

problem:
nach einigen jahreszeitenwechseln wird das script beim on:changeday plötzlich zwei mal aufgerufen! (in der konsole sichtbar) das hat zur folge dass natürlich auf einmal winter is und einem die ganzen früchte usw kaputt gehen. ausserdem gehen dann natürlich auch die palmen eher kaputt, weil sie ja jetzt 2 mal am tag schaden bekommen und der sommer (zur regeneration) ja auch viel kürzer ausfällt. wie kann das sein? vor allem dass es zu beginn eines spiels ja funktioniert und nur einmal aufgerufen wird...

anmerkung:
die zerstörung der früchte bzw. palmen ist für jeden objekt typ extra gelooped. ich hatte zuerst einen loop über alle objekte und dann den typ ermittelt, aber dadurch ging der tageswechseln doch etwas lange. deshalb aus performancegründen alles extra.
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Oktober 08, 2008, 20:17:36 Nachmittag
Zitat von: "Mc Leaf"
Hm... Bei der Division musst du evtl. eine andere Notation verwenden, also bspw. 100.0 statt 100. Lässt du den Dezimalpunkt weg, wird das intern als Ganzzahldivision interpretiert.
Äääh Division? Wie geht Division in Stranded scripts eigentlich? Im Tutorial von Unrealsoftware steht da nix davon  ^^u
Titel: Re: Fragen zum Scripting
Beitrag von: freshd94 am Oktober 08, 2008, 21:23:08 Nachmittag
wow s2ext+s2 seasons ^^

tolle idee
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Oktober 11, 2008, 13:32:08 Nachmittag
Dann unterscheide ich mal ein oder zwei scripts hab ich schon verstanden aber das mit Steinen Pfeilen will selbst nachdem ich nachgesehen hab http://stranded.unrealsoftware.de/s2_co ... st=objects (http://stranded.unrealsoftware.de/s2_commands.php?list=objects)
natürlich hab ich auch schon versucht zu scripten
¬¬ aber funkts nicht also
das ist ein NOTFALL
ich geb jetzt wegen den "ungenauigkeiten" und "unbestimtheiten" Alles zum fall an
Ich möchte nur ein Piratenschiff damit scripten indem ich XYZ bei projectile die position angebe (was ich nicht weiß wie)
dann stein verschießen per Id 23 dann ein bischen mit den parametern geschw., angriff und Drag rumspielen dann  mit 4 angeben das ich abgeschoßen werden soll und zu guter letzt beim abfeuern eine Msg Boom am rand erscheint und Explosionsgeräusche zu hören sind(das kreig ich glaube ich noch hin aberdann versage ich damit es in das schussscript richtig einzubinden.
Oh und bitte bis zum 12.10 antwoeten ab dann ist wieder schicht und mein Pc ist weg.
Dies soll weder drohung noch unterdrucksetzen sein nur muß ich nur um eure antwort zu lesen elendig lange warten. :cry_fox:
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Oktober 12, 2008, 15:51:29 Nachmittag
Bei welcher 4.?
oh und danke fürs verständnis hast recht ist kurz aber ich kann daran nichts ändern :cry_fox:
zurück zum thema von dem eigentlichen Abenteur oder was?
ich bin im Adventure noch nicht bei der vierten map.
also weiß ich nicht wo zu kupfern ist.
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Oktober 14, 2008, 07:00:13 Vormittag
Zitat von: "alexander_der_dritte"
Ich möchte nur ein Piratenschiff damit scripten indem ich XYZ bei projectile die position angebe (was ich nicht weiß wie)
Die Position des Piratenschiffes...? Kriegst du per
Code: (text) [Auswählen]
  1. $x=getx("self");
  2. $y=gety("self");
  3. $z=getz("self");
im Skript des Schiffes (beim entsprechenden Event... je nachdem).

Zitat von: "alexander_der_dritte"
dann stein verschießen per Id 23 dann ein bischen mit den parametern geschw., angriff und Drag rumspielen dann  mit 4 angeben das ich abgeschoßen werden soll und zu guter letzt beim abfeuern eine Msg Boom am rand erscheint und Explosionsgeräusche zu hören sind(das kreig ich glaube ich noch hin aberdann versage ich damit es in das schussscript richtig einzubinden.
Ich würde das zwar hinkriegen... aber beim entsprechenden Skript würde ich auch erst noch einmal mit den ganzen Parametern erstma herumexperimentieren müssen. :(
Wie Quester schon sagte... einfach die vierte (oder fünfte?) Karte des Abenteuers mal in den Editor laden. Bei den Bambustürmen müssten so ein paar Fähnchen (Infoobjekte) in der Nähe sein wo so ein beispielhaftes Skript drinsteht. Da mal gucken und ein bisschen experimentieren.

Zitat von: "alexander_der_dritte"
Oh und bitte bis zum 12.10 antwoeten ab dann ist wieder schicht und mein Pc ist weg.
Dies soll weder drohung noch unterdrucksetzen sein nur muß ich nur um eure antwort zu lesen elendig lange warten. :cry_fox:
Uff... bin relativ selten im Netz... *sry*

Zitat von: "MrMatthew"
Äääh Division? Wie geht Division in Stranded scripts eigentlich? Im Tutorial von Unrealsoftware steht da nix davon  ^^u
per "/", also bspw.
Code: (text) [Auswählen]
  1. $tmp=10/5; 

Zitat von: "thehintsch"
ja das mit dem durch 100.0 teilen statt durch 100 kam mir dann auch... da hat man mal in seiner jugend angefangen mit delphi und kriegt das einfach nicht in seinen schädel, dass es in C dann eine integerdivision ist, statt gleitkomma...^^ mit gleitkommadivision siehts dann auch schon n stück besser aus...
Unabhängig von der Notation ("100 oder 100.0") sollte eigentlich stets in float (fließkommazahl...) gerechnet werden. Normalerweise wird sowas ja bei der Deklaration von Variablen entschieden, bei Stranded (allgemein Skriptsprachen?) gibt es das nicht.

Zitat von: "thehintsch"
wenn mans genau nimmt, wäre ne gauss funktion besser geeignet als ne umgekehrte parabel :P ^^. wegen tangentialem abschluss zum ebenem boden statt schnittpunkte... aber das sind wohl details... ;)
Stimmt! Daran hatte ich gar nicht gedacht... :roll:

Zitat von: "thehintsch"
was anderes: hab mir n script gebastelt das einen jahreszeitenwechseln einfügt. eigentlich macht es auch genau das was es soll: jahreszeiten wechseln, im winter gehen früchte und getreide kaputt. und palmen erleiden aufgrund des klimas schaden (wobei ich bei dem feature nicht sicher bin ob ichs drin lassen soll). das ganze passiert beim on:changeday
Na... ich schaue es mir mal an (falls ich Zeit dafür finde :( ).

Zitat von: "thehintsch"
nach einigen jahreszeitenwechseln wird das script beim on:changeday plötzlich zwei mal aufgerufen! (in der konsole sichtbar) das hat zur folge dass natürlich auf einmal winter is und einem die ganzen früchte usw kaputt gehen. ausserdem gehen dann natürlich auch die palmen eher kaputt, weil sie ja jetzt 2 mal am tag schaden bekommen und der sommer (zur regeneration) ja auch viel kürzer ausfällt. wie kann das sein? vor allem dass es zu beginn eines spiels ja funktioniert und nur einmal aufgerufen wird...
Hm... Muss ich schauen.

Zitat von: "thehintsch"
die zerstörung der früchte bzw. palmen ist für jeden objekt typ extra gelooped. ich hatte zuerst einen loop über alle objekte und dann den typ ermittelt, aber dadurch ging der tageswechseln doch etwas lange. deshalb aus performancegründen alles extra.
Ja, solche Skripte können sich unter Umständen extrem auf die Performance ausüben... damit hatte ich auch schon recht oft Probleme (aktuell beim Terrainzeugs erst wieder, s.u.)

Ja, genau... Terrainzeugs... Cool, dass ich den Beitrag schon zu Hause geschrieben hatte und jetzt nur noch einfügen brauche... *zack* (nur noch kurz die Vorschaufunktion... ok)

So... ich habe mal das Problem mit dem Terrain etwas genauer unter die Lupe genommen. Dein Skript ist nebenbei eher ein 'Berggenerator für Arme'... Abgesehen von den falschen Kommentarzeichen ('\' statt '//'). Nix für ungut. ;)

Alles in allem ist es etwas schwieriger als hier anfangs dargestellt und man kommt um ein paar mathematische und numerische Grundlagen nicht drumherum. Mit etwas Gespür für Mathematik sollten aber die Grundkenntnisse aus der Schule zum Verständnis genügen.

Im Prinzip geht es darum, jeder x,z-Koordinate in der Terrainmatrix eine neue Höhe zuzuordnen. Nebenbei betragen die Abstände innerhalb der Terrainmatrix 64 und nicht 50. Etwas mathematischer und abstrakter formuliert ist also eine Funktion in zwei Variablen gesucht, welche eine zweidimensionale Fläche im dreidimensionalen Raum beschreibt und zwei Punkten eine Höhe zuordnet.

Zur Vereinfachung kann man erst einmal den eindimensionalen Fall betrachten. Bspw. beschreibt die Funktion f(x)=100-x^2 (eine an der x-Achse gespiegelte und um 100 Einheiten in y-Richtung verschobene Parabel) einen "Berg" im kartesischen Koordinatensystem.

Im zweidimensionalen Fall ist so eine Funktion ebenfalls leicht gefunden. Diese sollte außerdem noch zwei Anforderungen erfüllen: An den Randpunkten soll y=0 sein - der Rand unseres Berges. Und für x=z=0 nimmt sie gerade ihr Maximum an - die Spitze des Berges.
Offensichtlich wird das bspw. durch die Funktion f(x,z)=[r^2-(x^2+z^2)]*(y_max/r^2) realisiert, wie man leicht nachrechnet. Die Bedingung x^2+z^2=r^2 beschreibt anschaulich einen Kreis in der x-z-Ebene mit dem Radius r und für diesen Fall ist f(x,z)=0. Sind x=z=0 so nimmt f(x,z) gerade ihr Maximum bei y_max an.

Soweit zur Theorie. Auf mögliche Transformationen wie Strecken, Dehnen, Stauchen o.ä. will ich jetzt nicht weiter eingehen. Außerdem fehlt noch eine Zufallskomponente für die Variation, da so ein Berg ja nicht perfekt symmetrisch ist. Solche Spielereien kann man ggf. auch nachträglich noch einbauen.

Nun zu Implementierung. Wir kennen die Abstände in der Terrainmatrix, geben Höhe und Radius des Berges vor, und beschreiben ihn durch obige Funktion. Außerdem setzen wir zur Vereinfachung eine Ebene voraus, d.h. die Höhe der Karte sei überall gleich. Ebenso soll unser Berg erst einmal genau in der Mitte der Karte sitzen - die Translation kann man ebenfalls nachträglich noch einbauen.

Im Prinzip geht man nun alle Punkte in der Terrainmatrix durch und ändert entsprechend unserer Funktion dort die Höhe. Zwischen diesen Punkten wird bereits intern interpoliert, so dass wir uns darum nicht kümmern brauchen. Das Problem geschachtelter Schleifen wird einfach per Timer/Event umgangen und sollte auch kein Problem sein (ich habe mich erstmal für den Timer entschieden womit sich das "wachsen" des Berges beobachten lässt).

Außerdem wird hier teilweise mit recht hohen Zahlen operiert, weshalb man wegen evtl. auftretender Überlauf- oder Auslöschungsphänomenen wieder auf die Kondition der Funktion achten muss.

Folgendes Skript wäre ein guter Ansatz für eine Implementierung welcher allerdings hinsichtlich der obigen Probleme und Parameter auf jeden Fall noch optimiert werden müsste. Alles in allem ist die Laufzeit auch recht hoch, weshalb so ein Skript eher Spielerei und weniger für die Anwendung gedacht sein dürfte...

-> Editor -> leere Karte (64x64 oder so) -> komplett abflachen -> Info-Objekt mit folgendem Skript

Code: (text) [Auswählen]
  1. on:start {
  2.     event "init";
  3. }
  4.  
  5. on:init {
  6.     //Höhe des Berges (Vielfaches von 64...!)
  7.     $y_max=256.0;
  8.  
  9.     //Radius des Berges (Vielfaches von 64...!)
  10.     $radius=256.0;
  11.  
  12.     //Starte bei Koordinate... x,z -> -256
  13.     $x=-$radius;
  14.     $z=-$radius;
  15.  
  16.     //Schrittweite... cnt -> 8
  17.     $cnt=($radius/32);
  18.  
  19.     timer "self",500,$cnt,"loop_z";
  20.  
  21.     timer "self",(500*$cnt),1,"blubber";
  22. }
  23.  
  24. on:blubber {
  25.     terraintexture "generate";
  26. }
  27.  
  28. on:loop_z {
  29. //  $y_max=($radius*$radius);
  30.     $x=-$radius;
  31.     loop("count",$cnt) {
  32.         //unsere Funktion...
  33. //      $y=((($radius*$radius)-(($x*$x)+($z*$z)))*($y_max/($radius*$radius)));
  34.         //...besser konditioniert...!
  35.         $y=($y_max-(((($x*$x)+($z*$z))/$radius)*($y_max/$radius)));
  36.         //an terrain-fkt. anpassen...
  37.         $y=($y/32.0);
  38.         //Senkpunkte werden ignoriert...
  39.         if ((terrain($x,$z,0)-50)<=$y) { terrain $x,$z,2,$y; }
  40.         //paar Infos für die Konsolenausgabe...
  41.         $coord_x=terrain($x,$z,3);
  42.         $coord_z=terrain($x,$z,4);
  43.         echo "$x, $y, $z ($coord_x,$coord_z)";
  44.         //nächste x-Koordinate in der Terrainmatrix
  45.         $x+=64;
  46.     }
  47.     //nächste z-Koordinate in der Terrainmatrix
  48.     $z+=64;
  49. }
  50.  

Noch ein kleines Beispiel zum Problem der Kondition (F10->Execute Script->Copy'n'Paste->Ausführen)...

Code: (text) [Auswählen]
  1. $radius=1024.0;
  2. $x=0;
  3. $z=448;
  4. $y_max=512.0;
  5. $tmp1=((($radius*$radius)-(($x*$x)+($z*$z)))*($y_max/($radius*$radius)));
  6. $tmp2=($y_max-(((($x*$x)+($z*$z))*$y_max)/($radius*$radius)));
  7. $tmp3=($y_max-(((($x*$x)+($z*$z))/$radius)*($y_max/$radius)));
  8. msg "$tmp1 $tmp2 $tmp3";
  9.  

Die Funktionsgleichungen für $tmp1,$tmp2,$tmp3 sind alle die gleichen, nur etwas umgestellt. Intern unterscheidet sich lediglich die Reihenfolge der Rechenoperation was zu den angesprochenen Problemen (Überlauf, Auslöschung...) und im Endeffekt zu falschen Ergebnissen (und somit Fehler bei der Terraingenerierung) führen kann.

Außerdem hat da DC intern irgendwie noch etwas Unsinn verzapft (vermutlich um Fehler wie 'Division durch 0' etc. zu vermeiden). Siehe
Code: (text) [Auswählen]
  1. $tmp1=(500.0/1000000.0);
  2. $tmp2=(500.0/100000.0);
  3. msg "$tmp1 $tmp2";
  4.  
mit der Ausgabe "1.0 0.005"...

Nachtrag: Schaffe ich es noch meine Testkarte hochzuladen? Ja, das schaffe ich noch, moment... *swoosh*
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Oktober 15, 2008, 08:13:14 Vormittag
Zitat von: "Mc Leaf"
Zitat von: "MrMatthew"
Äääh Division? Wie geht Division in Stranded scripts eigentlich? Im Tutorial von Unrealsoftware steht da nix davon ^^u
per "/", also bspw.
Code: (text) [Auswählen]
  1. $tmp=10/5;
Ah, danke! Genau was mir gefehlt hat. Sehr nützlich der Thread. Verwendbar zu Klärung aller Fragen, für die DC keine Lust hat  :wink:
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Oktober 31, 2008, 20:50:35 Nachmittag
ihr könnt mich gern beschümfen für die dümste frage der welt aber ich hab vergesen wie das mit den tagebucheinträgen geht und würde das gerne wissen wenn sich jemand auf das nivo runterlässt und mir antwortet ^^u
Titel: Re: Fragen zum Scripting
Beitrag von: thehintsch am November 07, 2008, 16:33:01 Nachmittag
so, endlich mal wieder bissle zeit um im forum zu schauen...

jaja das mein script ein berg für arme war war mir klar  ;)
das mit den 50 einheiten abstand pro terrainpunkt hab ich halt getestet und geschätzt ^^. 64 is auch logischer, jetzt wo ich weiss das karten die größe von zweierpotenzen haben. hab nämlich mein berg script schon ähnlich verbessert wie deines, mich aber gewundert warum der berg trotzdem noch etwas komisch aussieht obwohl die funktionswerte, die ich in der konsole ausgegeben habe passen. wahrscheinlich lags an den 50 statt 64er schrittweite.
EDIT:
bei näherer betrachtung ist mein script sogar beinahe identisch. statt eines timers lasse ich stattdessen die loop schleife öfter durchlaufen. wenn mein berg
z.b. 7*64 punkte in der länge umfassen soll, lass ich die schleife 7*7 mal durchlaufen x wird z.b. fest gehalten und z 7 mal durchlaufen, dann z wieder auf den
anfangswert gesetzt und x um 64 erhöht usw. also:
x startet bei -3 , z läuft dann von -3 bis +3 (vielfache von 64)
 bei erreichen von z =  +3 wird nach durchlaufen z auf -3 zurückgesetzt und x um eins erhöht usw.

ja, die grundfläche müsste n kreis sein, aber ich denk so isses leichter in stranded zu programmieren und letztendlich sieht man den unterschied eh nicht sooo dolle.

damit brauch ich eben keinen timer und läuft eig. recht flott... werd mal am we meine-berg version mit 64er schrittweite statt 50 testen ^^
/EDIT

das mit den jahreszeiten hat sich inzwischen auch aufgeklärt. ich hatte den script aus versehen bei on:preload eingebunden, was dann natürlich dazu geführt hat
dass bei jedem laden des spielstandes der jahreszeitenscript ein weiteres mal zum on:changeday hinzugefügt wurde. im on:start isses dann doch besser aufgehoben

und die mathematischen u. numerischen  sachen muss man (zumindest mir) nicht so ausführlich erklären. ich bin da durchaus vorgeschädigt ;)
meine probleme sind eher dass ich meine geliebten while, for usw. schleifen in stranded vermisse und natürlich wie gewisse dinge im spiel zusammenarbeiten, was das tutorial von unrealsoftware nicht hergibt
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am November 09, 2008, 21:54:02 Nachmittag
Ich wollte einen kleinen Wetterwechsler in das Amulett (id 817) einbauen, doch es funktioniert nicht.
Was mache ich falsch?
Hier der script:
Code: (text) [Auswählen]
  1. on:use {
  2. if (getweather==0) {
  3. weather rain;
  4. } elseif (getweather==1) {
  5. weather sun;
  6. }

Grüsse,
Firedroide
Titel: Re: Fragen zum Scripting
Beitrag von: spammer70 am November 10, 2008, 09:17:52 Vormittag
Zitat von: "Firedroide"
Ich wollte einen kleinen Wetterwechsler in das Amulett (id 817) einbauen, doch es funktioniert nicht.
Was mache ich falsch?
Code: (text) [Auswählen]
  1. script=start # sollte nicht vergessen werden (weiß nicht ob du's im Item drin hast)
  2. on:use {
  3.   if (getweather()==0){ # so blöd es auch klingt - auch ohne Parameter müssen die Klammern bei Funktionen angegeben werden
  4.     weather rain;
  5.   }
  6.   elseif (getweather()==1){ # hier das Gleiche
  7.     weather sun;
  8.   }
  9. } # abschließende Klammern sollten auch nicht vergessen werden

Ich hoffe ich hab nichts übersehen ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am November 10, 2008, 17:00:05 Nachmittag
Es funktioniert jetzt!

Und nach einigen Änderungen sind sogar Schnee und Gewitter integriert.

Ich sage nur:
Vielen Dank für die Hilfe.

Grüsse,
Firedroide
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am November 29, 2008, 20:25:46 Nachmittag
Ich brauche mal wieder Hilfe...

Wie kann ich das machen, dass wenn ich per Spawn-Control ein Objekt spawne (einen Bambusstrauch), dieses nur auf einer bestimmten Höhe gespawnt wird }:?

Grüsse,
Firedroide
Titel: Re: Fragen zum Scripting
Beitrag von: S2ExtZocker147 am November 29, 2008, 20:41:47 Nachmittag
Wofür brauchst du das }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am November 29, 2008, 20:46:19 Nachmittag
Nun ja...

Es soll an einem Strand jeden 3. Tag einen solchen Strauch erscheinen, da ich es aber nur am Strand will, und ich nicht hunderte Spawn-Controller für diesen Abschnitt setzten will (weil ja sonst bei einem grossen auch im Wasser gespawnt wird),
geht es nur durch irgend so ein Scriptbefehl...
Titel: Re: Fragen zum Scripting
Beitrag von: freshd94 am November 30, 2008, 10:55:54 Vormittag
brauchst nicht scripten, du kannst auch ganz einfach den radius ein wenig größer einstellen
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am Dezember 03, 2008, 17:56:37 Nachmittag
Also ist es nicht möglich, diese Objekte nur an einem Ort und auf einer bestimmten Höhe zu wachsen lassen?

....
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 13, 2008, 10:55:46 Vormittag
Kann mir einer helfen? Ich brauch ein globales script das beim anzünden von fackeln einer vorbestimmten anzahl und position eine variable verändert.bitte ohne lange if zeilen wenns geht. Eigendlich brauch ich nur nen befehl zum erfragen eines states kann mir da einer weiterhelfen? }:?  ansonsten ich arbeite fleißig an einer magier map rum und brauch das damit der meister mir erst dann die obercoole kunst des feuerballs zeigt,wenn ihm das fackelicht in stimmung bringt. :hooray: Dabei muss ich denn nochmal alle combis rausschmeißen bis dahin. :()
ansonsten, danke fü ne schnelle antwort jetzt schon. :yes:
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 13, 2008, 13:01:02 Nachmittag
Ich rate dir, bei jeder Fackel ein lokales Skript ausführen zu lassen, dass beim Anzünden eine globale Variable erhöht, sowie einen Timer, der alle x Sekunden diese Variable überprüft, und ein Event auslöst, wenn genug Fackeln an sind. Bei changeday überprüfst du das Wetter und wenn es regnet, setzt du die Variable auf 0 Das dürftest du hinkriegen.
Code: (text) [Auswählen]
  1. //Skript bei den Fackeln
  2. on:hit{      //bei Treffer der Fackel
  3.    if (state()=4){//wenn der State Feuer hinzugefügt oder entfernt wurde
  4.       if(gotstate("self", 4)==1){//wenn die Fackel jetzt den State Feuer hat
  5.          $fackel+=1;//erhöhe $fackel
  6.       }else{//wenn die Fackel gelöscht wurde, also der State nicht hinzugefügt, sondern entfernt wurde
  7.          $fackel-=1;//erniedrige $fackel
  8.       }
  9.    }
  10. }
  11.  
  12. //globales Skript
  13. on:start{
  14. $fackel=0;//$fackel setzen
  15. }
  16. on:changeday{
  17.    if(getweather()==1){//wenn es regnet gehen die Fackeln aus,
  18.       $fackel=0;//$fackel wird also auf 0 gesetzt
  19.    }
  20. }
  21. on:checkit{
  22.    if($fackel >= <AnzahlderFackeln>){//hier musst du die Anzahl der Fackeln, die brennen sollen, einfügen;
  23.       stoptrigger <IDdesZeittriggers>;//hier die ID des Zeittriggers
  24.       event <NamedesEvents>;//und hier den Namen des Events, was das Erlern-Skript oder Tagebuch auslöst
  25.    }
  26. }
  27.  
  28. //Skript des Zeittriggers(auf ca. 1.5 Sekunden eingestellt):
  29. on:trigger{
  30.    event "checkit";
  31. }
  32.  
So, ich hoffe das funzt.
Edit:
Ich habe im Code kommentiert, wie ich mir das denke. Ist immer noch ein Entwurf, also wahrscheinlich nicht fehlerlos.
MfG,

nmG
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 14, 2008, 14:13:07 Nachmittag
cool danke probier gleich ob das script funzt aber ich bin mir nicht sich mit dem was ich gesehen hab würde am anfang doch riesige minus beträge rauskommen, da ja die fackeln der variable was abziehen und auserdem bräuchte man nur über die hälfte aber nicht alle der fackeln, obwohl der schamane es überall wohlig warm will .ich denk drüber nach wie ich das mache da ich ja gotstate jetzt habe. man könnt das auch machen das vor dieser abfrage eine if bedingung mit der jeweiligen variable gemacht wird die wenn brennt auf nicht noch mal abfragen geht? }:?
aber danke für ne schnelle antwort mit gleich einem vorschlag ich werd ihn trotzdem noch in der orgin. , testen da du so nett warst:).
trotzdem, das mit dem global hab ich noch nicht richtig mir angesehen doch vom überfliegen schon echt gut.
(das war viel kritik aber ich bin im mom. in meiner kreativen phase und mir sprudeln förmlich die ideen raus{das ist der status wo ich ein Pc versteher bin und in etwa weis wie er läuft.}deshalb krieg es bitte nicht in den falschen hals.)
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 14, 2008, 16:17:16 Nachmittag
Ich habe oben nochmal kommentiert, wie ich mir das denke. Ich weiß nicht genau, wie du das jetzt meinst mit den Minusbeträgen usw., aber ich kann's nochmal ändern wenn du mir sagst ob und wann es funzt.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 17, 2008, 15:31:56 Nachmittag
achso nein jetzt versteh ichs. aber jetzt fällt mir was anderes auf: wenn bei regen alles auf 0 gesetzt wird dann wird doch  von jeder fackel einer abgezogen bis dahin außer diesem spezialfall funzt das wohl ich setzt mich gleich hinter und kopier es.
Danke es wird wohl so sein das ich noch mehr fragen habe ich scripte auch eine art Manasystem hab schon:
-feuerball verbraucht bei schuss 10 mana
-wasser mit wassermanakristal kostet/bringt 10 mana
-manatrank bringt 50
geplant:
-mit feuerkristal an feuer sitzten für ne stunde 20 mana
-feuerkristal wie feuerstein nutzen kostet 5 mana
-mit wassermanakristal ans/ins meer für 20min-1h. 10-60 mana
-Donnerkristal bei gewitter halten
-kristalstaub essen(angezweifelt) 30 mana
Ich hab gelesen das man auch eigene skills scripten kann,kann mir einer helfen das nochmal wiederzufinden?
 }:? Danke
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Dezember 17, 2008, 16:48:23 Nachmittag
Bitte nich Mana als Standard einbauen!  :@
Das is nämlich das, was ich an SExt so mag: Es is vollkommen neutral und realistisch auf diesem Gebiet. Gerne auf einzelnen Karten, aber nich immer auf allen!
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 17, 2008, 16:56:26 Nachmittag
So wie ich das verstanden habe geht es alexander III darum, eine eigene Mod zu machen, in der es Mana gibt. Kein Problem also!
@alexander: Ich glaube, das einbauen von Skills mit Skripts ist ziemlich kompliziert, ich würd's lassen. Aber wenn du unbedingt willst(oder musst), empfehle ich dir, die vorhandenen Skripts abzukupfern und nebenbei skripten zu lernen ;) . Ich und alle anderen haben nämlich auch nicht immer Bock, dir die Skripts zu liefern. Bist du ein guter Mapper(Karten ohne Skripts bauen)? Wenn ja, beteilige dich doch als Mapper an Robinson Crusoe. Dann kann ich dir vielleicht auch in Zukunft weiterhelfen ^o) .
MfG,

nmG
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 17, 2008, 18:28:19 Nachmittag
ey leute ich hab erstens nur an einen eigenen mod gedacht(ich weiß nicht wer ihm das gesagt hat! }:? )
und ich baus doch nur in meine Map ein,
das wäre ja hirnlose ohne jedes item/chancen die items zu machen dann auch mana zu haben1 O_O
aber gute idea ich schmeiß mich gleich hinter meinen eigenen mod(Ich weiß nicht ob das nun sarkastisch war oder nicht aber wenn dann war das hier der größte sarkasmus den ihr je im forum hattet ansonsten guter witz oder ^o) )
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 17, 2008, 19:35:57 Nachmittag
Wenn du dein Skill-System einbauen willst, glaube ich, du musst eine eigene Mod machen, denn sonst weiß ich keinen Weg über Skripts :S und will ihn auch nicht raussuchen :stranded: .
Da du auch keine eigene Mod machen möchtest (Sorry, hab dich falsch verstanden), musst du das wohl anders lösen. Auch das mit dem Feuerkristall/Wasserkristall usw. ist über Skripts alleine nicht möglich :no: . Es geht einfach nicht, neue Items über Skripts zu erstellen. Deshalb dachte ich, du wolltest eine eigene Mod machen. Sorry, aber per Skript geht das nicht. Vielleicht geht es mit Objekten, die du mit Partikeln ausstattest und bei on:use Event eine Variable verändern? Das wäre noch die beste Lösung.
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Dezember 17, 2008, 19:41:09 Nachmittag
Dann is ja gut  ;)
Das mit den Items usw. geht eben nicht, ohne den Mod zu verändern. Deswegen hab ich mich auch gefragt, wo das ganze Zeuch dann hinsoll ...
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 17, 2008, 20:36:28 Nachmittag
@nicht_mehr_gast
musst ja nicht einen auf bedrückte lebrwurst machen ich wollt nur sagen dass das mit dem mod doch geplant ist (oder zumindest n erweiterung) nur das ich zur Zeit keine Zeit hab und das mit der map auch dauert mindestens bis weihnachten
wenn nicht nach erst. :no:
aber ich muss dann alles aus dem alten raus machen und das alles bearbeiten bis es funzt und dann auchnoch dies und das machen das dauert halt. =D
aber ich stell das hier noch rein  wenn es dann Fertig ist.
Darf man das überhaupt?

Zitat von: "nicht_mehr_Gast"
Bist du ein guter Mapper(Karten ohne Skripts bauen)? Wenn ja, beteilige dich doch als Mapper an Robinson Crusoe. Dann kann ich dir vielleicht auch in Zukunft weiterhelfen ^o) .
MfG,

nmG


ich würd schon gerne mitmachen bin aber auf script und mapen ne null/ne ziemlicher anfänger oder muss zu mindestens mir viel zeit lassen.

Und ich will euch auch nicht auf die ketten gehen, brauch ich doch immer nur ne kleinen tipp und mach mir dann nen kopf.Außerdem entschuldige ich mich ja auch schon immer und ich weiß das nervt auf dauer aber ich hab mir halt was am anfang zu großes vorgenommen was ich allerdings(dank meines stursinns)nicht aufgeben will.Ich hab schon zu viel gemacht um es "umsonst" gemacht zu haben und es ist allerdings zu wenig um es irgendwie reinzustellen
Titel: Re: Fragen zum Scripting
Beitrag von: spammer70 am Dezember 17, 2008, 20:41:44 Nachmittag
OT: Es ist nie zu früh um aufzugeben.

Ob man das darf... naja laut Lizenz darfst du die Inhalte der Stranded 2 Extension Mod nicht bearbeiten.
Und dazu gehören selbstverständlich auch die Scripts.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 17, 2008, 20:45:09 Nachmittag
Ich änder sie ja nicht sondern füg nur was hinzu! O_O
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 17, 2008, 21:05:10 Nachmittag
Das mit der Lizenz wird, glaube ich, nicht so eng gehalten und dient nur dazu, Abspaltungen(forking) vorzubeugen. Die Steinzeit-Erweiterung ist schon im Grenzbereich, denke ich, und eine Mod, die komplett auf S2Ext aufbaut, ist schon forking, schätze ich, und daher wahrscheinlich nicht erwünscht. Und als bedrückte Leberwurst will ich auch nicht dastehen, wenn ich mich so ausgedrückt hab, sorry. Maps hier hineinstellen darfst du natürlich, aber ganze Mods... die auf S2Ext basieren... das könnte Ärger geben...

Nur ein guter Rat.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Dezember 18, 2008, 08:41:06 Vormittag
hey doch nicht auf ext basiert sondern auf s2 ich bin doch keiner der mal mit 2 zeilen script die großen lizenzenO_O
  durchbricht und s2 zu kopieren ist erlaub sagt auch das toturial. :a:

Das mit der leberwurst tut mir leid war aber spät und da liest man manchmal falsch schwischen den zeilen. ^^u

gestern hab ich noch an den skillscripts gearbeitet
und ne grobes muster ausgearbeitet. noch nicht getestet
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Dezember 18, 2008, 10:44:47 Vormittag
Sry wenn ich euer Gespräch unterbrechen sollte doch ich habe auch meine Fragen ^^ :

Weiß jeman nen Code der die ID bzw CLASS in einem bestimmten radius um ein bestimmtes object angibt?

Danke im Vorraus =D

Robo01
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Dezember 25, 2008, 14:58:59 Nachmittag
Ich hab's jetzt nicht so genau verstanden...
Was soll das Skript mit Welchen Objekten Wann und Wie tun? Warum und mit Welchen Ziel??

Die W-Fragen haben sich schon oft bewährt ;).
Titel: Rotation
Beitrag von: S. II am Dezember 26, 2008, 21:57:57 Nachmittag
Also es gibt ja bei bäumen das sie bei der blauen Achse (Editor) hin und her schwanken und ich wollte etwas drehen lassen
an der grünen Achse nach oben, also das es sich um die eigene Achse dreht![es soll sich endlos weiterdrehen]
wie macht man den script dazu??
Bitte um schnelle antwort.
mfg
S. II
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 09, 2009, 18:16:00 Nachmittag
Moin alle zusammen. Hab folgendes Problem. Ich habe mir eine Map erstellt mit Quests und alles drum und dran.
Das Problem ist nur das ich beim Spielen dieser Map keine Skills (Fernwaffen, Basteln, usw) habe,
konnte nirgens nen code oder nen skript in den anderen Maps finden.
Kann mir da wohl jemand helfen?
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am März 09, 2009, 18:35:43 Nachmittag
Ja. Es gibt so ein Info-Objekt "Skills" (das Icon müsste so eine Hand sein). Das musst du auf die Karte setzen, damit die Skills funzen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 09, 2009, 18:47:33 Nachmittag
Na das war ja jetzt simple. Steht ja auch Skills drauf, muß ich wohl übersehen haben.
Danke für die schnelle Antwort.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 13, 2009, 20:56:33 Nachmittag
Hab jetzt folgendes Problem.
Hatte auf meiner Map im Globalen Script einen Eintrag
on:start {
diary "Ausgesetzt","mapsMeutereiscriptstagebuch.s2s","start";
}
Hatte auch alles ewig funktioniert dann tage und stunden des scriptens später, erschien der Eintrag 2x.
Also alle scripts durchsucht und nicht fündig geworden. Den Eintrag im Globalen Script weggemacht
und trodzdem noch.
also tagebuch.s2s in einen anderen ordner kopiert aber der Tagebucheintrag mit dem Text aus dieser Datei
ist beim Start immer noch da. Was könnte ich falschgemacht haben?
Titel: Re: Fragen zum Scripting
Beitrag von: Ozzi am März 14, 2009, 12:32:54 Nachmittag
Hatte alle scripts der litste nach abgegrast.
Wie gesagt der Eintrag bestannt nur in der Quelle die ich sogar gelöscht hatte.
Ich bin das Problem erstmal umgangen mit  freeentry und dann diary.
Ist wohl ein fehler im Editor, das er den eintrag irgendwo gespeichert hat.
Titel: Re: Fragen zum Scripting
Beitrag von: crckbaerchen am Mai 13, 2009, 19:10:03 Nachmittag
Hallo erstmal
Ich habe einmal eine Frage. Ich habe einen Dialog und einen Gebietstrigger erstellt (zum ersten mal)
Ich habe es dann auch hinbekommen. Alles hat gut funktioniert bis auf das der Gebietstrigger die Nachricht immer wiederholt hat.
dewegen habe ich Variablen eingesetzt und nun kommt gar nichts mehr...
Könnt ihr mir sagen was ich falsch gemacht habe???
(Das ist der Code für die erste Person mit der man spricht.)

Code: (text) [Auswählen]
  1. on:use {
  2. $Konig=1;
  3. if (Konig=1) {
  4. dialogue "intro", "5";
  5. $Konig++;}
  6. }
Titel: Re: Fragen zum Scripting
Beitrag von: crckbaerchen am Mai 13, 2009, 19:32:12 Nachmittag
Ohhhhh
Danke Das dir sowas auffällt.
Und ich guck das ding ne viertelstunde an^^
Vielen dank für die schnelle Antwort

So ich hab mal noch ne Frage.

Wie bekommt man den Tagebucheintrag hinter einen Dialog?
Titel: Re: Fragen zum Scripting
Beitrag von: xenor am Mai 19, 2009, 08:22:22 Vormittag
hi ^^

Code: (text) [Auswählen]
  1. page=page1
  2. text=start
  3. bla...
  4. text=end
  5. button=close,Schließen
  6. page=close
  7. script=start
  8. add "Bla bla bla";
  9. add "Bla bla bla";
  10. diary "Titel";
  11. script=end
  12.  

wo würd ich das machen...
das issen modell wie ichs machen würde...
hoffe konnt helfen.
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am Mai 29, 2009, 21:02:00 Nachmittag
Hallo zusammen.

Ich wollte mal ein "Cheat-Engine" einbauen.
Da sollte man per "dm", Execute script diesen Code "einlesen":

Code: (text) [Auswählen]
  1. local "skilllevel";
  2. local "tempvar_plant";
  3. clear;
  4. add "Pflanzen: Wähle ein Niveau";
  5. msgbox "Cheat";
  6. button 0,"50 - Beerenbusch-Anpflanzer",17,"$skilllevel=0, event plant_chosen";
  7.  
  8. on:plant_chosen {
  9.     $tempvar_plant=(skillvalue "plant"());
  10.     msg "$skilllevel, $tempvar_plant";
  11.     If ((gotskill "plant")==0) {
  12.     event "iskill_plant","global";
  13.     }
  14.     If (((skillvalue "plant"())<50)&&($skilllevel<=0)) {
  15.     setskill "plant" ,49 ,"Anpflanzen";
  16.     event "iskill_plant","global";
  17.     }
  18. }

Nur: Der Code tuts nicht!
Ich glaube, es liegt an der event-Weiterleitung.

Grüsse,
Firedroide

PS: Das If fast am Schluss ist, da ich noch andere Buttons einbauen will.



Kann mir denn niemand helfen?!?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 21, 2009, 17:49:47 Nachmittag
Tach Habe da nen Problem:

ich mache grade eine map, in der an anfang nen tagebuch eintrag kommt. nun will ich dass nach diesem eintrag 1min pause is, in der man was machjen kann und danach eine msg kommt:
dazu habe ich nen zeittrigger gemacht, in dem das hier steht: der zeittrigger habe ich auf einen minute spielzeit eingestellt.

Code: (text) [Auswählen]
  1. on:trigger 2 {
  2. msg "Nichtkopiertenachricht...",0,10000;
  3. }

nur leider funzt das ganze nicht! weiss jemand was ich falsch mache??
achja, kann mir einer den unterschied zwischen msg und msgbox sagn?
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Juni 21, 2009, 18:20:43 Nachmittag
Einfach nur on:trigger. Bei einem Zeittrigger wird lokal (also nur bei dem betroffenen Zeittrigger) das event trigger augelöst. on:trigger 2 bringt nix.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 22, 2009, 18:56:26 Nachmittag
hi leute, schreib mal hier rein weil das der letzte und halbwegs aktuelle eintrag ist.

folgendes : in der neuen version von s2ext kann man keine säfte pressen ( stein + zb beeren)

er schreibt immer noch nicht möglich obwohl skills schon hoch genung

hab versucht das selbst zu fixen werd aber nicht fündig hab noch nicht rausgefunden wo sich die definition für saftherstellen befindet.

könnte mir jemand sagen wie ich das prob fixe?

lg zeriel
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 23, 2009, 00:55:02 Vormittag
danke für die antwort.

hmm ok, der skill steht halt nur bis 150 oder so beschrieben-

flaschen sind herstellbar ?

am anfang findet man immer viel abre die verschwinden nach kurzem

rede von random n mittel
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am Juli 21, 2009, 15:57:37 Nachmittag
Hallo zusammen.

Ich mache gerade eine Map mit einer grossen Menge Dialoge und Scripts in den Dialogen.
Mein Problem: Die Dialoge lassen sich einfach mit Escape oder Leertaste überspringen.
So werden Events nicht ausgelöst und es geht nicht mehr weiter...

Kann mir jemand sagen, wie ich das lösen kann?

Danke schon im Vorraus,
Firedroide
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Juli 21, 2009, 16:46:28 Nachmittag
Was ich einmal im Zuge von Robinson ausprobiert habe, ist, durch einen Gebiets-Trigger den Dialog immer wieder zu öffnen, falls er vorher übersprungen wurde.

 Eventuell kann man den Spieler auch darauf hinweisen, dass der Dialogpartner so langsam wütend wird, weil er dauernd ignoriert wird, und nach dem zweiten Überspringen des Dialogs eine "Strafe" anbringen, wie zum Beispiel dass der NPC "die Löwen loslässt" oder seine Waffe herausholt und den Spieler mit Pfeilen abschießt und ihn somit aus dem Dorf jagt (das wäre je nach Situation anzupassen).

Wenn man ohne Gewalt auskommen möchte, bietet sich auch folgende Lösung an: Man erstellt eine "unsichtbare Wand", indem man ein passendes Objekt (z.B. die Höhlenwand) nimmt und so platziert, dass der Spieler nicht vorankommen kann. Erst, wenn der Dialog (der etwa alle zehn Sekunden aufgerufen wird) vollendet wurde, wird das unsichtbare Hindernis entfernt. Diese Methode kann jedoch je nach der abzusperrenden Fläche recht viele Hindernisse erfordern, die alle auch noch den State 17 (Unverwundbarkeit) und ein Script benötigen, das in etwa so aussieht (vllt. ist es auch noch unvollständig):

Code: (text) [Auswählen]
  1. on:start{
  2.    alpha 1;
  3. }
  4.  
  5. on:hit{ skipevent; }
Titel: Re: Fragen zum Scripting
Beitrag von: Firedroide am Juli 21, 2009, 16:53:19 Nachmittag
Funktioniert so leider nicht, da der Dialog, den ich aufrufe, nur einmal aufgerufen wird, nach einer Sequenz. Da ich dort nicht wissen muss (und auch nicht weiss) wo der Spieler ist, kann ich auch keinen Gebiets-Trigger gebrauchen...

Ich hätte eher an eine Lösung gedacht, dass ein Key-Hit - Event nicht aufgerufen wird, dass es also global nicht mehr funktioniert.
Das Problem: Mit Escape ruft man auch das Inventar auf...

Grüsse,
Firedroide
Titel: Timer-Problem
Beitrag von: Anonymous am Oktober 11, 2009, 16:28:46 Nachmittag
Möchte auch mal ein Problem haben; ich woltle ein logisches Entity, welches einen Timer bei sich selbst erstellt, sobald es geladen/erstellt wird und jede Sekunde die Uhrzeit auf bestimmte Konditionen hin prüft. Genaugenommen soll es 2 Events auslösen, den Anbruch der Nacht und den Sonnenaufgang. Während der Nacht sollen diese "seltsamen Kreaturen" an vorgesehenen Objekten gespawnt werden gespawnt werden(Ich denke dabei an einen Art "Alptraum"-Gamemode, in dem es tagsüber fiedlich ist und nachts die Party abgeht oO). Die Spawnpunkte funktionieren, der Timer aber nicht, das habe ich durch Ingame-Scripteingaben bereits eingekreist(Execute Script bei den Cheats...)

Hier erstmal die Codes.

[s2s:ox5jaac1]id=88
name=Alptraummodus-Timer
group=stuff
frame=49
description=start
Dieser Timer dient dem Alptraum-Gamemode. Ideallerweise existiert nur einer davon, denn er prüft jede Sekunde die Zeit.
Zudem mehrere unnötig sind.
description=end
script=start
   on:create {
      local $tmp;
      tmp$=currentid();
      timer "info",$tmp,1000,0;
      freevar $tmp;
   }
   on:timer {
      local $hour;
      $hour=hour();
      if($hour>21 || $hour<6) {
      event "spawncreeps","global";
      
      }
      if($hour>5 && $hour<7) {
      event "deletecreeps","global";
      }
   }
script=end[/s2s:ox5jaac1]

Das logische Entity und Sorgenkind meiner Frage. Wie man sieht, soll es zwischen 22 und 6 Uhr rund gehen. Wenn ich aber per "Execute Script" nicht nachhelfe, passiert nichts, und es gibt auch keinerlei Fehlermeldungen  :@
Die Null bei der Timer-Deklaration soll übrigens bewirken, dass der Timer unendlich oft läuft. Habe es auch einmal mit -1 probiert, selbes Ergebnis.

[s2s:ox5jaac1]id=201
name=Nachtschatten
icon=gfxroyal_flashicon_creature.bmp
model=gfxroyal_flashcreature.b3d
group=animal,ext
scale=2.25
colxr=10
colyr=20
behaviour=raptor
speed=1.5
turnspeed=1.8
eyes=10
health=400
range=300
attackrange=60
maxweight=25000
ani_move=2,6,0.20
ani_attack=7,12,0.2
ani_idle1=12,16,0.15
ani_idle2=16,22,0.15
ani_idle3=22,26,0.15
ani_die=26,35,0.5
#sfx=native
damage=0
param=damage,8
script=start
on:start {
   local $dmg,$tmp,$type;
   $tmp=currentid();
   $type=type("unit",$tmp);
   $dmg=defparam("unit",$type,"damage");
   freevar $tmp,$type;
}

on:create {
  event "start";
}

on:ai_attack {
   local $protection,$blocked,$shield;
   $shield=getplayerammo();
   if (playergotitem($shield)>0) {
      $protection=(defparam("item",$shield,"protection")/100.0);
   } else { $protection=0; }
   $blocked=($dmg*$protection);
   damage "unit",1,($dmg-$blocked);
   if ($protection>0) {
      echo "!4 Player is wearing a shield and blocked $blocked of $dmg damage";
      if (random(1,100)==1) {
         msg "Mist! Mein Schild ist zerbrochen!",3,5000;
              freestored "unit",1,$shield,1;
      }
   }
   freevar $protection,$blocked,$shield;
}

on:kill {
   local $tmp;
   $tmp=currentid();
   setpos "unit",$tmp,0,0,0;
   freevar $tmp;
}
on:deletecreeps {
   local $tmp;
   $tmp=currentid();
   corona 0,0,30,75,25,10,$tmp;
   freevar $tmp;
}
script=end[/s2s:ox5jaac1]

(Die Nachtschatten sind, wie gesagt, adaptierte Versionen der "seltsamen Kreatur", aber sie funktionieren etwas anders, wieso ich die poste, sage ich später nochmal)

[s2s:ox5jaac1]id=944
name=Creep-Spawner
icon=gfxmarble01.bmp
group=stuff,std
model=gfxmarble01.b3d
scale=0.7
healthchange=0
mat=stone
script=start
   on:spawncreeps {
      local $x,$y,$spreadx,$spready,$creeps,$maxcreeps,$active;
      $x=getx("self");
      $y=gety("self");
      $spreadx=random(-10,10);
      $spready=random(-10,10);
      $x=$x+$spreadx;
      $y=$y+$spready;
      $creeps=count("unit",201);
      $maxcreeps=(count("object",944) * 2);
      if ($creeps < $maxcreeps) {
         $active=create("unit",201,$x,$y);
      }
      corona 0,0,30,25,25,75,$active;
   }
script=end[/s2s:ox5jaac1]

Der Creep-Spawner, duh. Momentan soll es maximal 2 Creeps pro Spawner geben, aber wenn die alle gleichzeitig agieren, können sie teilweise über das Ziel hinaus schießen. Das ist aber erstmals nicht das Problem, sondern der Timer, der einfahc nicht startet.

Noch ein weiteres Problem, was ich bereits angedeutet habe: Beim Spawnen und Sterben sollen die Creeps einen Corona-Effekt auslösen. Leider habe ich bisher nicht viel davon gesehen.... =/ (Mit anderen Worten, er erscheint einfach nicht)

mfG
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am Oktober 11, 2009, 17:35:52 Nachmittag
Ich glaube du brauchst in deinem Albtraummodus-Timer ein on:start event mit dem selben Inhalt wie on:create. Falls du den Timer schon im Editor platzierst, wird beim Laden der Insel nämlich nur on:start ausgeführt. Wenn der Timer zur Laufzeit gespawnt oder irgendwie sonst durch ein Script erstellt wird, wird on:create ausgeführt.
Titel: D'oh
Beitrag von: Anonymous am Oktober 12, 2009, 16:35:51 Nachmittag
Ah, ja...hatte schon befürchtet, dass on:create nur unter bestimmten Konditonen abgerufen wird... :S
Der Timer selbst läuft jetzt, die Corona-Effekte habe ich auch behoben(Habe die Geschwindigkeit vergessen >.<)
Blöderweise scheint der Timer jetzt die Bedinungen zu ignorieren und führt einfahc beide Events aus, und die Corona-Balken sind auch nicht an ihrem Platz...bei dem der "gestorbenen" kann ich es mir denken, aber bei die der lebenden Creeps erscheint auch einfach bei dei dem vorhergehenden gestorbenen Creep....
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am Oktober 12, 2009, 18:03:22 Nachmittag
So ließ sich der Fehler beheben, dass der Albtraum-Timer beide Events ausführt:
Code: (text) [Auswählen]
  1. $hour=hour();
  2. if(($hour>5) && ($hour<7)) {
  3. event "deletecreeps","global";
  4. }
  5. if(($hour<6) || ($hour>21)) {
  6. event "spawncreeps","global";
  7. }
Das solltest du vorerst testen, denn dann verhalten sich die Scripts der Creeps anders.

Übrigens, bei solchen Strukturen:
Code: (text) [Auswählen]
  1. on:kill {
  2. local $tmp;
  3. $tmp=currentid();
  4. setpos "unit",$tmp,0,0,0;
  5. freevar $tmp;
  6. }
funktionier afaik vereinfacht auch dies:
Code: (text) [Auswählen]
  1. on:kill { setpos "unit",currentid(),0,0,0; }
Titel: Problem schon gefunden
Beitrag von: Anonymous am Oktober 12, 2009, 22:56:07 Nachmittag
Danke für deine Hilfe, habe inzwischen auch selbst rausgefunden, dass die Klammern fehlten. Wollte ich eigentlich vorher posten, bevor sich jemand die Mühe macht, aber Doppelposts sind nicht erlaubt und das Forum quält mich übermüdeten Wicht bei der Registrierung mit unleerlichen Bestätigungscodes... ._.
Habe aber den Fehler mit den Corona-Balken gefunden: Ich gab 0|0 als Coords ein in der Annahme, durch die Unit-ID werden sie ohnehin darauf zentriert. Pustekuchen, die Balken bewegen sich relativ von den gegeben Coords aus mit der Unit. Darauf muss man erstmal auf der furzigen kleinen Testinsel, die mit widerspinstig nicht verschwindenen Creep-Leichen übersäht ist... :@
Naja, sollte mit den Coords des Creeps funzen. Bemerke: Sollte! Ich melde mich wieder bei Ergebnissen...
Titel: @_@
Beitrag von: Cannonfodder am Oktober 12, 2009, 23:12:48 Nachmittag
So, endlich mal drin...ziemlich frustrierend, sein PW zu vergessen und gleichzeitig den magischen "Ich habe mein Passwort vergessen"-Link nicht zu finden.
Einige Pferde zurück, die Leichen werden sachgemäß auf 0,0,0 abgelegt...was mitten auf der Insel ist. Ist aber ein kosmetischer Fehler. Die Balken beim Spawnen sind versetzt, aber das lässt sich bestimmt noch ausbügeln...
Titel: skript hilfe
Beitrag von: Mapjunkeee am Oktober 22, 2009, 00:41:43 Vormittag
Hallo :wink:  kann mir jemand beim skripten helfen bin in Map bauen 1-2 und im skripten ne 6 ^^u

1. wie schreibe ich ein Skript um schilder lesen zu können.
2.wie schreibe ich ein Skipt in denn menschen mit mir reden,interagierten usw..
und 3. wie schreibe ich ein Skript um eine quest zu erstellen


wäre froh wenn jemand detailiert das schreibt
thx eurer MapJunkeee o_O
Titel: Re: Fragen zum Scripting
Beitrag von: Mapjunkeee am Oktober 22, 2009, 16:18:47 Nachmittag
ein thx an quester

(weiß nicht ob das hier reingehört) }:?
vorschlag für Skills:Heilen

Beschreibung:immer wenn man Bruch oder blutung heilt oder heiltrank braut bekommt man 1 punkt in Heilen


-50 man kann aus 5 wolle oder schnüre Verbände herstellen

-100  man kann aus 1 eisenstange  3 Verbänden und 5schnüren einen Erste Hilfe Koffer herstellen

_150 man kann aus 3 heilblättern oder 1starkes heilblatt  und einer flasche wasser einen Heiltrank herstellen

-200 eisenkörper:du hast schon so viele bruche und blutungen gehabt das dein Körper um25% weniger blutet oder bricht

-800 dein Körper ist fast unverwundbar (75%) :fool:

wäre froh auf Kritik/Verbesserungen

euer Mapjunkeee
Titel: Re: Fragen zum Scripting
Beitrag von: Mapjunkeee am Oktober 22, 2009, 17:43:02 Nachmittag
^^u  Noch mal ich

hab prob. mit gebiet-trigger
Code: (text) [Auswählen]
  1. on:trigger    {diary "Im Wasser" ,"Da ist was im Wasser"}

ich hab radius 100 und anzahl 1

aber immer wenn ich starte kommt der sofort und wiederholt sich 1000 fach  :cry_fox:
was mache ich falsch }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Mapjunkeee am Oktober 22, 2009, 19:39:28 Nachmittag
hat sich nichts verändert :cry_fox:
Titel: Re: Fragen zum Scripting
Beitrag von: Mapjunkeee am Oktober 23, 2009, 11:13:54 Vormittag
^^u  ^^u  ^^u
nein vergessen xD
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am November 01, 2009, 12:44:00 Nachmittag
Ich hab 2 Fragen ...
1.
Ist es möglich, zu prüfen ob der Spieler gar kein Item bei sich hat? Ich dachte da an eine Loop-Funktion, die für jede ID der Items prüft, ob der Spieler was davon bei sich trägt, aber vielleicht geht das ja einfacher? Ansonsten, wie schreib ich dann so einen Loop?  ^^u

2.
Diese Frage geht wohl vor allem an McLeaf: Wie hast du nur son scheenes Haus wie in der Demo-Map hinbekommen?
Gibt es dafür auch spezielle Platzierungsscripts? Bisher kenn ich nur die vom Dungeon, die ja die Felder und Wände zentriert in der Mitte am Raster der Karte festmachen, aber bei nem Haus (vor allem mit mehreren Stockwerken...) ist das ja ein wenig ungünstig... Wie hast du das nur gemacht?  :D
Titel: Re: Fragen zum Scripting
Beitrag von: Fritzfratz am November 04, 2009, 19:16:32 Nachmittag
Weiß nicht genau wo das hingehört...

Habe heute meinen 1. Brunnen angefangen zu bauen (normalerweiße wohne ich ja in der Nähe von Quellen, aber diesmal wollte die Map die Quellen nur bei den Löwen und Raptoren haben ^^)

und 260 die Maustaste drücken um den fertig zu kriegen ist ganz schön anstrengend, gibts da keine Variante ala Zusatztaste drücken und er baut automatisch alles an Mats rein, was er dabei hat?
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am November 04, 2009, 20:10:01 Nachmittag
*handheb*
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am November 09, 2009, 16:34:15 Nachmittag
:wink:
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Dezember 06, 2009, 18:50:08 Nachmittag
*Nochmal für McLeaf neu markier* (siehe weiter vorn  ;) )
Titel: Höhe der Objecte verändern
Beitrag von: Anonymous am Januar 01, 2010, 19:12:23 Nachmittag
Wie  kann ich die höhe  eines obejectes verstellen?
wie z.b bei falldamage test beim exnt version?
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Januar 02, 2010, 22:16:46 Nachmittag
ja is mir heute auch aufgefallen^^

trotzdem danke  :hooray:
Titel: Re: Fragen zum Scripting Dialog
Beitrag von: Feuer der veränderung am Januar 05, 2010, 17:31:00 Nachmittag
Ich kapiere nicht wie man einen dialog macht muss man dafür eine externe Datei anlegen und wie schreibt man das den hin könnte jemand mir mal einen Beispiel Script schreiben mit einigen erklärungen den aus dem Scripts die ich in der Demo Map entdeckt habe werde ich auch nicht schlau
Titel: Re: Fragen zum Scripting
Beitrag von: 3d tec am Januar 07, 2010, 16:49:01 Nachmittag
hi beim objeckt machst du diesen script:

Code: (text) [Auswählen]
  1. on:use {
  2. dialogue startseite, Quelle \als Quelle nimmst du z.B. einen textcontainer
  3. \die Startseite ist die Seite bei der der Dialog startet (Page Beschriftung)
nun der textcontainer:

Code: (text) [Auswählen]
  1. page=Seite \beispielsweise "Start"
  2. title=Titel \der titel wird angezeigt
  3. text=start
  4. \hier der text
  5. text=end
  6. button Seite,Beschriftung \Bei Seite die (page)Beschriftung zu der der Knopf führen soll
  7. \zun beenden beim Knopf anstatt der Seite einfach "action:close" eingeben 

ich hoffe das war genau genug :D

PS: wüste gern wie man den "setat" Befehl auf den spieler anwendet
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Januar 07, 2010, 17:24:50 Nachmittag
vielen Dank und hast du den setat befehl auf die Startposition geschrieben?

edit: Ich habe einige verschiedende Varianten ausprobiert und der befehl text=end funktioniert nicht
edit2: Ich habe es geschaft hat sich also erledigt
Titel: Re: Fragen zum Scripting
Beitrag von: jojomisside am Januar 08, 2010, 12:37:25 Nachmittag
Hallo 3d tec, (da wir uns nicht kennen lasse ich so etwas wie "wie geht es dir" aus :D )
der Spieler ist immer die unit 1.
Die deutsche Befehlreferenz (http://http://www.stranded.unrealsoftware.de/s2_commands.php?list=all&setlan=de) ist sehr ausführlich.
Anwendung eines Teleportiersteins bei mindesten $a $b (ohne Verbrauch):
Code: (text) [Auswählen]
  1. on:use {
  2. if(playergotitem($b)>=$a) {
  3. setat "unit",1,$c,$d;
  4. } else {
  5. msg "Nicht genügend b.";
  6. }}
wobei $c,$d das Zielobjekt ist.
Ich hoffe, ich konnte helfen.
Herzliche Grüße und ein gesegnetes Jahr,
jojomisside
Titel: Re: Fragen zum Scripting
Beitrag von: 3d tec am Januar 08, 2010, 16:46:18 Nachmittag
ich wollte den Script beim stargate unterbringen
damit der Spieler teleportiert wird nur hab halt keine Ahnung
wie das geht  }:?

Edit:Hups hab da was überlesen. :@
       vielen dank

Edit2:Hätte da noch eine frage:
wie kann man machen das bei einem gebiete trigger eine msg-nachricht
nur beim eintrit angezeigt wird?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Januar 10, 2010, 14:04:44 Nachmittag
Hier der Script für die msg nachricht
on:trigger ID
{
msg "text" ;
stoptrigger ID ;
}

Man kann es vieleicht auch so machen
on:trigger ID
{
clear ;
msg "text" ;
}
Wenn man den trigger nicht deaktivieren will man kann dann darunter noch einen Script setzen allerdings darf der nicht mit dem oberen geschachtelt sein

edit:
Ich schaffe immer noch keinen Dialog bei dem Script von 3d tec machen die button probleme da stürzt bei mir immer Strandet 2 ab und dann habe ich noch den Script von Mc Leaf Tutorial bei Farmer Joe ausprobiert da habe ich auch irgendwo einen Fehler gemacht der Mir die 2 Seite am Start anzeigt und den Button deaktiviert (der Button ist sichtbar aber Funktioniert nicht und in der programmierzeile (^) steht unknown Script error und wenn man diese beiden Systeme (Alles wie bei dem Script von 3d tec aber den Button Script von McLeaf) stürtzt Strandet 2 immer noch ab.
Titel: Re: Fragen zum Scripting
Beitrag von: 3d tec am Januar 10, 2010, 17:39:54 Nachmittag
Bei mir funktionieren die Button einwandfrei }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Januar 11, 2010, 17:42:49 Nachmittag
Wuhu habe es geschaft habe statt einem komma ein Simikolon gesetzt und ein " vergessen mit anderen Worten hat sich erledigt

Weis jemand wie man es macht das sich z.B. ein Stein und ein Sand golem gegenseitig angreifen?
und wie kann man machen das einen Eingeborenen Bogenschützen nicht mehr angreifen?
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 24, 2010, 15:31:58 Nachmittag
Solltest du doch noch ma reingucken:

-Den Eigeborenen machst du zahm dann greift er dich nicht mehr an (Status: Zahm)

-Es gibt einen Befehl dafür muss ihn mal suchen. Hab ihn schon oft verwendet bei Maps nur kann nicht nachschlage da Stranded Momentan nicht klappt.

Edit:

Gibt doch keinen befehl. Aber du kannst sie sich mit den ai_ Befehlen gegenseitig folgen lassen und dann mit damage sich verletzen. Bei dem Golem kannst du ja die hunt-animation gleichzeitig ablaufen lassen.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Januar 24, 2010, 15:43:30 Nachmittag
wenn er zamh is fleigen trotzdem pfeile habe ich schon mal versucht   :cry_fox:
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 24, 2010, 15:45:40 Nachmittag
Da kann man nur noch sagen: Schlecht Programmiert XD

ne schertz aber sollte man ändern
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Januar 24, 2010, 15:48:30 Nachmittag
naja wie alt is das spiel nochmal??? xD

das problöem soweit ich das seh kann man das nur ändern wenn man 2 sorten hat die gleich ausehen , (eine nicht angriff anderre schon mit anderem namen ) und wenn man will das der "nicht"angreifer angreift scriptet man das so das die einheit wechselt ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Januar 24, 2010, 15:56:33 Nachmittag
das weiß ich auch da die einheit nicht angreift sondern das einfach ein pfeil aus ihr rausschießt^^
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 24, 2010, 16:17:24 Nachmittag
Man kann aber so ändern dass er überprüft ob er den status zahm hat und dann ihn einfach ausschaltet
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Januar 24, 2010, 16:26:48 Nachmittag
wie jeed? xD
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 25, 2010, 15:03:33 Nachmittag
Dauert noch. Da ich heute und morgen keine Zeit hab. Danach guck ich mal ob ich den Script ändern kann.

Edit:

Code: (text) [Auswählen]
  1. script=start
  2.     on:start {
  3.  
  4.  
  5.                                   if (gotstate("self",18)==0) {
  6.  
  7.  
  8.                 if (count("object",500)>0) { skip; }
  9.         local $dmg,$tmp,$type;
  10.         $tmp=currentid();
  11.         $type=type("unit",$tmp);
  12.         $dmg=defparam("unit",$type,"damage");
  13.         freevar $tmp,$type;
  14.     }
  15.  
  16.  
  17.                                 }
  18.  
  19.  
  20.  
  21.     //(Messerangriff)
  22.     on:ai_attack {
  23.  
  24.  
  25.  
  26.                  if (gotstate("self",18)==0) {
  27.  
  28.  
  29.         local $protection,$shield,$tmp;
  30.         $protection=0;
  31.         //SCHILD
  32.         $shield=getplayerammo();
  33.         if ($shield==0) { $shield=getplayerweapon(); }
  34.         if ((($shield>0)&&(playergotitem($shield)>0))&&(defparam("item",$shield,"protection")>0)) {
  35.             $protection+=(defparam("item",$shield,"protection")/100.0);
  36.             if (random(1,100)==1) {
  37.                 msg "Mist! Mein Schild ist zerbrochen!",3,5000;
  38.                     freestored "unit",1,$shield,1;
  39.             }
  40.         }
  41.         //LEDERKLEIDUNG
  42.         if (playergotitem(764)>0) {
  43.             $protection+=0.25;
  44.             if (random(1,100)>75) {
  45.                 msg "Die Lederkleidung ist komplett zerschlissen!",3;
  46.                 freestored "unit",1,764,1;
  47.             }
  48.         }
  49.         //Schaden
  50.         $tmp=$dmg*(1.0-$protection);
  51.         if ($tmp<0) { $tmp=0; }
  52.         damage "unit",1,$tmp;
  53.         echo "!4 Player is wearing a cover and got $tmp of $dmg damage";
  54.         //Kochenbrüche und Blutungen
  55.         $tmp=(int($protection*10)+8);
  56.         if (random($tmp)==1) {
  57.             if (gotstate("unit",1,17)==0) {
  58.                 if (random(5)<2){
  59.                     addstate "unit",1,1;
  60.                 }else{
  61.                     addstate "unit",1,7;
  62.                 }
  63.             }
  64.         }
  65.         freevar $protection,$shield,$tmp;
  66.     }
  67.  
  68.  
  69.  
  70.                                 }
  71.  
  72.  
  73.     on:attack_player {
  74.  
  75.  
  76.                            if (gotstate("self",18)==0) {
  77.  
  78.  
  79.         if (lives("self")==1) {
  80.             freetimers "self";
  81.             if ((playerdistance("self")>300)||(gety("unit",1)<=0)) {
  82.                 timer "self",random(100,1500);
  83.             }
  84.         }
  85.     }
  86.  
  87.  
  88.  
  89.                                }
  90.  
  91.  
  92.     on:hit {
  93.  
  94.  
  95.                          if (gotstate("self",18)==0) {                
  96.  
  97.  
  98.         if (timercount("self")==0) { event "attack_player"; }
  99.     }
  100.  
  101.  
  102.  
  103.                           }
  104.  
  105.  
  106.     on:timer {
  107.  
  108.  
  109.                             if (gotstate("self",18)==0) {
  110.  
  111.  
  112.         if (gety("self")>-20) {
  113.             local $x,$z,$yaw,$id,$health;
  114.             $x=getx("self");
  115.             $z=getz("self");
  116.             $yaw=getyaw("self");
  117.             $id=create("unit",203,$x,$z);
  118.             setrot "unit",$id,"self",$yaw,"self";
  119.             $health=health("self");
  120.             health "unit",$id,($health-75);
  121.             timer "unit",$id,1500,1,"attack";
  122.             timer "unit",$id,1900,1,"replace";
  123.             echo "$health";
  124.             free "self";
  125.         }
  126.     }
  127.  
  128.  
  129.  
  130.                      }
  131.  
  132.  
  133.     on:kill {
  134.         local $tmp;
  135.         $tmp=random(5,15);
  136.         store create("item",53,0,0,$tmp),"self";
  137.         $tmp=random(1,100);
  138.         if ($tmp>90) {
  139.             store create("item",36,0,0,1),"self";
  140.         } elseif ($tmp>75) {
  141.             store create("item",18,0,0,1),"self";
  142.         } elseif ($tmp>50) {
  143.             store create("item",17,0,0,1),"self";
  144.         }
  145.         freetimers "self";
  146.         event "iskill_hunt","global";
  147.     }
  148. script=end

Geht vielleicht besser aber es reicht.  ^^u
Titel: Re: Fragen zum Scripting : verkleinern
Beitrag von: Mr.Namenlos am Januar 28, 2010, 18:19:40 Nachmittag
Ich weiß ja das man gegenstände vergrößern und verkleinern kann , geht das aber auhc mit dem player??

mfg Mr.Namenlos
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Januar 29, 2010, 15:39:16 Nachmittag
probiers aus : [s2s:13xg7eei]scale[/s2s:13xg7eei]

... es wird dir aber nichts bringen, weil sich die Kolisionsentfernung als auch die "ride"-Höhe nicht verändert.

----> du siehst dich nicht größer/kleiner (nur die Units), du siehst nich von einer höheren/niedrigeren Stelle und die Units können bis auf wenige cm durch dich durchlaufen!

 Robo01
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 07, 2010, 15:51:02 Nachmittag
Boot mit Schlüssel benutzbar machen.

Eine Yacht soll mit dem Blauen Schlüssel 808 benutzt werden können.

Ich bin blutiger Laie und habe im Forum keine Lösung gefunden.
Wie man ein Tor aufschliesst habe ich gefunden:

on:use {
  if (playergotitem(810)>0) {
    $locked=0;
    freestored "unit",1,810,1;
    msg "Der Schlüssel hier passt!",4;
  } elseif ($locked==1) {
    msg "Hm... verschlossen. Ich brauche wohl einen Schlüssel.",3;
  }
}

Habe dann das umfunktioniert, - natürlich funktioniert es nicht:

on:use {
  if (playergotitem(808)>0) {
    $owner=0;
    freestored "unit",1,808,1;
    msg "Der Schlüssel hier passt!",4;
  } elseif ($owner=1) {
    msg "Hm... verschlossen. Ich brauche wohl einen Schlüssel.",3;
  }
}

Ist mir selber irgendwie klar dass das nicht geht.
Hat jemand die notwendige Geduld mir schnell zu helfen ?
Das wäre sehr nett - mfg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 08, 2010, 13:49:07 Nachmittag
Vielen herzlichen Dank, Quester.
Sorgfältige Arbeit! (werd mir den Befehl vorher: " on:start..." merken)
Hab es ausprobiert, funktioniert hervorragend.

Darf ich noch eine Bitte äussern?
In einer Map fand ich einmal eine Szene, wie der Spieler
im Schnellboot von der Insel wegkommt.
Beim Betreten des Bootes wurde ein Video mit eben dieser Szene abgespielt.

Hab leider kein/e für mich verwertbares Muster/Anleitung gefunden.

Ich weiss nicht, wieviel Arbeit ein solches Script macht.
Wenn es dir zuviel ist kann ich das verstehen.
Aber wenn du mir dabei helfen könntest, könnte ich meine Maps auch mit
Video-Zwischesequenzen aufpeppen, wäre supi   :D  - mlg Aljna

(Änderung: bestimmt könnten auch andere davon profitieren)
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 08, 2010, 20:08:56 Nachmittag
Ganz lieben Dank Quester,

Nun hab ich endlich mein End-Video.
Mit abfahrender Yacht und Ausblendung und der msg-Nachricht in der Mitte.
Supi !!  :D

Kannst du mir noch bei folgenden Punkten helfen?  :oops:

Ich möchte die msg Nachricht länger einblenden; etwa 5 Sekunden. --- ERLEDIGT
Danach soll der Bildschirm dunkel bleiben. --- ERLEDIGT
Danach möchte ich alle 2 Sekunden den Namen derjenigen einblenden,
die mir geholfen haben. --- ERLEDIGT
Danach soll das Spiel zuende sein. --- ???'

So, und jetzt probiere ich ein Anfangsvideo....

mlg - Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 09, 2010, 16:30:55 Nachmittag
Hi Quester,
dank deiner Hilfe hat sich vieles in Wohlgefallen aufgelöst.
Nun möchte ich meine Endsequenz mit einer Textboxabfrage beenden.
Es kommt aber nie soweit, die Sequenz wird einfach normal abgearbeitet...
seqscript nicht beachtet - was mache ich falsch?

on:use {
  if (playergotitem(808)>0) {
    $owner=1;
    freestored "unit",1,810,1;
    msg "Der Schlüssel hier passt!",4;
      seqstart 1,1;
      cammode 100,1,"unit",103;
      camfollow 100,"unit",103,500,500,500;
      unitpath 103, 18;
      seqfade 4000, 8000, 0, 0, 0, 1;
      seqmsg 6000, "Juuhuuuu, ich fahre heim !", 4, 2;
      seqcls 8000,1,0,0,0;
      seqmsg 10000, ".....", 4, 2;
      seqmsg 13000, ".....,  4, 2;
      seqmsgclear 16000;
         seqmsg 19000, ".....", 4, 2;
         seqmsg 22000, ".....", 4, 2;
         seqmsg 25000, ".....", 4, 2;
      seqscript 29000,23;
      seqend 30000;
      quit // würde ich hier quit einsetzen, wird beim Benützten des Schlüssels sofort abgebrochen.

  } elseif ($owner==0) {
    msg "Hm... verschlossen. Ich brauche wohl einen Schlüssel.",3;
    }
}


seqscript 23 verweisst auf eine Flagge mit folgendem Inhalt.

on:use {   
   dialogue "Ende", 25; // verweist auf die Textbox 25
}


Die Sequenz wird aber ganz abgearbeitet und seqscript nicht beachtet.


Textbox 25 hat folgenden Inhalt:

page=Ende
title= Gratulation, du hast es geschafft!
text=start
.....
text=end

button=action:close, Weiterspielen! ..wo ich jetzt das Schnellboot habe..
button=2, ...tschüssssiiii...

page=2
quit

Jetzt schon vielen lieben Dank für die Hilfe - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 09, 2010, 16:46:54 Nachmittag
wie mache ich das ich wenn man fertig geschlafen hat ein tagebucheintrag kommt?
einfach on:sleep ?
bzw. weie mache das um eine bestimmte zeit eine nacrricht kommt?
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 09, 2010, 17:22:42 Nachmittag
....also einfach auf Textbox 25 verweisen und dann so?

title= Gratulation, du hast es geschafft!
text=start
...
text=end

button=action:close, Weiterspielen! ..wo ich jetzt das Schnellboot habe..
button=2, ...tschüssssiiii...

page=2
quit

Tschuldige, bin wirklich Neuling.. - Danke übrigens für deine Hilfe bis hierhin.
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 09, 2010, 21:39:35 Nachmittag
Danke für den Tipp, Quester,
Verweisen in eine Textbox klappt tatsächlich.

Allerdings nur, wenn ich folgenden Befehl reinschreibe:
quit

Wenn aber in der Textbox folgendes steht:....

title=Gratulation, du hast es geschafft!
text=start
....
text=end

button=action:close, Weiterspielen! ..wo ich jetzt das Schnellboot habe..
button=2, ...tschüssssiiii...

page=2
quit

....klappt es nicht mehr; auch nicht wenn ich "title" und "text" weglasse.

Muss ich dazu zuerst die Sequenz pausieren, ganz beenden oder geht das Einblenden eines
Fensters mit Abfrage prinzipiell nicht?

mlg - Aljna

__________________

Ich wundere mich nur einmal -- den ganzen Tag!
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 10, 2010, 22:12:48 Nachmittag
DANKE Quester - du bist mein Held....

Dieser Befehl eingebaut und endlich funktioniert es reibungslos.  :D

NACHDEM ich (Dussel) noch folgenden Befehl:
seqcls 8000,1,0,0,0;

...mit...

seqmsgclear 28000;
seqcls 28000,0,0,0,0;
seqfade 28000, 30000, 0, 0, 0, 2;
seqscript 30500,24;
seqend 31000;

Sonst konnte ich ja die Texbox wegen dunklem Screen nicht sehen. :oops:
Musste selber über meine Dummheit lachen !!
Ja, Stranded macht wirklich in vielerlei Hinsicht Spass!

Nochmals vielen Dank für Deine Geduld, und dass du dich mit solchem Kleinkram abgibst. mlg Aljna
(du hast wirklich immer schnell geantwortet - toller Service !!)
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 11, 2010, 20:14:34 Nachmittag
Das Problem besteht darin, dass man die Machete erst sehr spät herstellen kann. Man müsste das auch mit iwelchen einfachen Knochenmessern oder so machen können.

Wobei: Wo kriegt man dann die Knochen her?  :D
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 12, 2010, 10:34:54 Vormittag
Hi Quester,

Zum Thema Ausweiden:
1. Mach doch für diese Umfrage ein eigenes Thema auf ... ist hier sehr versteckt.

2. die Idee finde ich sehr sehr gut - bringt viel mehr "Realismus" ins Spiel

Warum sollte Mr.Stranded ausgerechnet die hohe Kunst des Ausweidens von Beginn
an perfekt beherrschen?

Am Besten wäre dazu ein neuer Skill.
Darf ich ein paar Ideen dazu äussern?

Skill Stufe: (ev mit Random-Funktion für (Schnelligkeit), Erfolg wie beim Backofen?)
0 nur kleines Fleisch möglich / nur wenig Federn / keine Haut / keine Knochen
0 Ausweiden möglich mit Steinmesser, Messer, Machete, Beil ( ev Unterschiede in der Schnelligkeit??)
1 mehr kleines Fleisch
2 Knochen möglich
3 grosses Fleisch möglich
4 wenig Haut möglich
5 mehr Federn
6 Skalpmesser baubar (ID 838) damit :
schneller ausweiden, mehr Haut, grosses und kleines Fleisch

Ich glaube auch andre finden die Idee des Ausweidens ganz spannend - mlg Aljna
_____
PS: wollte deine Idee ausprobieren, bekam aber nach dem Start ein CTD und folgende FehlerMeldung:
Unit with ID1 is alredy defined as Player
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 12, 2010, 13:11:30 Nachmittag
man könnte dann auch neue gegenstände wie die blase reibringen ( für z.b ein wasserdichtesn drink ding also eine art flasche)
usw. usf
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 12, 2010, 17:28:17 Nachmittag
OK, an die Steine hab ich nich gedacht. Dann bin ich wohl dafür ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 12, 2010, 17:29:24 Nachmittag
obwohl dann müsste da auch blut leigen was das ganze nen bissel krass machen würde ( für die "kleinen" strandet 2 ) spieler
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 12, 2010, 17:30:31 Nachmittag
Wieso "müsste" da Blut liegen?! Das hat doch mit dem Ausweiden nix zu tun!
Abgesehen davon spritzt es sowieso schon -.-
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 12, 2010, 17:36:40 Nachmittag
weil es blutig is wenn man ein tier ausweidet
naja es ist was anderes ob du das flkeisch eifnach rausnimmst oder ob du durch seine gedärme usw. durchsuchts nach fleisch O_o
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 12, 2010, 17:38:39 Nachmittag
Aber man kanns doch trotzdem ganz harmlos darstellen  :D
Das Modell vom Löwen zum Beispiel müsste sich meiner Meinung nach (Es sei denn es liegen nur noch die Knochen da...) gar nicht so sehr ändern - nach dem Motto "es ist ein Loch in der Haut, aber nur unten" ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 12, 2010, 17:47:58 Nachmittag
schade ,... xD
Titel: Re: Fragen zum Scripting
Beitrag von: GerriKo am Februar 12, 2010, 17:50:32 Nachmittag
Jo, bin für das Ausweiden, seit ich von der Möglichkeit mit dem Stein als Messer gehört hab. Super Sache!
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 12, 2010, 18:52:47 Nachmittag
Hi zusammen,

ist sehr spanndes Thema, und ich würd mich irre auf eigenen
Skill freuen...

Aber vielleicht könnte jemand schnell folgendes Problem lösen..

wie verknüpfe ich die beiden Bedingungen am Schluss,
so dass ich zum Dialog "Geschafft" komme?
Der Spieler sollte von Item 808 1 Stück und vom Item 820
1000 Stück haben.


on:start {
   $eisenfaustdia=1;
}

on:use {
   if ($eisenfaustdia==1) {
      dialogue "Schulden", 11;
      $eisenfaustdia=2;
      }
   elseif ($eisenfaustdia==2) {
      dialogue "Schlüssel", 11;
      $eisenfaustdia=3;
      }
   elseif ($eisenfaustdia==3) {
      dialogue "Arbeiten", 11;
      }
   elseif (playergotitem(808)>0)
          (playergotitem(820)>1000) {
      dialogue "Geschafft", 11;
      }}

Danke für eure Hilfe - mfg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: GerriKo am Februar 12, 2010, 19:48:52 Nachmittag
Ich weiß nicht genau ob das was mit Scripten zu tun hat, aber ich schreibs mal hier rein:

Ich mach mir gerade ne normale Map fürs Endlosspiel, eigentlich wollte ich da gar nichts scripten. Allerdings wollte ich auch nicht jeden einzlenen, früchtetragenden Baum mit der dazugehörigen Frucht ausstatten, damit sie dort auch wächst.
Was kann ich tun, damit automatisch z.B. alle Apfelbäume, Bananenpalmen etc. ihre eigenen Früchte tragen? Muss ich das wirklich von Hand machen? Da gibts doch bestimmt ne Funktion für.


EDIT: Ok, die Frage hat sich erledigt. Allerdings würde ich jetzt gerne wissen, wie ich das normale Skillsystem in einer eigenen Karte aktiviere. Ich will ja theoretisch einfach nur eine Zufallskarte ohne den Zufallsaspekt spielen.  =D


EDIT2: Ok, auch erledigt.  :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 13, 2010, 19:49:32 Nachmittag
Danke Quester für die wie immer sehr schnelle Hilfe..

und schon hab ich das nächste Problem mit dem folgenden Script:

on:use {
   diary "Seltsamer, ausgestreckter Arm",34;
}

Dieses Script ist bei einem Knochen eingetragen.
Es sollte bewirken, wenn ich den Knochen nehme, dass in einen Tagebucheintrag (TB34)
verzweigt wird -- es geht aber nicht.
Ich möchte, dass zur TB34 verzweigt wird, wenn ich genau diesen Knochen vom Boden aufhebe.

Wie mache ich es richtig?  - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 13, 2010, 20:22:28 Nachmittag
Vielen Dank - wird sofort umgeschrieben - mlg Aljna
______

Danke Quester für deine Geduld, es macht mir immer mehr Spass an meiner neuen Maps
herumzuwerkeln. Es wäre aber ein hoffnungsloses Unterfangen, hätten wir Anfänger
keine so freundliche Unterstützung von euch. Es macht Spass, in diesem Forum bei euch
unterwegs zu sein.

Nebenbei - wirst du den Skill "Ausweiden" wirklich scripten? Das wär schon eine tolle Sache.
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 13, 2010, 21:25:26 Nachmittag
WOOO -- WOOO -- WOW - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 13, 2010, 21:55:29 Nachmittag
kommt viel blut dabei??
und kamm das gehirn rausnehmen?
bitte sag ja
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 13, 2010, 22:04:05 Nachmittag
schade -.-"
kannst du ein bauen das man das gehirn enfernen kann wenn man gut genug is? bitte
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 13, 2010, 22:15:07 Nachmittag
naja man kanns essen O_o und man könnte den skill chirug einfügen , das man sich teile von anderne anpflanzen könnten udn dann auhc noch 1 2. gehirn reinpackt kp warum amcht doch spaß  xD
oder das man so menschen erschafft O_o ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 14, 2010, 20:31:25 Nachmittag
Hi zusammen, Ich habe ein Problem, das ich mit dem Mengentrigger
nicht lösen konnte.

Wenn der Spieler 10000 Goldstücke hat, (ID 820), sollte ein Tagebucheintrag
aufgerufen werden.

Es darf kiene Rolle spielen, ob der Spieler das Geld im eigenen Inventar hat,
oder ob es verteilt in diversen Truhen liegt.
Ist das überhaupt machbar?

Nur der Spieler besitzt Goldstücke, sie liegen sonst nirgens rum, auch nicht
in einem fremden Inventar

kann mir bitte jemand helfen? - mlg Aljna
____
Die Highlights des Tages: Ausweid-Skill und eventuelle Normbauteile für den Hüttenbau - COOL !!!
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 15, 2010, 13:50:37 Nachmittag
Vielen Dank  :D  - werde es gleich ausprobieren.. - mlg Aljna

Edit 1:
Hab es ausprobiert, funktioniert leider nicht.
Ist folgendes richtig?

1 Script in Textbox schreiben
2 diary-Verweis wie gewohnt in zweite Textbox ??

on:timer{
   $gold=count("item",820);
   if ($gold>10000) {diary "10000 Goldstücke gespart",64;}
}

Edit 2:
ich habe deinen Hinweis ganz am Schluss übersehen.
Script ist jetzt in einem Zeittrigger untergebracht, dieser ist auf 1-Minutenabfrage eingestellt.
Jetzt klappt es hervorragend - vielen Dank Quester

on:trigger{
   $gold=count("item",820);
   if ($gold>10000) {diary "10000 Goldstücke gespart",64;
   stoptrigger 65;
}
}

EDIT 3:
Da ich kein Doppelpost machen darf, noch eine Frage:

Wie bekomme ich anstelle des grünen Häckchens ein rotes x bei folgendem Button?

button=action:close, bla bla  bla (so habe ich ein grünes Häckchen)

Danke - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 17, 2010, 22:48:52 Nachmittag
Wollte mich noch bedanken für die Hilfe - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 17, 2010, 23:03:36 Nachmittag
ach bitte ^^
xD
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 18, 2010, 13:54:29 Nachmittag
Kann man eigentlich die Schriftart (z.B Tagebucheintrag) ändern?
Ich meine damit nicht die Farbe etc., sondern den Font - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 18, 2010, 14:46:23 Nachmittag
ja das ist soweit ich weiß im diary befehl integriert gib es einfach mal ein und klicke dann hinter den befehl da müsste das eigentlich stehen
Titel: Re: Fragen zum Scripting
Beitrag von: GPolice am Februar 18, 2010, 15:09:00 Nachmittag
Wie stelt man ein das man wenn man auf den Stargate zurennt (oder benutzt) und der auch Aktiviert ist und geöffneten Iris hat das man dan auf einer anderen Map landet...

Und das der Stargate Kontroller dann noch 3 Unterschiedliche Warpplätze hat und da wenn man auf den anderen dann drückt  dann kommt man auf einer anderen karte.

Geht neides irgendwie.?? Bitte  ^o)
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 18, 2010, 15:46:30 Nachmittag
Ich habe einmal geplant das wenn die iris geöffnet ist und man das Stargate benutzt ein Dialog kommt mit buttons welche zu Seiten führen welche mit dem nötigen Sript versehen sind
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 18, 2010, 17:44:38 Nachmittag
ähm wie mache ich das ein bambus auf nix feuert?
Titel: Re: Fragen zum Scripting
Beitrag von: finman am Februar 18, 2010, 19:41:26 Nachmittag
Ich hab kaum (eigentlich gar keine) Erfahrung mit scripten. Hab ein Problem auf einer map, die ich grade mache:
Es geht um einen Dialog, der Farmer greift auf die Textbox zu, die wird aber nach dem ersten ansprechen des Farmers unbrauchbar (soll so sein), wenn man den Farmer jetzt allerdings nochmal anklickt kommt die Fehlermeldung, das die Info id nicht mehr existiert, was auch klar ist. Kann ich die Fehlermeldung irgendwie umgehen oder den dann was anderes sagen lassen???


Tipp: Geht auch bei der Quest of Atlantis Demo nicht, sprecht den Farmer mal an und danach nochmal, kommt auch nen Fehler.

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 18, 2010, 19:53:54 Nachmittag
Du musst den Dialog mit if($Farmer==0) einklammern, und zum Schluss vom Gespräch setzt du $Farmer=1
Titel: Re: Fragen zum Scripting
Beitrag von: finman am Februar 18, 2010, 20:06:27 Nachmittag
thx
Titel: Re: Fragen zum Scripting
Beitrag von: Mr.Namenlos am Februar 19, 2010, 15:18:32 Nachmittag
wie mache ich das ein gegenstand bzw. object in seine position wechtles also nich im editor sonderm im z.b testmodus


und wie kann ich machen das man ewig ausdauer hat?
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am Februar 20, 2010, 15:45:15 Nachmittag
Ich wollte mal fragen, wie man tagebucheinträge macht!
Habe bis jetzt nur maps ohne sie erstellt!
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 20, 2010, 15:50:04 Nachmittag
[uswiki:wiheu6sb]diary[/uswiki:wiheu6sb]
Das ist der Name des Scriptes dahinter stehen die Anweisungen genauers unter obigen Link, wenn der nicht klapt einfach bei Google Strandet 2 eingeben und dann ist da irgendwo die offiziele Strandet 2 Seite von Unreal da gibts nenn Scripting Tutorial und ein Wiki für Scripts
Titel: Re: Fragen zum Scripting
Beitrag von: finman am Februar 20, 2010, 18:49:22 Nachmittag
Du kannst bei Infos im Editor Textboxen setzten. Setzt eine irgendwo auf die Karte und merk dir die ID. Dann schreibst du dort, wo du den Eintrag haben willst diary hin, dahinter den Namen des Eintrags und da hinter die ID der Info:

Code: (text) [Auswählen]
  1. diary "Titel","ID";

jetzt kannst du in die Textbox das schreiben, was als Tagebucheintrag angezeigt werden soll.

Das ganze muss unter on:start (wenn er erscheinen soll, sobald das Spiel startet), on:use (wenn er erscheinen soll, wenn man was benutzt), on:trigger (bei Infos gibt es z.B. Gebietstrigger, die auslösen, wenn man das Gebiet betritt. Wenn er erscheinen soll, wenn ein Trigger aktiviert wird, solltest du das schreiben) stehen. Es gibt noch mehr Befehle dieser Art, die (ich zumindestens) nicht brauche.

Das ganze muss dann so aussehen:

Code: (text) [Auswählen]
  1. on:use
  2. {
  3. diary "Titel","ID";
  4. }

oder:

Code: (text) [Auswählen]
  1. on:trigger
  2. {
  3. diary "Titel","ID";
  4. stoptrigger "ID vom Trigger";
  5. }

Ohne Klammern und Semikolons klappt das nicht.

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am Februar 21, 2010, 13:39:26 Nachmittag
Danke! Ihr habt mir sehr geholfen!!! Jetzt kann ich endlich "vernünftige" maps machen... :hooray:


Edit:
habe folgenden Befehl:

on:trigger {
         diary "Versperrter Weg",15;
}

Aber irgendwie wiederholt der den Eintrag immer und immer wieder!
Woran liegt das?
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am Februar 21, 2010, 20:20:21 Nachmittag
AH!!!! DANKE!!!!!!!!! :D  :D  :D

Edit: Jetzt klappts!!  :hooray:  :D  :D
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 22, 2010, 20:26:49 Nachmittag
Hi,

ich habe ein grosses problem mit einer kleinen Sache.

Wenn der Spieler einen Gegenstand vom Boden aufnimmt, z.B. einen
Beutel (ID 1) soll eine Variable ausgegeben werden..

ich habe folgendes in eine Textbox geschrieben:

if (playergotitem(1)>0) {
$sparte=random 19;
$post=random 9;
}
if (($sparte>=0) and ($sparte<=9)){
      dialogue "$post", 1;
      }
   elseif (($sparte>=10) and ($sparte<=19)){
      dialogue "$post", 2;
      }
Je nach Zufallszahl wird dann in die entsprechende Textbox verwiesen.
..wo steckt der Fehler..?

Auch folgendes geht nicht:

if (playergotitem(1)>0) {
dialogue "1", 1;
Wenn ich einen ganz bestimmten Beutel aufheben will, mache ich das mit:

on:collect

Aber ich möchte irgendeinen x-beliebigen Beutel aufheben.
Mit dem Mengentrigger geht das ja nur einmal, wegen dem stoptrigger - Befehl..

..ich komm nicht mehr weiter.. - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Februar 23, 2010, 16:07:00 Nachmittag
Du kannst dein Script mit on:collect und [s2s:17zrvbab]def_extend[/s2s:17zrvbab] in die Definition des Beutels schreiben.
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 23, 2010, 16:49:37 Nachmittag
..Hi..

..das Problem ist, dass der Beutel gespawnt wird..
Ich kann so nicht die Script_Box des Items benützen, wie ich es
gewohnt bin..

Bitte erklär mir, wie ich in die Definition des Beutels schreiben soll..
(ich gehöre zu den neuen "Scriptern", und verstehe nicht ganz...  :oops: )

Das Ganze verschärft sich dann noch, wenn ich eine Flaschenpost aufnehmen will,
und dann mit einem Mengentrigger an ein Script in einer Textbox verweise.
Geht nicht, weil sich die Flaschenpost in eine leere Flasche verwandelt.

Also: wie mache ich folgendes:
Ich lese eine gespawnte Flaschenpost auf, und will dann einen Scriptbefehl ausführen..

Für jede Hilfe bin ich wirklich sehr dankbar.. - mlg Aljna
-----
...nein ich hab mir noch nicht alle Haare ausgerissen...
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 23, 2010, 17:55:37 Nachmittag
Du kannst auch den Beutel erst unsichtbar machen und statt ihn zu spawnen einfach sichtbar ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 24, 2010, 17:00:54 Nachmittag
Hi zusammen,

kann mir jemand sagen, wie man folgende Befehle korrekt einbindet, und wo?

addscript item,40,2; / freescript item,40;oder:

addscript "item",40,"2"; /  freescript "item",40;

Braucht es dazu einen Eintrag im globalen Script, oder reicht eine Textbox aus?
Braucht es ein zusätzliches on:start oder on:load   ...?

Hab viel rumprobiert, aber nichts will klappen... - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Februar 24, 2010, 20:33:14 Nachmittag
Danke vielmals..

Welche Passage muss ich genau in die Textbox schreiben?
nur die grün markierte geht nicht, funktioniert aber, wenn
ich sie direkt im items_stuff.inf ändere...

Hab es so gemacht:
1 globales Script eingetragen wie vorgeschlagen
2 in Textbox 2 grüner Teil eingetragen
...geht aber irgendwie nicht...

#!NEXT
##################
# BID:   5      
# GID:   0      
# File: items_stuff
##################
id=40
name=Flaschenpost
icon=gfxbottlemessage.bmp
group=stuff,std
model=gfxbottlemessage.b3d
scale=0.3
#mat=glass
mat=leaf
#^damit der Kram auf Zufallsmaps gefälligst oben schwimmt...
weight=200
info=eine Flasche mit einer Nachricht drin. Auch Flaschenpost genannt
healthchange=0
health=100
script=start
on:start { if (count("object",500)>0) { skip; }
  local $y;
  $y=gety("self");
  if ($y<0) {
    setpos "self","self",0,"self";
  }
  freevar $y;
}

on:collect {
  msg "Eine Flaschenpost! Nachricht war leider unlesbar...",4,5000;
  msg "...wenigstens habe ich jetzt eine Flasche!",4,5000;
  find 106;
  skipevent;
  free "self";
}script=end

Vielen Dank für die Hilfe - mlg Aljna

Edit 1: hier ist der grüne Teil das Orginal, hab dort natürlich mein neues Script eingetragen  :)
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 25, 2010, 15:43:28 Nachmittag
Hallo wie macht man das immer zu einer bestimmten tageszeit ein Ereigniss eintritt und kann man es irgendwie machen das Einheiten verschwinden um später wieder aufzutauchen?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 26, 2010, 15:14:21 Nachmittag
Aha vielen dank
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Februar 26, 2010, 19:14:52 Nachmittag
Oder du machst sie unsichtbar und hältst sie an.
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 26, 2010, 19:19:46 Nachmittag
Wie mache ich sei unsichtbar?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Februar 27, 2010, 13:30:58 Nachmittag
thx
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am März 03, 2010, 21:08:48 Nachmittag
Hi,

Ich hab ein "Problem" mit den Blumen (ID 105 - 109).
Aussäen kann man sie mit dem enstprechenden Samen.
Wenn ich sie aber ernten will, passiert - nichts.

Eingetragen ist in object:flowers.inf folgendes:

#!NEXT
##################
# BID:  6    
# GID:  0    
# File: objects_flowers
##################
id=105
name=Blumen
icon=gfxflowers06.bmp
group=flower,std
model=gfxflowers06.b3d
fx=16
scale=0.35
col=0
health=5
autofade=200
script=start
   on:hit {
      if ( random(3)==1) { find 513; }
   }
   on:kill {
      create "item",513,getx("self"),getz("self"),3;
   }
script=end

Wenn ich die Blumen abernten will, wie z.B. die Getreideähren, wird sie
nicht vom Spieler getroffen. Es kann kein Samen gefunden werden.
Aber gemäss Script wäre doch ein Wahrscheinlichkeit von 33% gegeben, einen
Samen zu finden, und health hat den Wert von nur 5; also sehr leicht zu
zerstören.

Wo ist der Gedankenfehler..?
Das Script müsste doch funktionieren...

Warum der Aufwand? - ich möchte in Stranded ein wenig gärtern können - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am März 03, 2010, 21:48:58 Nachmittag
In der Definition steht "col=0". Ersetze dies durch "col=1" und das Problem ist gelöst.
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am März 03, 2010, 22:20:36 Nachmittag
..viiieelen Dank, jetzt klappt es..

Ich habe auch gleich in objects_flowers.inf den Wert in health=50 gesetzt
und in items_ext_eggs.inf den Wert param=plantplace,1
So kann man auf jeden Fall genügend Samen gewinnen und sehr eng pflanzen,
was bei Blumen sehr hübsch aussieht.
Könntet ihr diese Werte für Item-ID 513 bis 517 und Object-ID 105 bis 109 ev. in das Update aufnehmen?
____
..wo ist die Hacke -- ich muss in den Garten..

ich kann nun endlich auch Blutblatt pflanzen.

Dabei habe ich aber folgendes Problem:
Beim 1.Mal pflanzen wird 1 Blutblatt gesetzt, beim 2.Mal 2 Stück, beim 3.Mal
4 Stück, beim 4.Mal 8 Stück etc..

Folgendes Script ist bei items_edible.inf unter ID16 "Blutblatt eigetragen:


on:useground {
   $x=use_x();
   $z=use_z();
   $kraut=getplayerweapon();
      
// kein Blutblatt in der Hand
   if ($kraut==0) {
      msg "kein Blutblatt in der Hand",4;
      skip;
   }

// Blutblattsetzlinge vorhaden
   elseif (playergotitem(16)>=1) {
      freestored "unit",1,16,1;
      process "Setzling pflanzen",1500;
      create "item",16,$x,$z,1;
   }

// kein Blutblatt mehr Setzlinge aufgebraucht
   elseif (playergotitem(16)==0) {
      msg "..ich muss noch mehr Setzlinge holen..",3;
   }
}

Wenn ich es so mache:

create "item",4,$x,$z,1;

..wird brav immer nur 1 Gold auf die Map gesetzt, und 1 Blutblatt aus
dem Inventar entfernt..

..irgendwas ist falsch.. ..aber WAS..?? - sehr genervt und trotzdem mlg - Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am März 06, 2010, 17:04:00 Nachmittag
Ich wolte fragen wie man per Script z.B. die Geschwindikeit erhöht und so ins besondere wie und ob es auch mit Skills geht
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am März 13, 2010, 11:01:50 Vormittag
Kann man mit dem Platzierungsscript für häuser auch mehrgeschössige Häuser bauen, oder muss man die dann wieder mit Leertaste "hochziehen"???
(habe davon leider kaum ahnung...)
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am März 13, 2010, 12:36:14 Nachmittag
ich kenne den Script leider nicht aber ich glaube das geht (Y=höhe)
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am März 14, 2010, 11:26:25 Vormittag
da steht nur was von hold_y=0...
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am März 14, 2010, 12:02:38 Nachmittag
dann musst du da wohl die höhe hinschreiben
Titel: Re: Fragen zum Scripting
Beitrag von: Schattentöter am März 14, 2010, 15:57:47 Nachmittag
Passiert nix... :(  
 :cry:
Trotzdem danke... ;(

Edit:
Ist es denn irgendwie anders möglich, mehrstöckige Häuser zu bauen?(ohne mit der Leertaste)
Ich habe schon einige Häuser gesehen(selbstgebaute) und wollte auch mal gerne...
Einstöckige kann ich, wollte aber gerne 2stöckige....
Titel: Re: Fragen zum Scripting
Beitrag von: finman am März 28, 2010, 11:46:09 Vormittag
Tach zusammen,
hab mal eine Frage:
Für dieses Höhlensystem was ich mache, hab ich mir ne lustige Falle gemacht (Quester weis glaub ich, was ich meine), die ihr Modell ändern und einen sofort töten soll, sobald man sie berührt (oder wie beim Knallpilz, wenn man in der Nähe ist.) Könnt ihr mir dazu vielleicht das Script geben, da ich nicht wirklich gut programmieren kann und ich das gerne mal ausprobieren würde, bevor ich es weitergebe, bin ich hier komplett auf euch angewiesen.

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: finman am März 28, 2010, 12:01:50 Nachmittag
Und der Objektwechsel?

EDIT: Wie viel Leben hat der Spieler? 100?
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am März 29, 2010, 19:06:19 Nachmittag
Hi,

Kann man mit einem globalen Script (on:load ...) Kombinationsscripts überschreiben?

Ich suche für meine neue Map eine Lösung, wie man eine definierte Kombination,
also z.B. 30 Beeren + 1 Flasche + 1 Stein = 1 Saft neu definieren kann.
in z.B 10 Beeren + 1 Flasche + 1 Stein = 1 Saft

Itemdefinitionen weiss ich, aber Kombinationen.???. - mlg Aljna

Danke für die schnelle Antwort
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 04, 2010, 17:51:22 Nachmittag
Bei dem folgenden Script stimmt was nicht er wird nicht ausgeführt aber es kommt keine Fehler meldung

in Globalen Script

on:start
{
def_extend "info",30,"5";
}


im Text Container 5

on:trigger 6
{
create "unit", 127;
}


und an diesem Script ist auch etwas falsch

on:trigger 10
{
damage "self", 10000;
}
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 05, 2010, 12:56:39 Nachmittag
habs ohne Zahlen ausprobiert hat aber nichts gebracht...
Titel: Re: Fragen zum Scripting
Beitrag von: Hecky3 am April 05, 2010, 13:51:34 Nachmittag
Du musst die on:trigger Befehle in den Trigger schreiben und nicht in ein textcontainer...
wenn du dann etwas im textcontainer ausführen willst benutze event "Auslösung","info",5;

EDIT: Mist zu langsam!
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 05, 2010, 14:15:53 Nachmittag
Das habe ich auch schon gemacht
Titel: Re: Fragen zum Scripting
Beitrag von: Hecky3 am April 05, 2010, 14:29:42 Nachmittag
Du setzt den Gebiets-Trigger (10) auf die Map und klickst drauf.
jetzt siehst du ein Fenster mit mehreren Optionen.
Der Auslöser muss der Spieler sein, der Trigger muss sofort aktiv sein.
Jetzt schreibst du deinen Script in den Gebietstrigger.
Ungefähr so:
Code: (text) [Auswählen]
  1. on:trigger {
  2.                  //Befehle...
  3.                  local "$Id";
  4.                  $Id=create "unit",127; // Erstellt die Unit 127 (Seltsame Kreatur) auf den Koordinaten 0/0/0
  5.                  //Kleine Verbesserung:
  6.                  setat "unit",$id,"self"; // Setzt die Unit auf den Trigger
  7. }
  8.  

Bei dem Damage befehl wird das nichts bringen wenn du den Befehl in einem Textcontainer hast...
Wenn du den Textcontainer entfernen willst benutzte free "self";
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 05, 2010, 14:31:24 Nachmittag
aha vielen dank

edit: hat nicht geklapt
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 09, 2010, 21:36:53 Nachmittag
Hi,

ich versuchte so zum privaten Spass das Spinnrad (ID 339) zum Spinnen zu gebrauchen.
Dazu habe ich folgende Zeile in "die Wolle und Baumwolle" eingefügt, um zu überprüfen,
ob sich der Spieler in der Nähe des Spinnrads aufhält, wenn er das Item benutzt:

if ((count_inrange("object",339,50)+count_inrange("object",339,50))>0)

Es funktioniert, aber ich habe den Verdacht, das man das anders macht..
Wie wäre es richtiger?
Vielen Dank für den Tipp - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 09, 2010, 22:13:33 Nachmittag
Danke Quester,

..wie kann ich abfragen, ob der Spieler Wolle in der Hnad hat?

es funktoniert schon, wenn ich mit:

if (playergotitem(48)>0){...   (nur Abfrage ob im Inventar..)

arbeite, aber ich möchte gern, dass man die Wolle in die Hand nehmen muss, und erst dann, wenn ich das Spinnrad mit
on:use anklicke, die Wolle gesponnen wird...
...ansonsten wird eine msg ausgegeben

Danke für die Hilfe - mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 09, 2010, 22:31:14 Nachmittag
Da habe ich was Wichtiges gelernt.
Das kommt umgehend in meine Scripte-Sammlung - vielen herzlichen Dank, Quester - mlg Aljna

Edit 1:
Alles funktioniert gut .. bis auf eine Fehlermeldung:
Script Error Script object 6834 Spindel type 339 Row 17 Col 54 ('debug for details')
Was habe ich noch falsch gemacht?
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 09, 2010, 22:55:27 Nachmittag
Vielen Dank...

id=339
name=Spindel
model=gfxextspindle.b3d
icon=gfxexticonsspindle_ico.bmp
group=ext,building,town,milkakuh
scale=1.5
mat=wood
script=start
on:use {
if ((getplayerweapon()==48)&&(playergotitem(48)>0)) {
      play "mat_leaf1.wav";
      freestored "unit",1,48,1;
      find 49;
      process "Schnur mit Spinnrad spinnen",700;
      event "iskill_handy","global";
       }
      elseif ((getplayerweapon()==341)&&(playergotitem(341)>0)) {
      play "mat_leaf1.wav";
      freestored "unit",1,341,1;
      find 49;
      process "Schnur mit Spinnrad spinnen",1300;
      event "iskill_handy","global";
      }
      else{
         msg "Ich brauche Wolle oder Baumwolle zum Spinnen",3:
      }
   }
script=end
- mlg Aljna
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 09, 2010, 23:12:51 Nachmittag
Vielen herzlichen Dank, Quester - für Deine superschnelle Hilfe  - mlg Aljna

JUHU - ich habe heute mit Deiner Hilfe mein ersten Object ins Spiel eingebaut - JUHU
(ich weiss, es ist Spam - aber ein Dankeschön soll man nicht löschen) :lol:

Meinen herzlichen Glückwunsch. Hast du allerdings schonmal daran gedacht, dass man keine Doppelposts machen darf? Wenn du das nächste mal eine Frage hast, und noch keiner nach dir gepostet hat, musst du diesen Beitrag editieren. Es könnte dann leicht passieren, dass du übersehen wirst.
~Quester~

Edit:
OK, das hab ich verdient und hab es kommen sehen  :oops:  ,
ich rede wohl zuviel, aber ich werde das mit den Doppelpost's in Zukunft besser beachten  :) - mlg Aljna

PS: ich freu mich immer noch wie... -  :oops: - schon wieder Spam!   :lol:
(zuvieele Smilies, ja?)...
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am April 10, 2010, 23:53:31 Nachmittag
Mann, Quester, jetzt sei mal nicht so hart. Oder hast du einen Foren-Knigge bei dir im Regal stehen?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 17, 2010, 13:22:28 Nachmittag
id=1014
name=Buschsamen
icon=gfxbush14.bmp
weight=1
param=plantable,1
param=plantskill,100
param=plantplace,20
param=plantduration,3000
param=planttimer,9
param=plantobject,185


dies ist zwar eher ne Modding frage aber egal

ddas Item wird im Editor nicht angezeigt kann mir jemand sagen wodran es liegt?
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 17, 2010, 16:57:20 Nachmittag
Hi,

ich möchte gerne eine Handspindel ins Spiel bringen.
Sie soll ein Werkzeig sein, mit dem man Faden spinnen und Schnur zwirnen kann.
Ich habe 3 Fragen dazu:

1 Wie mache ich ein passendes Icon - meines hat nicht die genauen Masse wie die anderen
   und wird prompt nicht angezeigt, glaube ich...


2 In welche Combinations.inf sollte ich das wo eintragen?
   Was hat es mit BID / GID auf sich?

#!NEXT
#!NAME=
##################
# BID:   1      
# GID:   0      
# File: combinations_ext_tools
##################
combi=start
id=handspindel
req=23,1
req=24,1
gen=1200,1
script=start
   speech "positive";
   event "iskill_handy","global";
   process "Handspindel basteln",3000;
script=end
combi=end
script=start
....
script=end

Ich habs mal so unter die Pfanne eingetragen und mir promt einen CTD eingefangen...



3 Und wo müsste ich es in items_ext_tools.inf eintragen?

###Handspindel
id=1200
name=Handspindel
icon=gfxaljnahandspindel.bmp
group=ext,tool,aljna
model=gfxaljnahandspindel.3ds
weight=200
scale=30
mat=wood
healthchange=0
info=Eine Handspindel - damit kann ich Faden spinnen und Schnüre drehen.

Eigentlich funzt es, aber ist es auch richtig so?
(Die ID hab ich hoch angesetzt, um keinen Knoflickt zu provozieren, und
vor allem der Eintrag in group war mein Phantasieprodukt...)

Danke für die Hilfe - mlg Aljna

EDIT - Vielen Dank Quester  :D
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am April 23, 2010, 14:57:44 Nachmittag
Hi Quester,

Ich habe ein Prblem mit meinen Dachaufbauten..
Wenn ich ein Dachelement auf das Bambusfenster bauen will, wird das Bambusfenster gelöscht.
Auch wenn ich ein Boden (Stein oder Holz) darauf bauen will - das gleiche Problem.
Aber nur, wenn ich das Element mittig auf das Bambusfenster bauen will.

Das Problem besteht nicht bei den Holz oder Steinfenstern..
Die Scripts sind identisch.
Folgende Zeile ist mir in objects_house^.inf bei der ID=1004 aufgefallen:

if (($childtype==1021) || ($childtype==1022) || ($childtype==1023)) {
Immer das Fenster im dritten Eintrag funktioniert nicht..

if (($childtype==1021) || ($childtype==1023) || ($childtype==1022)) {
Jetzt beim Holzfenster (ID=1022)

Wie könnte man das umschreiben? - mlg Aljna

EDIT 1:
Danke für die schnelle Antwort.
Darf ich die editierte Version  von objects_house.inf bei meinen Dachelementen mit hochladen?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 23, 2010, 18:10:55 Nachmittag
script=start
on:use {
process "Zaubern",5000;
local $id;
$id=create("item",134);
$id=create("item",135);
store $id,"unit",1;
eat 0,-10,-10,-2;
   }
script=end

es wird nur das untere der beiden items erstellt kann mir jemand sagen wo der fehler liegt?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 23, 2010, 18:26:09 Nachmittag
Vielen dank jetzt klapts
Titel: Re: Fragen zum Scripting
Beitrag von: finman am April 24, 2010, 19:58:47 Nachmittag
Tach zusammen,
ich wollte mir fürs Schmieden ein ähnliches Script wie beim Master of the Woods Mod machen, also folgendermaßen:
1. Eisen in Esse legen (man soll das Eisen als Waffe nehmen können und das dann irgendwie in die Esse legen, sodass man es sieht. Nach 4-5 Sekunden soll das Eisen dann gegen ein Modell von mir (glühendes Eisen) ausgetauscht werden.)
2. Glühendes Eisen auf dem Amboss zu einem glühenden Schwertrohling weiterverarbeiten (auf Amboss legen, mit Hammer draufhauen und dann wieder Modelwechsel)
3. Glühender Schwertrohling in ein Wasserbad tauchen und so zu Schwertrohling verarbeiten (soll im Wasserbad bzw. auf dem Objekt sichtbar sein. Dampf sollte aufsteigen und das Modell ersetzt werden)
4. Schwertrohling an Schleifstein zu einem Schwert verarbeiten (da hab ich mir noch keine Gedanken drüber gemacht :D Wahrscheinlich irgendwie den Rohling davorhalten, wenn das irgendwie gehen sollte. (brauch auch noch ne Animation, 3ds kann nicht gelesen werden, also wenn wer Lust hat die mit Milkshape zu machen, würd ich mich  sehr drüber freuen :D))

Hab vom Scripten nur leider recht wenig Ahnung, kann mir da vielleicht irgendwer helfen? (Zumindestens Schritt 1, der Rest wiederholt sich ja eigentlich fast nur vom Prinzip her :D)

Ich habs mal mit nem ähnlichen Script wie beim Hammer probiert, wollte aber irgendwie nicht :D

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: finman am April 24, 2010, 20:30:27 Nachmittag
Zitat von: "Quester"
Wir wollen doch hier nichts klauen, das Prinzip auch hier etwas zu aufwendig. Vielleicht will dir ja jemand helfen, aber so ganz ohne Erfahrung wird das nichts.

Hab nicht vor das zu "klauen", soll eher für mich privat werden. Die Modelle sind alle fertig, bräuchte also nur Hilfe beim Script :D

So ganz ohne Erfahrung bin ich ja auch nicht, nur halt nicht so viel Erfahrung :D
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 25, 2010, 11:22:26 Vormittag
beim ersten Punkt könnte man vieleicht diesen Script nehmen:
on:start
{
timer  //wie genau das ist weis ich nicht
}
on:timer // Das stimmt auch nicht ganz
{if ((count_inrange("state",5,Radius)+count_inrange("state",4,Radius))>0)
{
alteritem 1,ID;
}
timer // hier kommt das gleiche hin wie beim ersten Timmer
}

das ist nur eine idee die wahrscheinlich nicht geht aber der nötige Script ist wahscheinlich so ähnlich
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 26, 2010, 20:19:03 Nachmittag
Hier mein code:
Code: (text) [Auswählen]
  1. on:use {
  2. skipevent;
  3. find 44 ,2;
  4. find 38 ,6;
  5. msg "Wasser und Brot";
  6. free "object" "self";
  7. }
  8.  
Hier meine frage:
wieso löscht sich die kiste nicht? }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am April 27, 2010, 14:02:32 Nachmittag
Weil du nur den inhalt der kiste gelöscht hast

mach mal das hier
setze die Hp auf 1
gib der kiste den stat unsterblich

und dann füge diesen Script noch ran

freestate "object", ID;
addstate "object", ,"poison";
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 27, 2010, 18:30:19 Nachmittag
danke damit klappts  :hooray:
meine zweite frage:
wie kann man machen das die unit einen bestimmten
pfad folgt?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: finman am April 27, 2010, 20:32:01 Nachmittag
Probiers mal mit unitpath.

Hab ja oben schonmal was vom Schmieden erzählt, hab jetzt was angefangen, hab aber ein Problem:
Hab erst die Zeile
Code: (text) [Auswählen]
  1. if(count_stored("unit",1,85)>=1) {
nicht drin gehabt, da lief alles prima, bis auf, dass man unendlich viel in die Esse legen konnte, darum jetzt die Zeile, jetzt passiert aber nix mehr, irgendwer ne Idee, worans liegt? (Bin nicht der beste Scripter, könnte also auch an so ner recht einfachen Stelle gescheitert sein :D)

Code: (text) [Auswählen]
  1. on:use {
  2.         if(getplayerweapon==85) {
  3.             if(count_stored("unit",1,85)>=1) {
  4.                 freestored "unit",1,85,1;
  5.                 $id1=create("item",85);
  6.                 $x=getx("self");
  7.                 $z=getz("self");
  8.                 $y=gety("self");
  9.                 setpos "item",$id1,$x,$y+25,$z;
  10.                 $id2=currentid();
  11.                 timer "object",$id2,5000;
  12.             }
  13.       }
  14. }
  15.    
  16. on:timer {
  17.         free "item",$id1;
  18.         $id1=create("item",1000);
  19.         $x=getx("self");
  20.         $z=getz("self");
  21.         $y=gety("self");
  22.         setpos "item",$id1,$x,$y+25,$z;
  23.       }
  24.  

ID 85=Eisen
ID 1000=glühendes Eisen

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 27, 2010, 21:21:29 Nachmittag
ich tests nacher ma aus finman. :)
und schon die nächste frage:
wie kann man wenn man z.b
schon mit jemandem geredet hat
machen das er bei nächsten mal etws anderes sagt?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 28, 2010, 14:29:27 Nachmittag
Ok, und wie sieht der code ungefähr aus?  ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 28, 2010, 15:24:47 Nachmittag
Ich hab zwar nichts verstanden aber
thx  :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: finman am April 28, 2010, 15:46:20 Nachmittag
Nochmal ne Frage, hier erstmal die Codes:

Esse (Object-ID 1100)
Code: (text) [Auswählen]
  1. script=start
  2.     on:use {
  3.         if($esse==0) {
  4.             if(getplayerweapon()==85) {
  5.                 if(count_stored("unit",1,85)>=1) {
  6.                     freestored "unit",1,85,1;
  7.                     $id1=create("item",85);
  8.                     $x=getx("self");
  9.                     $z=getz("self");
  10.                     $y=gety("self");
  11.                     setpos "item",$id1,$x,$y+21.3583,$z;
  12.                     $id2=currentid();
  13.                     timer "object",$id2,5000;
  14.                     $esse=1;
  15.                 }
  16.             }
  17.         }
  18.     }   
  19.  
  20.     on:timer {
  21.         if($eisen==0) {
  22.             free "item",$id1;
  23.             $id1=create("item",1000);
  24.             $x=getx("self");
  25.             $z=getz("self");
  26.             $y=gety("self");
  27.             setpos "item",$id1,$x,$y+21.3583,$z;
  28.             $esse=0;
  29.         }
  30.         else {
  31.             $eisen=0;
  32.         }
  33.     }
  34. script=end

Eisen (Item-ID 85)
Code: (text) [Auswählen]
  1. script=start
  2. on:collect {
  3.     $eisen=1;
  4.     }
  5. script=end

Amboss (Object-ID 1101)
Code: (text) [Auswählen]
  1. script=start
  2.     on:use {
  3.         if(getplayerweapon()==1000) {
  4.             if(count_stored("unit",1,1000)>=1) {
  5.                 freestored "unit",1,1000,1;
  6.                 $id1=create("item",1000);
  7.                 $xam=getx("self");
  8.                 $zam=getz("self");
  9.                 $yam=gety("self");
  10.                 msg "$yam";
  11.                 setpos "item",$id1,$xam,$yam+30,$zam;
  12.                 $id2=currentid();
  13.                 $amboss=1;
  14.             }
  15.         }
  16.     }
  17. script=end

glühendes Metall (Item-ID 1000)
Code: (text) [Auswählen]
  1. script=start
  2.     on:hit {
  3.         if($amboss==1) {
  4.             if($hitcount<=4) {
  5.                 $hitcount++;
  6.             }
  7.             elseif($hitcount==5) {
  8.                 free "self";
  9.                 $id1=create("item",1003);
  10.                 setpos "item",$id1,$xam,$yam+30,$zam;
  11.                 $amboss==0;
  12.             }
  13.         }
  14. script=end

Ich habe 2 Probleme:
1. Ich hatte erst das Problem, dass man Eisen vor Ablauf der 5 Sekunden aus der Esse nehmen konnte, aber das glühende Metall trozdem entstanden ist. Habe jetzt versucht das zu verhindern, indem ich beim Eisen mit on:collect und einer Variable arbeite, die ich dann bei der Esse abfrage. Ist die Variable 1, sollte das Script unterm Timer nicht mehr ausgeführt werden und durch die if-Abfrage auf 0 gesetzt werden. Irgendnen Lösungsvorschlag? If-Abfrage woanders hin, vor den Timer? (benötigt Script von: Esse, Eisen)

2. Beim Amboss: Hab da zwar noch nicht lange dran rumprobiert, bräuchte aber glaube ich doch mal Hilfe. Man kann das Item drauf absetzten und das ist auch kein Problem, aber wenn man 5 mal draufgehauen hat, wird das Eisen gelöscht und es entsteht kein neues Modell. (benötigt Script von: Amboss, glühendes Metall) Hat sich erledigt!!!

Hoffe ihr könnt mir helfen.

lg
finman
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 28, 2010, 18:04:57 Nachmittag
Zitat
2. Beim Amboss: Hab da zwar noch nicht lange dran rumprobiert, bräuchte aber glaube ich doch mal Hilfe. Man kann das Item drauf absetzten und das ist auch kein Problem, aber wenn man 5 mal draufgehauen hat, wird das Eisen gelöscht und es entsteht kein neues Modell. (benötigt Script von: Amboss, glühendes Metall)
Ich glaube das geht doch mit alteritem?
Titel: Re: Problem beim Script testen
Beitrag von: Anonymous am Mai 02, 2010, 12:35:30 Nachmittag
Wenn ich aus dem Editor heraus  "Map testen" mache und der Script ist fehlerhaft komme ich mit F12 nicht mehr in den Editor zurück.
Ich muss das Programm  mit dem Task Manager  schließen.
Ist das normal ?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 03, 2010, 19:36:30 Nachmittag
Code: (text) [Auswählen]
  1. page=feuer
  2. title=AHHHH!!!
  3. script=start
  4. add "Huch wer ist den der hier?";
  5. add "";
  6. add "AHHH!! ICH BRENNE!!!";
  7. addstate "unit", 1, "4";
  8. script=end
  9. button=action:close,Schnell ins Wasser!
  10.  
es stimmt fast alles nur die add-texte werden nich angezeigt
kann mir jemand helfen  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Hecky3 am Mai 03, 2010, 19:50:02 Nachmittag
Ich würde es entweder mit einer msgbox machen:
Code: (text) [Auswählen]
  1. clear;
  2.  add "Huch wer ist den der hier?";
  3.  add "";
  4.  add "AHHH!! ICH BRENNE!!!";
  5.  msgbox "AHHHH!!!";
  6.  button 0,"Schnell ins Wasser",17,"closemenu;";
  7.  addstate "unit",1,"4";

oder per dialog ohne adds:
Code: (text) [Auswählen]
  1. page=feuer
  2.  title=AHHHH!!!
  3.  Huch wer ist den der hier?
  4.  
  5.  AHHH!! ICH BRENNE!!!
  6.  script=start
  7.  addstate "unit", 1, "4";
  8.  script=end
  9.  button=action:close,Schnell ins Wasser!
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Mai 10, 2010, 17:49:31 Nachmittag
Hi,

wie kann ich eine sfx wie z.B dig.wav etwa 7 mal hintereinander abspielen lassen? :?

process "Mörtel anmischen",5000;
   play "dig.wav";

Schon jetzt vielen Dank für die Hilfe - mlg Aljna

Edit: in diesem Fall: Doppelten Dank an Euch Beide...    :lol:
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Mai 10, 2010, 18:02:49 Nachmittag
process "Mörtel anmischen",5000;
play "dig.wav";
timer 0, 1000, 0, Mörtel;
}
on:Mörtel
{
play "dig.wav";
timer 0, 1000, 0, Mörtel2;
}
on:Mörtel2
{
play "dig.wav";
}

sollte so funktionieren

edit:
Da haben wir wohl Zeitgleich geantwortet Quester XD
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 12, 2010, 22:38:58 Nachmittag
und die nächste frage!
ich will das man ein schwet erst nehmen kann, wenn der besitzer einverstanden ist.
code im schwert:
Code: (text) [Auswählen]
  1. on:collect {
  2. if ($schwert==1) {
  3. msg "Das nehm ich mit.";
  4. }
  5. else ($schwert==0) {
  6. skipevent;
  7. msg "Das darf ich nicht nehmen!";
  8. msg "Ich muss vorher den Besitzer fragen!";
  9. }
  10.  
oh. mist.
mav. =/
nur weil ich den code kopieren wollte.  ^^u
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 13, 2010, 11:51:35 Vormittag
so, jetzt kopier ich mal alles.
textcontainer für den mann:
Code: (text) [Auswählen]
  1. page=start
  2. title=Hallo
  3. text=start
  4. Hallo.
  5. text=end
  6. button=1,Hallo, kann mich mir dein Schwert nehmen?
  7. button=action:close,Jetzt hab ich doch vergessen was ich sagen wollte.
  8. page=1
  9. title=schwert
  10. text=start
  11. Natürlich, du kannst es nehmen.
  12. text=end
  13. script=start
  14. $schwert==1
  15. $Jungermann==1
  16. script=end
  17. button=action:close,Danke, Tschüss.
  18.  
script im mann:
Code: (text) [Auswählen]
  1. on:start {
  2. ai_stay "self";
  3. }
  4. on:start {
  5.   $Jungermann=0;
  6. }
  7. on:start {
  8. $schwert=0;
  9. on:use {
  10.   if ($Jungermann==1) {
  11.      dialogue "start", "2";
  12.   }elseif($Jungermann==0) {
  13.      dialogue "start", "1";  
  14.   }else{
  15.      
  16.   }
  17. }
  18.  
So, und jetzt das script im schwert:
Code: (text) [Auswählen]
  1. on:collect {
  2. if ($schwert==1) {
  3. msg "Das nehm ich mit";
  4. }
  5. else ($schwert==0) {
  6. skipevent;
  7. msg "Das gehört mir nicht!";
  8. }
  9.  
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 13, 2010, 13:26:36 Nachmittag
Da funzt was bei mit dem else script bei schwert nicht.
sollte das nicht elseif heißen?  =D
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 13, 2010, 14:04:10 Nachmittag
danke, jetzt gehts  :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 20, 2010, 20:26:05 Nachmittag
Nächste frage:
wie macht man wenn der spieler z.b eine palme schlägt leben verliert?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: finman am Mai 21, 2010, 14:06:47 Nachmittag
Kannste mit dem Befehl [s2s:3ga9l6vt]damage[/s2s:3ga9l6vt] machen:

Code: (text) [Auswählen]
  1. damage "unit",1,20;

(20 hab ich jetzt mal einfach so als Wert genommen, kannst da den Schaden einstellen)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 21, 2010, 15:46:20 Nachmittag
Aso, danke, ich probiers aus  :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Aljna am Juni 01, 2010, 19:50:41 Nachmittag
Hi zusammen,

ich möchte gern ein object (Salztrockner) auf der Wasseroberfläche baubar machen.
Dazu habe ich in der buildings.inf beim object eingetragen:

buildspace=water

wie schaffe ich es, dass das object aber genau auf der Wasseroberfläche gebaut wird, und
nicht auf dem Grund des Meeres?
Schon jetzt vielen Dank für Eure Hilfe - mlg Aljna

EDIT: Danke, ausprobiert und begeistert   :lol:
Titel: Hab ein problem mit Tauschscript
Beitrag von: Anonymous am Juni 14, 2010, 15:48:43 Nachmittag
weis nich wie ich das Tauschscript hinkrige das hab ich als letztes versucht:

Code: (text) [Auswählen]
  1. on:start {
  2. page=Handel
  3. title=Halt was kaufen
  4. text=start
  5. Was kaufen halt.
  6. text=end
  7. button=kaufen2,Ja
  8. button=action:close,Nee...
  9.  
  10. script=start
  11. if ( playergotitem(9)>0) {
  12. find 1;
  13. freestored "unit",1,9,1;
  14. closemenu;
  15. } else {
  16. msg "Sorry, du hast kein Fleisch!",3;
  17. closemenu;
  18. }
  19. script=end
  20. }
  21.  

klappt aber iwie nich

danke schonmal im voraus
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 14, 2010, 18:32:32 Nachmittag
Geht jetzt immer noch nich :@

also das hab ich beim Häupling im script stehen:
Code: (text) [Auswählen]
  1. dialogue "Handeln", "8";

und das jetzt in der Text info:
Code: (text) [Auswählen]
  1. page=Handeln
  2. title=Halt handeln
  3. text=start
  4. Was kaufen halt.
  5. text=end
  6. button=kaufen2,Ja
  7. button=action:close,Nee...
  8.  
  9. script=start
  10. if ( playergotitem(9)>0) {
  11. find 1;
  12. freestored "unit",1,9,1;
  13. closemenu;
  14. } else {
  15. msg "Tut mir leid, du hast kein Fleisch!",3;
  16. closemenu;
  17. }
  18. script=end
  19.  
  20.  
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 15, 2010, 13:26:19 Nachmittag
Ich glaube es liegt daran das du die seite kaufen2 vergessen hast,
und den titel.  =D
probier mal den code:
Code: (text) [Auswählen]
  1. page=Handeln
  2. title=Halt handeln
  3. text=start
  4. Was kaufen halt.
  5. text=end
  6. button=kaufen2,Ja
  7. button=action:close,Nee...
  8.  
  9. page=kaufen2
  10. title=blub
  11. script=start
  12. if ( playergotitem(9)>0) {
  13. find 1;
  14. freestored "unit",1,9,1;
  15. closemenu;
  16. } else {
  17. msg "Tut mir leid, du hast kein Fleisch!",3;
  18. closemenu;
  19. }
  20. script=end
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 15, 2010, 15:13:30 Nachmittag
juhu :hooray:
jetzt kommt ja schonmal das fenster aber jetzt öfent sich das nach dem schließen wieder xD  
warum  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 15, 2010, 21:34:11 Nachmittag
Hmm. Was haste bei dem häuptling stehen?
on:use vorne oder was?
schau mal obs so beim häuptling steht:
Code: (text) [Auswählen]
  1. on:use {
  2. dialouge "Startseite", "Quelle";
  3. }
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 15, 2010, 21:54:20 Nachmittag
Danke habs nu mittlerweile hinbekommen aber danke  ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 16, 2010, 14:10:03 Nachmittag
Kein problem man hilft ja gerne  ^^d
Titel: Re: Fragen zum Scripting
Beitrag von: the_dragon am Juni 16, 2010, 15:41:10 Nachmittag
ich hab da ein probelm mit den tagebucheinträgen. :S
hier sind die codes:

Trigger
Code: (text) [Auswählen]
  1. on:start 89 {
  2. diary "Is ja ganz toll...", "87"
  3. }

und Textinfo:
Code: (text) [Auswählen]
  1. page=Gestranded
  2. title=Kaufen.
  3. text=start
  4. Na super, da freut man sich, das man mal seine Ruhe hat...,  und dann wird das wieder wörtlich genommen.
  5. Jetzt muss ich einsam übers überleben kämpfen.
  6. text=end
  7. button=action:close,Na dann leg ich mal los!

is bestimt wieder so was wo ich dann denke : hätt ich doch auch gewusst xD
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Juni 16, 2010, 16:01:27 Nachmittag
Zitat von: "the_dragon"
ich hab da ein probelm mit den tagebucheinträgen. :S
hier sind die codes:

Trigger
Code: (text) [Auswählen]
  1. [color=#FF0000]on:trigger  {
  2. diary "Is ja ganz toll...", "87";
  3. stoptrigger;
  4. }[/color]

und Textinfo:[code=text]
Na super, da freut man sich, das man mal seine Ruhe hat...,  und dann wird das wieder wörtlich genommen.
Jetzt muss ich einsam übers überleben kämpfen. code]

is bestimt wieder so was wo ich dann denke ]

ich habs im Zitat korrigiert müsste so eigentlich gehen
Titel: Re: Fragen zum Scripting
Beitrag von: the_dragon am Juni 16, 2010, 16:15:11 Nachmittag
jaa es geht  :hooray:  
aber ^^u  
jetzt öffnet sich der Tagebucheintrag nach dem schlißen immer wieder und ich weiß nich wieso  xD
Titel: Re: Fragen zum Scripting
Beitrag von: Feuer der veränderung am Juni 16, 2010, 17:01:15 Nachmittag
Weil der trigger es macht kontrolliere nochmal den Befehl stoptrigger im trigger
Titel: Re: Fragen zum Scripting
Beitrag von: the_dragon am Juni 16, 2010, 20:42:27 Nachmittag
^^u hat sich erledigt musste noch die Id dest Triggers hinter stoptriger schreiben  xD
Titel: Re: Fragen zum Scripting
Beitrag von: großmeister bob am Juni 24, 2010, 09:47:42 Vormittag
hallo
ich wollte wissen wie der skript ist um mit gegenstände fliegen zu können
das man zum reiten "on:hit {ride;}" benutzt weis ich schon.

gibts sowas einfaches auch zum fliegen wie ein heli oder ein heißluftbalong oder ist das schwerer?
danke für die antwort
Titel: Re: Fragen zum Scripting
Beitrag von: thunderbird am Juni 24, 2010, 13:50:00 Nachmittag
geht glaub ich auch mit ride, der behaviour muss aber dann entsprechend anders sein z.b. aircraft oder so
Titel: Re: Fragen zum Scripting
Beitrag von: großmeister bob am Juni 24, 2010, 14:20:25 Nachmittag
wie?
kannst du bitte den skript vollständig hinschreiben...

nicht in globeale sondern in lokale skriptfeld reinschreiben?
Titel: Re: Fragen zum Scripting
Beitrag von: thunderbird am Juni 24, 2010, 14:41:14 Nachmittag
das womit du fliegen willst muss schon eine unit sein(weil bei deiner anfrage steht gegenstand weiß ja nicht wie du es meinst :D, muss sich ja bewegen können ^^ ) sonst guck einfach mal im unit script unter plane das ist das simpelste. Wichtige definitionen sind dabei auch
rideoffset=Wert
Reithöhe für den Spieler wenn er auf dier Einheit reitet/fährt
flyspeed
Geschwindigkeit zum Abheben

hIer ein scriptauzug aus plane(mit den denke ich wichtigsten definitionen):
rideoffset=5
steering=1
behaviour=aircraft
var=owner,Besitzer,1,0
script=start
   on:use { if ($owner==1) { ride; } }
script=end

mein voriger eintrag war ziemlich sinnlos :oops:  einfach ignorieren wenns geht ^^u
lg thunderbird
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 07, 2010, 22:50:19 Nachmittag
Okay, nach langer zeit wieder mal nen post hier,
Code: (text) [Auswählen]
  1. on:start {
  2. flash 0, 0, 0;
  3. }

So, eigentlich sollte beim obrigen code der bildschirm schwarz werden was er aber nicht tut.
ich hoffe mir kann jemand helfen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 08, 2010, 01:19:37 Vormittag
Ich weiß net,ob das die Lösung ist aber versuchs mal so :
Code: (text) [Auswählen]
  1. 1. on:start {
  2.  2. flash 0, 0, 0,0.005,1.2;
  3.  3. }

Aber eigentlich sollte es gehen...
Achja gibts eigentlich ne Fehlermeldung,wenn man die Map testet?
Es kann aber auch sein,dass die Standardgeschwindigkeit zu schnell ist,sodass der Flasheffekt zu schnell fürs Menschliche Auge ist bzw. einfach zu schnell ist  :D

LG Krelion

PS : Die Standardzeit ist 0.05,deshalb versuchs mal mit 0.005^^
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 18, 2010, 13:22:24 Nachmittag
Hallo erstmal
ich hab da mal ne frage und zwar ich wollte nen Pflanzsamen erstellen der objecte auf den zufalls prinzip erstellt.
Also in der richtung :

id=2017
name=Tannensamen
icon=gfxexticonsseeds_tree3.bmp
weight=1
param=plantable,1
param=plantskill,100
param=plantobject,5020
param=plantplace,50
param=plantduration,6000
param=planttimer,14
script=start
on=plant { $pla+=random(1,3)
                if($pla==1){setparam=plantobject,5020;}
                if($pla==2){setparam=plantobject,5021;}
                if($pla==3){setparam=plantobject,5022;}
             }
script=end

funkt ihrgendwie nicht gibt auch keine fehler meldung. muss dazu sagen ich versuch mich mit dem scripten erst seit ca 2 monaten.
habs dann nochmal mit on:use versucht brauchte auch nix. Mh muss man das dann in dem object script umändern oder wie läuft das.
bei den Palmensamen im ext. mod hab ich ma reingeschaut aber da steht überhaupt nix genau wie in den Palmen an sich.  }:?
also wo muss ich suchen oder brauch ich erst nen richtiges script programm schreib das noch per hand  ^^.

Danke schon mal im Vorraus

Desturo Lemar

PS. an alle moder und scripter respekt das hat richtig was mit arbeit zu tun  xD
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Juli 18, 2010, 14:21:55 Nachmittag
Das geht so leider nicht. Du musst schon eine ID bei plantobject eingeben. Wenn die allerdings zufällig sein soll, musst du die game_plant.inf selber verändern. Da steht nämlich drin was beim Pflanzen passiert.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 18, 2010, 15:39:02 Nachmittag
die game_plant.inf mh nagut ma schauen
danke auf jedenfall für die schnelle antwort

mfg
Desturo Lemar
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 17, 2010, 17:53:52 Nachmittag
Da ich die Story auf dem neusten stand bringen will (naja habe ich bis jetzt bei allen 3 Karten nur..) sind mir da ein paar fehler
auf getreten:

Wenn ich "neu" auf die Insel ankomme ist mein Bildschirm nicht mehr verschommen, sondern normal -_-

Ich habe mir eine "neue" Tagebuch eintrag auf geschrieben aber sie kommt soballt man Startet (also NEU angekommen ist -.-)

(Kupfer eintrag)
gebiet-Trigger
ID: 64
Auslöser: Durch Spieler
Anzahl: gleich/ 0  (was das auch immer bedeutet...)
Raius: 90
Akktiv: Sofort  (also nen Häckchen )
Script:

on:trigger {
   diary "Kupfer gefunden","mapsadventuremap02.s2s","copper";
   free "self";
}

texst:
//~copper
Es sieht aus wie Kupfer! Ich könnte daraus vielleicht Werkzeuge oder Waffen herstellen.

(wäre nett wenn jemand was besseres schreiben könnte  :mrgreen: )

Khaak
MfG
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 17, 2010, 18:19:42 Nachmittag
Du musst Anzahl gleich 1 sagen. Sonst wird der Trigger ausgelöst, wenn sich der Spieler nicht in dem Gebiet befindet.
Zu deinem Verschwommenheits Problem: Hast du eventuel die Effekte oder ähnliches abgestellt?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 17, 2010, 18:40:39 Nachmittag
Alles ist auf hoch bis auf gras (mittel)
Der start punkt hat der nen Script? bei mir nicht  :|
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 17, 2010, 19:30:35 Nachmittag
Wenn du die Story ohne deine änderungen Spielst, verschwimmt die Sicht dann auch nicht? Wenn ja liegt eventuell an der Grafikkarte oder den Einstellungen. Wenn nicht, hast du wohl irgendetwas am Script verändert.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 17, 2010, 19:41:12 Nachmittag
An der Karte liegt es bestimmt nicht..

Globales Script (von der insel )

Code: (text) [Auswählen]
  1. on:start {
  2.     flash 0,0,0,0.005,1.2;
  3.     blur 0.9;
  4. }
  5.  
  6. on:load {
  7.     if ($overrideparrot==1){
  8.         def_override "unit",36,"mapsadventuremap02.s2s","parrotdef";
  9.     }
  10.     def_override "item",93,"mapsadventuremap02.s2s","lockpickdef";
  11. }
  12.  
  13. on:hammercombi {
  14.     if ($hammercombi==0){
  15.         $hammercombi=1;
  16.         diary "Hammer","mapsadventuremap02.s2s","diary03";
  17.         free "info",26;
  18.     }
  19. }
  20.  
  21. on:shelterbuild {
  22.     if ($sheltercounter==0){  
  23.         diary "Dach über'm Kopf","mapsadventuremap02.s2s","diary04";
  24.     }
  25.     $sheltercounter++;
  26. }
  27.  
  28. on:campfirebuild {
  29.     if ($campfirecounter==0){
  30.         diary "Es werde Licht","mapsadventuremap02.s2s","diary05";
  31.     }
  32.     $campfirecounter++;
  33. }
  34.  
  35. on:treehousebuild {
  36.     if ($gotkey==0){
  37.         diary "Der Dietrich","mapsadventuremap02.s2s","diary06";
  38.         local $keyid;
  39.         $keyid=create("item",93);
  40.         store $keyid,"unit",1;  
  41.         $gotkey=1;
  42.     }
  43. }
  44. on:hutbuild {
  45.     if ($gotkey==0){
  46.         diary "Der Dietrich","mapsadventuremap02.s2s","diary06";
  47.         local $keyid;
  48.         $keyid=create("item",93);
  49.         store $keyid,"unit",1;  
  50.         $gotkey=1;
  51.     }
  52. }
#

kenn mich mit sowas nicht aus (zumindes in diesem (klein) Spiel xD)
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 17, 2010, 19:56:56 Nachmittag
Mit dem Script ist alles in Ordnung. ist bei dir in den Grafikoptionen das Häkchen für Motion Blur gesetzt?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 17, 2010, 21:11:47 Nachmittag
Ist aus
was macht es denn?  }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Khaak am August 17, 2010, 21:29:56 Nachmittag
ok Hat sich von selbst erledigt (komisch)

hab noch mal den Mod rüber gezogen ist wieder normal


PS: hab mich mal angemeldet ^^
Titel: Re: Fragen zum Scripting
Beitrag von: großmeister bob am August 25, 2010, 15:25:39 Nachmittag
hallo
ich hab da mal ne frage:
find es were sinnvoll wenn die fackel brennt  wenn man sie aus dem inventar wirft!
und das  geht am einfachsten wenn man das state feuer in die dev schreibt, dacht ich mir. stimmt das?

leider hab ich in den devinitionsdatein kein überblick -_-
weiß jm wie ich das genau machen muss

vielen dank
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 25, 2010, 15:39:58 Nachmittag
Das könnte man folgenermaßen lösen:
Code: (text) [Auswählen]
  1. on:drop {
  2. addstate "self","fire";
  3. }
Titel: Re: Fragen zum Scripting
Beitrag von: großmeister bob am August 25, 2010, 21:01:35 Nachmittag
super thx,
das sieht auch sehr gut aus... brennt halt an der falschen seite, aber das stört nicht.

über welchen wert kann man das leben der erhöhen?
der fehlt... wie kann ich das leben von der verlängern. weil sie zu schnell verbrennt
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am August 26, 2010, 14:17:34 Nachmittag
kann mir wer nen script schicken mit dem ich wenn ich ein bestimmtes gebäude hab die landkarte bekomm?

danke im vorraus
Mr.Stranded
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 26, 2010, 15:12:43 Nachmittag
Wenn du es in deiner Zufallsmap haben willst, kannst du bei execute script folgendes schreiben:
Code: (text) [Auswählen]
  1. create "object",ID;
ID steht hier für die Id deines gewünschten Objektes in der Definition.
Titel: Re: Fragen zum Scripting
Beitrag von: Khaak am August 26, 2010, 18:18:28 Nachmittag
bei :

http://www.stranded.unrealsoftware.de/s ... ectile#cmd (http://www.stranded.unrealsoftware.de/s2_commands.php?cmd=projectile#cmd)

Steht nur "projectile Item-Typ,X,Y,Z,Modus, ... ,[,Offset][,Waffe][,Geschw.][,Schaden][,Drag]"

ja und wie macht man jetzt sowas genau? sorry aber die Anleitung ist eher schlecht

Wäre nett wenn mir mal ein Beispiel zeigt: objeckt schießt Pfeile(verbesserte) ab und zwar auf feindliche Units (Löwen etc)


Dann wie kann man es so machen das nach bestimmte anzal an Tage steine "raus" fliegen und dann auf die Erde (wie im Vulkan beichspiel) brallen und Feuer entzünden (und wären die Steine fliegen soll beim "zünder" noch Flammen sein[auf dem boden])


Vielen dank im Vorraus
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 26, 2010, 18:47:10 Nachmittag
Die Anleitung wie es funktioniert steht doch direkt unter dem Befehl.
Die Item Id, ist die Id deines Pfeils. X, Y und Z sind die Koordinaten, von wo aus der Pfeil abgeschossen werden soll. Wenn du auf feindliche Tiere schießen willst, wähle als Modus 6. Als offset nimmst du am besten den Radius deines Objektes. Fang am besten mit 50 an und experimentier ein wenig. Wenn du das Item wie bei einer Waffe schießen lassen willst, kannst du hier die ID der Waffe angeben(51 für die Steinschleuder als Beispiel). Wenn du eigene Werte verwenden willst, musst du die dananch angeben und Waffe auf 0 stellen.

Wenn du es wie beim Vulkan haben willst, solltest du dir den Script vom Vulkan angucken.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am August 27, 2010, 08:01:27 Vormittag
des versteh ich nicht ganz mit dem objekt.
kannst du mir ein beispiel schreiben: wenn SChiff(59) gebaut dann bekomm ich die landkarte 73 und ein text erscheint.

bitte
 und wen ich gard dabei bin wie macht man sich schilde (z.b. aus eisen)
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 27, 2010, 09:33:07 Vormittag
Das kann man folgendermaßen lösen:
Code: (text) [Auswählen]
  1. on:build_finish {
  2. find 73;
  3. msg "TEXT";
  4. }
Diesen Code schreibst du dann in die Definition vom Schiff.
Schilde aus Eisen kann man nicht herstellen, nur Schilde aus Holz. Wie das geht steht in der neucombis.html im docs Ordner.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am August 27, 2010, 11:34:18 Vormittag
danke
Titel: Re: Fragen zum Scripting
Beitrag von: Khaak am August 28, 2010, 23:03:19 Nachmittag
Code: (text) [Auswählen]
  1. on:start {
  2.   local $active;
  3. }
  4.  
  5. on:toggle {
  6.   $active=(1-$active);
  7.   if ($active==1) {
  8.      timer "self",200,0;
  9.      areal_event "set_fire",getx("self"),gety("self"),getz("self"),500,0;
  10.      starttrigger 2;
  11.   } else {
  12.      freetimers "self";
  13.      areal_event "extinguish",getx("self"),gety("self"),getz("self"),500,0;
  14.      stoptrigger 2;
  15.   }
  16. }
  17.  
  18. on:timer {
  19.   $speed=random(3,10);
  20.   $drag=(random(5,12)/10.0);
  21.   $pitch=random(-60,-80);
  22.   $yaw=random(-179,180);
  23.   projectile 788,getx("self"),gety("self"),getz("self"),3,$pitch,$yaw,0,0,$speed,0,$drag;
  24.   projectile 789,getx("self"),gety("self"),getz("self"),3,$pitch,$yaw,0,0,$speed,0,$drag;
  25. }
  26.  


so das müste es vom Vulkan beischspiel sein.. Und wie kann man das jetzt umpolen das es nach bestimmte anzahl Tage aus
pricht?

und wenn man ne bestimmte Sache erreicht hat sollte er auch aus brechen (solange bis man ein bestimmtes objetkt gefunden hat...)

PS: schon wieder 2 Fragen ^__^
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 28, 2010, 23:20:14 Nachmittag
Du kopierst dir am besten das ganze timer event. Wenn der Vulkan ausbrechen soll aktivierst du einfach deinen Timer.
Code: (text) [Auswählen]
  1. timer "self",GESCHWINDIGKEIT,WIEDERHOLUNGEN;
GESCHWINDIGKEIT ist hierbei die 1000 durch die Anzahl der Vulkanbrocken die pro Sekunde fliegen sollen. Wenn man 2 Vulkanbrocken pro Sekunde haben will rechnet man 1000/2=500. WIEDERHOLUNGEN zeigt an, wie oft der Vorgang wiederholt werden soll. Wenn er X Sekunden lang ausbrechen soll dann rechnet man (1000/GESCHWINDIGKEIT) * X = WIEDERHOLUNGEN. Du musst darauf achten, dass der Timer befehl bei dem gleichen Objekt / der gleichen Info ausgeführt wird, wo du auch deinen Script reinkopiert hast.
Titel: Re: Fragen zum Scripting
Beitrag von: Khaak am August 29, 2010, 13:33:37 Nachmittag
also müste es dann etwar so Aussehen:

timer "self",47,3829;  (öm 20 bocken und 3 minuten [komma zahlen weggelasen])
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am August 29, 2010, 14:25:40 Nachmittag
Bei 20 Brocken pro sekunde wären dass 1000/20=50 und für drei Minuten (1000/50)*180=3600. Das ergibt folgenden Code:
Code: (text) [Auswählen]
  1. timer "self",50,3600
Wenn du allerdings 20 Brocken in 3 Minuten willst sieht das ganze so aus:
Code: (text) [Auswählen]
  1. timer "self",9000,20
180/20=9 Alle 9 Skeunden ein Lavabrocken. Das sind 9000 ms. Da wir insgesamt 20 Brocken haben wollen, stellen wir Wiederholungen auf 20.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am September 01, 2010, 15:44:12 Nachmittag
ich weiss nicht wos hingehört aber hier scheint es mir am besten.
und zwar kann ich irgendwie die Schiffe so umschreiben, dass z.B. der Einbaum nur 500 vom LAnd wegkann und dann leben veliert. oder die anderen weiter weg könne vom land z.B ddas Auslegerboot  schon 5000

und kan mir wer schreiben was ich in dei scriptzeile von einem gebiet im editor  eingeben muss dass das erste mal wenn man das gebiet betritt ein tagebuch eintrag kommt. aber nur das erste mal und nicht jedes mal

auch wäre es net wenn mir wer schreibt wie ich gleich nach dem start einen tage buch eintrag bekomm und wenn eine bestimmte kiste benutz

danke im vorraus
Titel: Fragen zum Scripting
Beitrag von: Darkangel am September 02, 2010, 16:57:24 Nachmittag
Hallo hab erst seit kurzem stranded 2  s2ext und wollte mir mal mein eigenesland bauen naja ich häng nun am dem scrip ding fest wie kann ich das wen ich das spiel starte ein tagebuch eintrag kommt machen
1wie schreib ich den scrip
2 wo muss ich den hinschreiben
Titel: Re: Fragen zum Scripting
Beitrag von: Utopia am September 02, 2010, 17:04:50 Nachmittag
Hi @ all,

ich bin auch gerade dabei eine eigene Campagne für Stranded 2 zu erschaffen. In der man auf der Erde anfängt und sich bis zum Mars in Anlehnung von Ghosts of Mars hochspielt.

Jetzt habe ich am Anfang einen kleinen Schönheitsfehler. Ich habe eine Höhle aus lauter Felsen zusammengebastelt. Nachdem ich einen Minenschacht betrete stürzt die Höhle mit der "damage" funktion ein und der Höhleneingang wird mit "setpos" versperrt. Mein Problem ist, dass nach dem "Töten" der Felsen noch einzelne Steine, Goldnuggets, Kupfer, Eisenerz, kleiner und großer Kristall liegen bleiben als rest der Felsen. Gibt es eine Funktion um die Produktion der Ressourcen beim "Töten" der Felsen zu unterbinden oder dass zumindest in einem mit einem Radius bestimmten Gebiet diese Ressourcen entfernt werden können? Ich wäre euch wirklich extrem dankbar für eure Hilfe!

Greetz Utopia
Titel: Re: Fragen zum Scripting
Beitrag von: finman am September 02, 2010, 17:28:03 Nachmittag
Zitat von: "Darkangel"
Hallo hab erst seit kurzem stranded 2  s2ext und wollte mir mal mein eigenesland bauen naja ich häng nun am dem scrip ding fest wie kann ich das wen ich das spiel starte ein tagebuch eintrag kommt machen
1wie schreib ich den scrip
2 wo muss ich den hinschreiben

Du musst das ins globale Script schreiben (oben in einer Leiste im Editor). Du platzierst zuerst eine Textbox (unter Infos) auf der Karte und schreibst dort rein, was im Tagebuch stehen soll. Merk dir die ID der Textbox.
Dann schreibst du folgendes in das globale Script:
Code: (text) [Auswählen]
  1. on:start {
  2. diary "[Titel]",[ID];
  3. }

Den Titel kannst du frei wählen, die ID ist die ID der Textbox.

@Utopia:
Ich wüsste jetzt nicht, wie. Per [s2s:167hrukv]free[/s2s:167hrukv] würdest du sie löschen, ohne dass die was zurück lassen, dann häätest du aber den Einsturz Effekt nicht.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 02, 2010, 17:28:56 Nachmittag
Zitat von: "Mr_Stranded"
ich weiss nicht wos hingehört aber hier scheint es mir am besten.
und zwar kann ich irgendwie die Schiffe so umschreiben, dass z.B. der Einbaum nur 500 vom LAnd wegkann und dann leben veliert. oder die anderen weiter weg könne vom land z.B ddas Auslegerboot  schon 5000

und kan mir wer schreiben was ich in dei scriptzeile von einem gebiet im editor  eingeben muss dass das erste mal wenn man das gebiet betritt ein tagebuch eintrag kommt. aber nur das erste mal und nicht jedes mal

auch wäre es net wenn mir wer schreibt wie ich gleich nach dem start einen tage buch eintrag bekomm und wenn eine bestimmte kiste benutz

danke im vorraus

Man kann die Entfernung vom Land nicht durch Scripts abfragen, ist also schlecht umsetzbar. Wenn du willst, dass ein Gebietstrigger deaktiviert werden soll, kannst du einfach [s2s:3i6oz9lu]stoptrigger[/s2s:3i6oz9lu] benutzen. Wenn du wissen willst, welche events es gibt, solltest du bei [s2s:3i6oz9lu]on[/s2s:3i6oz9lu] nachgucken. Da stehn alle Events drin, die von Stranded aus ausgelöst werden.

Zitat von: "Darkangel"
Hallo hab erst seit kurzem stranded 2  s2ext und wollte mir mal mein eigenesland bauen naja ich häng nun am dem scrip ding fest wie kann ich das wen ich das spiel starte ein tagebuch eintrag kommt machen
1wie schreib ich den scrip
2 wo muss ich den hinschreiben

Du solltest dir erstmal das Tutorial durchlesen. Das gibt es hier: http://www.stranded.unrealsoftware.de/s2_modding1.php (http://www.stranded.unrealsoftware.de/s2_modding1.php)

Zitat von: "Utopia"
Hi @ all,

ich bin auch gerade dabei eine eigene Campagne für Stranded 2 zu erschaffen. In der man auf der Erde anfängt und sich bis zum Mars in Anlehnung von Ghosts of Mars hochspielt.

Jetzt habe ich am Anfang einen kleinen Schönheitsfehler. Ich habe eine Höhle aus lauter Felsen zusammengebastelt. Nachdem ich einen Minenschacht betrete stürzt die Höhle mit der "damage" funktion ein und der Höhleneingang wird mit "setpos" versperrt. Mein Problem ist, dass nach dem "Töten" der Felsen noch einzelne Steine, Goldnuggets, Kupfer, Eisenerz, kleiner und großer Kristall liegen bleiben als rest der Felsen. Gibt es eine Funktion um die Produktion der Ressourcen beim "Töten" der Felsen zu unterbinden oder dass zumindest in einem mit einem Radius bestimmten Gebiet diese Ressourcen entfernt werden können? Ich wäre euch wirklich extrem dankbar für eure Hilfe!

Greetz Utopia

Solche Fragen begrüße ich gerne. Du kannst bei den Felsen mit [s2s:3i6oz9lu]def_free[/s2s:3i6oz9lu] arbeiten. Wenn es allerdings noch andere Objekte des gleichen Typs gibt, die ihren Script aber behalten sollen, musst du leider bei jeden dieser Felsen [s2s:3i6oz9lu]freescript[/s2s:3i6oz9lu] schreiben, sofern sie keine weiteren relevanten Scripts enthalten. Wenn du den Script der Felsen noch brauchst, kannst du das auch beim on:kill event reinschreiben. Ich hoffe, das das genügt.
Titel: Re: Fragen zum Scripting
Beitrag von: Utopia am September 04, 2010, 00:40:09 Vormittag
Hey Quester,

erstmal danke für die super schnelle Antwort :) Das Problem ist, dass ich bei nem Test Versuch mein Problem nicht beheben konnte. Ich hab eine Testinsel mit einem Felsen und einem Schild, welches das "Töten" des Felsens auslöst, erstellt. Der Felsen ist Objekt 1 und das Schild ist Objekt 2.

Variante 1 war Script im Schild

on:use {freescript "object",1;
  damage "object",1,30000;}


Variante 2 war Script im Schild tötet Felsen und im Felsen der Freescript

Schild
on:use {damage "object",1,30000;}

Felsen
on:load {freescript "object",1;}


Variante 3 globaler Script der Freescript auslöst

Global
on:start {freescript "object",1;}

Schild
on:use {damage "object",1,30000;}


Variante 4 on:kill Event im Felsen

Schild
on:use {damage "object",1,30000;}

Felsen
on:kill {freescript "object",1;}


Leider führte keiner der Varianten zum gewünschten Ziel. Der "getötete" Felsen produzierte dann immer das Item den Stein. Habe ich was falsch gemacht bei der Anwendung des Scripts? Danke schonmal im Vorraus für die Hilfe :) Würde gerne die Kampage wenn sie fertig werden sollte für jedermann veröffentlichen :)

Greetz Utopia :)
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 04, 2010, 10:40:09 Vormittag
Ich habe mal selbst ein wenig rumprobiert, und musste feststellen, dass freescript den Definitionscript des Objektes nicht mitlöscht. Da musst du leider mit [s2s:19rxyyvb]def_free[/s2s:19rxyyvb] arbeiten. Du kannst dir den Script deiner Objekte auch in eine extra Datei kopieren und dann nach dem Zusammenbruch der Höhle wieder mit [s2s:19rxyyvb]def_override[/s2s:19rxyyvb] zurückholen. Das solltest du allerdings nicht direkt machen, da ich vermute, dass die Objekte nicht im selben frame getötet werden. DU solltest am besten mit einem timer arbeiten.
Titel: Re: Fragen zum Scripting
Beitrag von: Utopia am September 08, 2010, 16:46:12 Nachmittag
Hey Quester,

erstmal wieder big thx für deine Hilfe aber ganz ehrlich habe ich kein Plan was du mir genau sagen willst :( Wenns dir nich zu viel Mühe machst, kannst du mir schnell in Anlehnung an die 2 Objekte im Beispiel oben nen Script schreiben?

Oder kann ich die Sache vielleicht einfacher gestalten? Ich lasse die Felsen durch den Trigger "töten" und sie produzieren erstmal ihre Steine, Goldnuggets, etc... So nun erstelle ich einen Trigger, der ein bestimmtes Gebiet kontrolliert (mittels Radius) ob beispielsweise das Item Stein rumliegt. Und wenn ein Stein vorhanden ist, soll der Trigger solange alle rumliegenden Steine in dem Gebiet entfernen bis alle weg sind. Diesen Prozess dann einfach mit allen möglichen Produzierten Ressourcen anwenden. Gibt es dafür Infos und einen Script sodass ich meine Vorstellung in die Tat umsetzen kann? Und wenn ja kannst du mir den Script ma plz schreiben oder zumindest kurz zusammenfassen und welche Info ich für das zu kontrollierende Gebiet benutzen muss?

Ich hoffe ich konnte es verständlich beschreiben :)

Greetz Utopia
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 08, 2010, 18:03:33 Nachmittag
Deine Idee mit dem Trigger lässt sich leider nicht so einfach lösen, da es keine Befehle gibt, um Items in einem bestimmten Radius durchzugehen.
Meine Idee war es, dass du kurz bevor du die Steine zerstörst [s2s:2bouxj4c]def_free[/s2s:2bouxj4c] benutzt. Sagen wir du zerstörst Felsen mit dem Typ 63 und welche mit dem Typ 64.
Code: (text) [Auswählen]
  1. def_free "object",63;
  2. def_free "object",64;
Das hat den Nachteil, dass andere Felsen des selben Types auch keine Steine mehr Produzieren. Du kannst allerdings den Definitionsscript der Felsen, aus objects_stone.inf, in ein paar Infos kopieren, und dann wieder per [s2s:2bouxj4c]def_extend[/s2s:2bouxj4c] anhängen.

Wenn du es so machen willst wie du Vorgeschlagen hast geht auch folgender Code:
Code: (text) [Auswählen]
  1. on:trigger {
  2. loop("items",TYP) {
  3. $id=loop_id();
  4. if (distance("self","item",$id)>DIS) {
  5.    free "item",$id;
  6. }
  7. }
  8. }

Das packst du in eine Info. Für TYP setzt du einfach den Typ des Items ein, was verschwinden soll. Wenn du außer den Steinen auch noch die Kristalle/Goldnuggets etc. verschwinden sollen, kopierst du einfach den loop(nicht das ganze event) und setzt etwas anderes für TYP ein. Die Info sollte möglichst in der Mitte der zu zerstörenden Steine liegen und DIS sollte entsprechen hoch gewählt werden(500, du kannst auch experimtentieren). Dann kannst du nach deinen Script einen timer starten:
Code: (text) [Auswählen]
  1. timer "info",ID,500;
Für ID nimmst du einfach die Id der Info, die du eben gesetzt hast. 500 ist denke ich genug. Damit wird sichergestellt, dass auch alle Steine da sind, um gelöscht zu werden.
Titel: Re: Fragen zum Scripting
Beitrag von: Utopia am September 08, 2010, 19:23:30 Nachmittag
Also erstma danke für deine Hilfe wiedermal *hehe*

Hab jetz doch eine einfachere Variante gefunden das Problem zu lösen. Alle Höhlenteile die man nicht sieht, wenn sie einstürzen werden einfach mit "free" entfernt. Die restlichen 5 Höhlendecken stürzen mit "damage" ein und zufällig produzieren die sogar keinen Stein :) Jedoch wird mir dein Script für später bestimmt noch ganz nützlich sein, ich denke mal der wird trotzdem noch zur Anwendung kommen :) Auf jeden Fall werde ich dich als Unterstützung bei meiner Campage im Intro oder wo auch immer ich die Gelegenheit finden werde alle Helfer zu erwähnen. Sollte ich die Campagne schon lohnenswert weit aufgebaut haben, werde ich eine Beta ins Netz stellen :)

Ne Frage aber nebenbei noch *hehe*

gibts ne Möglichkeit sämtliche "free" Scripts zusammenzufassen?

Beispiel:
free "object",1;
free "object",2;
free "object",3;
free "object",4;
free "object",12;
free "object",13;
free "object",14;
free "object",36;
free "object",37;
free "object",52;

Kann man es zum Beispiel so zusammenfassen:

free "object",(1..4;12..14;36;37;52);



Greetz Utopia
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 08, 2010, 19:40:10 Nachmittag
Nein, das geht Leider nicht.
Titel: Re: Fragen zum Scripting
Beitrag von: Utopia am September 14, 2010, 23:26:49 Nachmittag
Hi @ all nochma...

möcht mich auch wieder zu Wort melden...

und zwar gehts darum, dass ich einem Holz Schild eine Eiseneigenschaft anhängen möchte...

An sich funktioniert alles, hab dem Schild ne Eisentextur verpasst und mittels on:hit produziert es den Brecheisenschlagsound von Half Life. Die Sache ist jedoch die, dass zugleich der Treffersound vom Holz abgespielt wird. Hört man zwar nich ganz so raus, jedoch wäre es schöner wenn man das irgendwie unterbinden kann. Gibt es einen Script, dass man dem Schild die Holz Eigenschaft nehmen kann, also dass nicht mehr dieser Holz Sound beim Zuschlagen abgespielt wird und wenn man auf dem Schild läuft, dass es sich nicht mehr so anhört als würde man auf Holz laufen.

Zusammengefasst:

- Suche Script welches Holzsound des "Holz"schildes beim Zuschlagen entfernt
- Suche Script welches Holzeigenschaft beim drüberlaufen entfernt (wenn ich auf Schild springe und drauf rumlaufe)
- (Oder) Suche Script welches die Holzeigenschaft des Schildes entfernt

Danke schonmal für eure Hilfe :)

Greetz Utopia
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am September 15, 2010, 15:13:05 Nachmittag
Du kannst doch einfach das Material vom Schild zu Metall ändern...? Sry, hab grad keine Zeit, um genau nachzugucken, aber das müsste einfach mit in der Datei stehn...
Titel: Re: Fragen zum Scripting
Beitrag von: Gunslinger am September 15, 2010, 21:43:13 Nachmittag
HI!  :D

Wie könnte man denn den Hintergrundsound verändern?
Und wäre es möglich dass der Hintergrundsound geändert wird wenn man ein anderes Gebiet betritt?
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am September 21, 2010, 17:57:46 Nachmittag
kann mal wer ne datei hochladen in der die wichtigsten kombis so drin stehen, dass man die nutr kopieren un deinfügen muss ( bei stranded in die script zeile), dass des dann funzt.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 22, 2010, 15:30:41 Nachmittag
Die Hintergrundmusik ändert man mit [s2s:19ryncl4]ambientsfx[/s2s:19ryncl4].

@Mr_Stranded: Ich kann dir leider nicht folgen.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am September 23, 2010, 13:37:22 Nachmittag
irgendwas wo halt die wichtigen befehle drin sind die man nur noch mit der kopeiren funktion ( vom pc) bei stranded in das globale script eeinfügen muss. am besten  mit erklkärungen
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am September 23, 2010, 15:50:41 Nachmittag
http://www.stranded.unrealsoftware.de/s2_commands.php (http://www.stranded.unrealsoftware.de/s2_commands.php)
Das beste was du bekommen kannst.
Titel: Re: Fragen zum Scripting
Beitrag von: jort44 am September 30, 2010, 17:21:58 Nachmittag
Ich gebe immer:
Code: (text) [Auswählen]
  1. on:start
  2. msg "Willkommen"(,5)(,1)
  3. exit
ein bei script nicht global script
und nichts kommt .
kann mir jemand helfen. :D  :D  :D  :D  :D
danke im vorraus.
Titel: Re: Fragen zum Scripting
Beitrag von: finman am September 30, 2010, 17:41:42 Nachmittag
Musste alles in Klammern schreiben und nen ";" an's Ende jedes Befehls :D
Code: (text) [Auswählen]
  1. 1.on:start {
  2. 2.msg "Willkommen",5,1;
  3. 3.}

[s2s:2csqpqnt]msg[/s2s:2csqpqnt]
Der dritte Parameter gibt die Schriftart an, der 4. die Anzeigedauern in MILLISEKUNDEN, eine ist vielleicht etwas wenig :D
Titel: Re: Fragen zum Scripting
Beitrag von: großmeister bob am Oktober 25, 2010, 17:24:32 Nachmittag
hallo
ich will die heuschreckenplage lösen
dafür dachte ich, ich stell ein das die heuschrecken einfach später spawnen lass
ich weis nur nicht wo ich die skripts finde
unter mods/sys/skripts/units hab ich gesucht aber der dort stehende skript beschreibt nur die eigenschaften der heuschrecke

wo find ich ich denn die einstellung

danke=)
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Oktober 25, 2010, 18:15:59 Nachmittag
DAs steht in der Game.inf, etwas unter der Mitte. Such einfach mal nach $s2g_plagues
Titel: Re: Fragen zum Scripting
Beitrag von: Winni am November 05, 2010, 13:54:26 Nachmittag
Für mich persöhnlich wachsen die Pflanzen zu schnell, daher lebt man in Stranded auch wie im Paradies mit zuviel Futter. Zu gern hätt ich die möglichkeit die Wachstumszeiten zu verdreifachen(währe dann etwas realistischer aber auch schwerer als bisherige Maps), allerdings müssten bei längeren wachstumszeiten auch die heuschrecken etwas gebremst werden.

Wo finde ich die sachen?
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am November 05, 2010, 19:52:17 Nachmittag
growtime lautet hier das Zauberwort. Damit kann man in der Definition die Wachstumsdauer angeben. Für die Heuschrecken siehe meinen Post weiter oben.
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Dezember 18, 2010, 12:45:14 Nachmittag
ich bin recht neu hier und habe ein kleines problem mit Variablen.
Ich habe ein Dialog geschrieben der nur einmal ausgeführt werden soll:
Die Person:
[s2s:3vlyu3l5]on:use
   {If $wilkommen=1 {dialogue 1 ,50 ;}
}[/s2s:3vlyu3l5]
Textcontainer:
[s2s:3vlyu3l5]page=1
title=Wilkommen
text=start
Wilkommen,
mein name ist Jeff
bist du bereit für deinen ersten Auftrag?
text=end
button= 2 ,Ja,bin bereit
button= action:close ,nein noch nicht
button= 3 ,Was tue ich hier?

page=2
title=Holzhacken
text=start
Gut,auf deiner Karte ist unser Forstlager eingezeichnet.
Geh bitte dorthin und stelle 10 Bretter her.
die Karte liegt in meinem Schrank
Alle ausrüstung findest du dort.
Ach so: wenn du Items braucht geh einfach zum lager
text=end
button= action:close script=$wilkommen=1,ok ich machs[/s2s:3vlyu3l5]
Und dann noch ein startscript mit textcontainer
[s2s:3vlyu3l5]on:start {
   diary "Ein Anruf",1;
   $wilkommen=0}[/s2s:3vlyu3l5]
textcontainer is für den script nicht wichtig.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Dezember 18, 2010, 17:58:55 Nachmittag
Scripts werden im Textcontainer nicht ausgelöst.
If-Abfragen werden in Stranded auch anders gehandhabt. Die Bedingung muss immer in Klammern geschrieben werden, und der Vergleichsoperator lautet "=="
Code: (text) [Auswählen]
  1. if($wilkommen==1)
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Dezember 20, 2010, 15:00:40 Nachmittag
Danke für die Antwort.
Nächste Frage:
Ich bin dabei eine Art mini RPG auf Stranded basis zu schreiben
Um Häuser zu kaufen habe ich diese mit eine Holzwand verschlossen.
Jetzt will ich gerne wissen wie mann es schafft:
1.Die Goldbeute(Währung) zu überprufen und zu erntfernen und
2.Die Holzwand zu entfernen
Also nicht den script für die Holzwand selber (kill ID) sonder wie ich es schaffe diese beiden scripte per Buttondruck in einem Dialog auszuführen.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Dezember 20, 2010, 15:15:32 Nachmittag
Überprüfen geht mit [s2s:1ipc2cb7]count_stored[/s2s:1ipc2cb7], entfernen mit [s2s:1ipc2cb7]freestored[/s2s:1ipc2cb7].
Entfernen geht mit [s2s:1ipc2cb7]free[/s2s:1ipc2cb7], da kill nur bei Units funktioniert. Sonst kannst du auch mit [s2s:1ipc2cb7]damage[/s2s:1ipc2cb7] arbeiten, und einen hohen Wert angeben.
Und für Erklärung bei Dialogen guckst du am besten bei [s2s:1ipc2cb7]dialogue[/s2s:1ipc2cb7].
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Dezember 20, 2010, 17:30:59 Nachmittag
kann man auch zwei aktion (z.B. die Holzwand entfernen und den Dialog beenden) an eine Button binden?
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Dezember 20, 2010, 17:32:46 Nachmittag
Nein, das geht nicht. Du könntest aber den Benutzer auf eine weitere Dialogseite führen, in der du dann den Script ausführen lässt.
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Dezember 20, 2010, 20:12:10 Nachmittag
ich dachte scripte werden im Textcontainer nicht ausgeführt
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Dezember 20, 2010, 20:27:40 Nachmittag
Werden sie auch nicht, aber mit
Code: (text) [Auswählen]
  1. script=start
  2. //hier kommt das hin, was du ausführen willst
  3. script=end
kannst du den Script ausführen lassen, wenn der Benutzer die Seite aufruft.
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Dezember 26, 2010, 22:40:35 Nachmittag
Also gut ich glaube ich bin zu doof für Variablen.
Ich wollte ein Kaufsystem für boote machen(wie in Pinguin adventure)
Hab das ganze an einem Ruderboot getestet:
Mapscript:
[s2s:6r0l6sgx]on:start{ $buy_ruderboot=0 }[/s2s:6r0l6sgx]
Am boot:
[s2s:6r0l6sgx]on:use{
if (buy_ruderboot==1) {toggle} else{msg "Ich sollte villeicht das Boot erstmal kaufen"};
};[/s2s:6r0l6sgx]

2.Probleme:
1.am Anfang kommt direkt die Konsole da steht aber kein Fehler drin
2.Wenn man in das Boot einsteigt kommt wieder die Konsole und da steht "Excepting ;" hab aber schon alle konstelationen ausprobiert.Und man kann einfach in das boot einsteigen.

2.Problem ich will einen Händler zum stehen bringen. mit ai_stay bewegt der sich trotzdem.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Januar 10, 2011, 20:29:32 Nachmittag
Mál ne Frage
kann ich irgendie wie einstellen dass nur auf einer bestimmten Map, wenn ein kiste (die von Anfang an brennt) verbrannt ist, die Items darin auch mit weg gehen?
Wenn ja kann mir dann wer schreiben was und vor allem wo (globales sript oder objectscript) ich des schreiben muss
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Januar 10, 2011, 20:38:04 Nachmittag
objectscript:
Code: (text) [Auswählen]
  1. on:kill{
  2. freestored "self","all";
  3. }
  4.  

Müsste so gehen.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Januar 11, 2011, 13:24:09 Nachmittag
ich teste es mal aber schon mal danke

Funktioniert leider nicht

hat sonst noch wer eine idee?
Titel: Re: Fragen zum Scripting
Beitrag von: l1a2r3s4 am Januar 18, 2011, 20:37:27 Nachmittag
hab ma ne frage zum terrain ( weis bin faul mir da große mühe zu machen)

in welchen abständen sind die höhenpunkte beim raster und mit welchen faktor muss muss ich rechen, um den ausenrand vond er map zu kriegen.z.B. bei einer 16*16 map. das bracuh ich für meinen generator versuch.
Titel: Re: Fragen zum Scripting
Beitrag von: Mc Leaf am Januar 21, 2011, 21:21:06 Nachmittag
64 Pixel, falls ich mich nicht irre. In jedem Fall dürfte es eine 2er-Potenz sein, also sowas wie 16, 32, 64, 128...
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Januar 21, 2011, 21:32:50 Nachmittag
Gibt [s2s:n6yg30im]mapsize[/s2s:n6yg30im] nicht auch die Anzahl der Terrainhöhepunkte zurück?
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Februar 05, 2011, 14:25:04 Nachmittag
ich hab mal ne frage zu nem script, und zwar geht es um das Gebäude "Extruder" im Lost in Space mod von McLeaf.

Das gebäude hat eigentlich noch keinen sinn, doch das wollte ich ändern, indem ich dort kunststoff herstellen lasse.
jetzt habe ich zweimal die bedingung "on:use" eingegeben, einmal um chemikalien einzufüllen, und einmal um  Latex einzufüllen.

Es klappt auch ziemlich gut, aber wenn ich Chemikalien einfülle, erscheint erst das textfeld, welches normal erscheint, wenn ich einfach "E" drücke, danach wird der process "Chemikalien einfüllen" ausgeführt.
Wenn ich Latex einfülle, wird zuerst der Process "Latex einfüllen" ausgeführt, danach erscheint das textfeld.
Das finde ich seltsam, deswegen erbitte ich eure hilfe ;)

Am besten wäre es, wenn das textfeld gar nicht mehr erscheinen würde, sondern nur noch, wenn ich den Extruder mit nichts in der hand benutze (zb wie beim Lagerfeuer oder beimHochofen/backofen etc)

hier wären die scriptzeilen, der obere teil ist das latex, der untere die chemikalien:


on:use {
  local $tmp;
  $tmp=getlocal("object",$last,"online");
  if ($tmp==0) {
    msg "Die Energieleitung ist irgendwo unterbrochen!",3;
    speech "negative";
    freevar $tmp;
    skip;
  }
  if ((getplayerweapon()==863)&&(playergotitem(863)>0)) {
    if ($percent<100) {
      freestored "unit",1,863,1;
      $percent+=10;
      msg "Ich werde mal etwas Latex in die Anlage füllen.",4;
      process "Tank füllen",3000;
      $id=861;
      timer "self",3000,1,"fill";
    } else {
      msg "Nö. Da ist jetzt genug Latex drin.",3;
    }
  } else {
    msgbox "Extruder","infosinfos.lis","extruder";
    clear;
    add "closemenu;";
    button 0,"Aha.",17;
  }
}

on:use {
  local $tmp;
  $tmp=getlocal("object",$last,"online");
  if ($tmp==0) {
    msg "Die Energieleitung ist irgendwo unterbrochen!",3;
    speech "negative";
    freevar $tmp;
    skip;
  }
  if ((getplayerweapon()==908)&&(playergotitem(908)>0)) {
    if ($percent<100) {
      freestored "unit",1,908,1;
      $percent+=10;
      msg "Ich werde mal ein paar Chemikalien in die Anlage füllen.",4;
      process "Tank füllen",3000;
      $id=909;
      timer "self",3000,1,"fill";
    } else {
      msg "Nö. Da sind jetzt genug Chemikalien drin.",3;
    }
  } else {
    msgbox "Extruder","infosinfos.lis","extruder";
    clear;
    add "closemenu;";
    button 0,"Aha.",17;
  }
}
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Februar 05, 2011, 16:34:42 Nachmittag
Ich weiß gar nicht, wie das überhaupt mit 2 Events funktionieren kann. Hier wäre mal mein Lösungsansatz:

on:use {
  local $tmp;
  $tmp=getlocal("object",$last,"online");
  if ($tmp==0) {
    msg "Die Energieleitung ist irgendwo unterbrochen!",3;
    speech "negative";
    freevar $tmp;
    skip;
  }
  if ((getplayerweapon()==863)&&(playergotitem(863)>0)) {
    if ($percent<100) {
      freestored "unit",1,863,1;
      $percent+=10;
      msg "Ich werde mal etwas Latex in die Anlage füllen.",4;
      process "Tank füllen",3000;
      $id=861;
      timer "self",3000,1,"fill";
    } else {
      msg "Nö. Da ist jetzt genug Latex drin.",3;
    }
  } elseif ((getplayerweapon()==908)&&(playergotitem(908)>0)) {
    if ($percent<100) {
      freestored "unit",1,908,1;
      $percent+=10;
      msg "Ich werde mal ein paar Chemikalien in die Anlage füllen.",4;
      process "Tank füllen",3000;
      $id=909;
      timer "self",3000,1,"fill";
    } else {
        msg "Nö. Da sind jetzt genug Chemikalien drin.",3;
    }
  } else {
    msgbox "Extruder","infosinfos.lis","extruder";
    clear;
    add "closemenu;";
    button 0,"Aha.",17;
}
Titel: Re: Fragen zum Scripting
Beitrag von: Reyna am Februar 05, 2011, 18:35:01 Nachmittag
Anfängerfrage, ich habe es geschafft mir Samen von den Seerosen zu machen , kann sie aber nicht auf dem Wasser pflanzen sondern nur an Land.
Kann mir jemand helfen.

Script:

id=372
name=seerose
icon=gfxexticonsseerose02.bmp
group=flower,ext,earymgn
model=gfxextseerose02.b3d
health=10
mat=leaf
behaviour=aligntowater
col=2
autofade=200
script=start
   on:hit {
      if ( random(3)==1) { find 519; }
   }
   on:kill {
      if (spawntimer("self")>=0){
         create "item",519,getx("self"),getz("self"),3;
      }
   }
script=end
.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Februar 05, 2011, 20:06:59 Nachmittag
danke, das script hat geklappt, bzw jetzt wird die msgbox immer nach dem einfüllen eingeblendet, was aber besser ist als vorher =)

das mit den zwei on:use events hatte ich gemacht, weil bei mir das mit dem einen allein net geklappt hat.
wegen dem "elseif"
wenn "if" "wenn" bedeutet und das gegenteil zu else darstellt,
bedeutet dann "elseif" "beziehungsweise wenn" und stellt das gegenteil zum gleichen "else" dar, wie es schon das "if" tut?

Liebe Grüße

Orge
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Februar 06, 2011, 01:02:56 Vormittag
"if" wird ausgeführt, wenn die Bedingung erfüllt ist. "else" wird ausgeführt, wenn die vorherigen Bedingungen nicht erfüllt werden konnten. "elseif" wird ausgeführt, wenn alle bisherigen Bedingungen nicht erfüllt worden sind, und die eigene Bedingung erfüllt ist. Warum die MsgBox nach dem einfüllen eingeblendet wird, weiß ich nicht.

@Reyna
Da müstest du schon selber ein Script schreiben, da beim Anpflanzen "useground" benutzt wird.
Titel: Re: Fragen zum Scripting
Beitrag von: Reyna am Februar 06, 2011, 19:23:05 Nachmittag
Zitat von: "Quester"
"
@Reyna
Da müstest du schon selber ein Script schreiben, da beim Anpflanzen "useground" benutzt wird.


vielen lieben Dank für die schnelle Anwort, ich hatte die game_planting.inf völlig übersehen. Da das ein globales script ist, trau ich mich da noch nicht ran, bin der totale Anfänger.
Habe es für mich jetzt so geändert, das ich mir die Seerosen bauen kann.

MfG
Titel: Re: Fragen zum Scripting
Beitrag von: Kirschkaffee am Februar 08, 2011, 15:01:06 Nachmittag
Zitat von: "Quester"
Warum die MsgBox nach dem einfüllen eingeblendet wird, weiß ich nicht.

Einfach noch ein "skip;" hinter das Latex- und hinter das Chemikalienteil schreiben. :)

Code: (text) [Auswählen]
  1.    } else {
  2.       msg "Nö. Da ist jetzt genug Latex drin.",3;
  3.     }
  4.     skip;
  5.   }
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Februar 08, 2011, 15:22:22 Nachmittag
Was allerdings nur passieren sollte, wenn du das in 2 Events aufteiltst.
Titel: Re: Fragen zum Scripting
Beitrag von: Kirschkaffee am Februar 08, 2011, 15:59:25 Nachmittag
ich hätte das sowieso komplett mit msgbox und buttons gelöst, dann hat mein kein on:use-Monster, wenn man noch was dazufügen möchte :) und die msgbox taucht nach dem Abfüllen auch nicht mehr auf.

Code: (text) [Auswählen]
  1. on:use {
  2.   local $tmp;
  3.   $tmp=getlocal("object",$last,"online");
  4.   if ($tmp==0) {
  5.     msg "Die Energieleitung ist irgendwo unterbrochen!",3;
  6.     speech "negative";
  7.     freevar $tmp;
  8.     skip;
  9.   }
  10.   else {
  11.     msgbox "Extruder","infosinfos.lis","extruder";
  12.     clear;
  13.     add "closemenu;";
  14.     button 0,"Latex einfüllen",12,"event filllatex,object,$this; closemenu;";
  15.     button 1,"Chemikalien einfüllen",12,"event fillchem,object,$this; closemenu;";
  16.         button 2,"Aha.",17;
  17.   }
  18. }
  19.  
  20. on:filllatex {
  21.   if ((playergotitem(863)>0)&&($percent<100)) {
  22.     freestored "unit",1,863,1;
  23.     $percent+=10;
  24.     msg "Ich werde mal etwas Latex in die Anlage füllen.",4;
  25.     process "Tank füllen",3000;
  26.     $id=861;
  27.     timer "self",3000,1,"fill";
  28.     }
  29.     else {
  30.       msg "Nö. Da ist jetzt genug Latex drin.",3;
  31.     }
  32. }  
  33.  
  34. on:fillchem {
  35.   if ((playergotitem(908)>0)&&($percent<100)) {
  36.     freestored "unit",1,908,1;
  37.     $percent+=10;
  38.     msg "Ich werde mal ein paar Chemikalien in die Anlage füllen.",4;
  39.     process "Tank füllen",3000;
  40.     $id=909;
  41.     timer "self",3000,1,"fill";
  42.     }
  43.     else {
  44.         msg "Nö. Da sind jetzt genug Chemikalien drin.",3;
  45.     }
  46. }
  47.  
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 26, 2011, 21:57:51 Nachmittag
Ich hab da mal ne frage:
was hat es auf sich mit einem scriptkey?
wie benutzt man
on:keyhitXX
on:keydownXX
oder
on:keyreleaseXX ?
würd mich nal interesieren. ^^
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Februar 26, 2011, 23:06:04 Nachmittag
Es gibt extra keys in den Optionen unter Steuerung. Diese werden durchnummeriert. 01, 02 etc. Und dann kommen die von dir genannten events zum Tragen. in der Game.inf stehen schon ein paar Beispiele.
Titel: Re: Fragen zum Scripting
Beitrag von: Kirschkaffee am Februar 27, 2011, 12:14:37 Nachmittag
Aus der Skripting-Referenz:

Zitat
keyhitXX - beim Drücken eines Scriptkeys (nur im game.inf-Script)
keydownXX - beim Gedrückthalten eines Scriptkeys (nur im game.inf-Script)
keyreleaseXX - beim Loslassen eines Scriptkeys (nur im game.inf-Script)

http://www.strandedonline.de/s2_commands.php (http://www.strandedonline.de/s2_commands.php)

Die Befehle kann man nur in der game.inf benutzen, also als globale Events. Zuerst belegst du eine Keyhit.

Code: (text) [Auswählen]
  1. scriptkey=00,Name

Einfach irgendwo in die Definitionen der game.inf, also vor dem ganzen Scriptkram. Der Name erscheint dann im Optionsmenü unter Steuerung 2

Dann im Scriptkram kannst du das wie ein normales Event behandeln.

Code: (text) [Auswählen]
  1. on:keyhitoo {
  2. Scriptblazeugs
  3. }

Wenn du ein Beispiel sehen willst, schau mal hier rein.

http://pastebin.com/rJnvsYFF (http://pastebin.com/rJnvsYFF)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 01, 2011, 16:12:20 Nachmittag
ich bin ein stollensystem am bauen, natürlich auch mit fallen.
ich hab folgenden script in einem schalter eingegeben:

on:use{active_trap 1;
msg "Fallen entschärft", 4}

aber wenn ich den schalter benutze passiert nie was, und wenn ich über eine
falle latsche bin ich genauso tot wie vor dem schalter
wat stimmt mit diesem script nich?
Titel: Re: Fragen zum Scripting
Beitrag von: Kirschkaffee am März 01, 2011, 22:06:05 Nachmittag
auf den ersten Blick würde ich sagen active_trap=1; Variablenzuwweisung mit einem = machen.

Ansonsten müsstest du mal mehr vom Script posten, um zu sehen wo der Fehler liegt.
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am März 01, 2011, 23:50:26 Nachmittag
Eher $active_trap=1;
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 02, 2011, 13:37:14 Nachmittag
Danke funzt jetzt :hooray:
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am März 05, 2011, 10:11:57 Vormittag
ich will ja grade das achievementsystem basteln:

Hab in einer msgBox geschrieben, wieviele punkte schon erreicht wurden.
Wenn ein Erfolg erreicht wurde, möchte ich es gerne so machen, dass in die selbe MsgBox ein eintrag geschrieben wird, aka "Ich habe es geschafft xy zu tun und habe damit yx Punkte erhalten."

Leider klappt das irgendwie nicht, jedenfalls weiss ich nicht, wie ich was in die schon vorhandene smgbox einfügen soll.
msgbox "Info","infos/infos.lis","Achievement_detail";  //damit wird die msgbox geöffnet

jetzt wollte ich zb "Achievement_1" dazu reinschreiben, aber sowas wie

addmsgbox "Info","infos/infos.lis","Achievement_detail","Achievement_1";

gibts nicht, jedenfalls hats nicht geklappt.

Liebe Grüße

@Mc Leaf: Du siehst, dass die infos/infos ne .lis endung hat. Das ist aus deinem Lost in Space Mod, dort werden die msgboxen ja gut verwendet. Mit ner anderen Endung hat er nicht geklappt; falls dich das irgendwie stört, sags einfach, dann versuch ich das anders zu lösen!
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am März 05, 2011, 11:23:51 Vormittag
Guck dir doch mal [s2s:1bpd3psl]msg_extend[/s2s:1bpd3psl] an. Das dürfte das sein, wonach du suchst.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am März 05, 2011, 12:48:47 Nachmittag
hm...also ich krieg das net hin.

on:show_details {
  msgbox "Info","infos/infos.lis","Achievement_detail";
  if ($achievement_1)==1 {  
  msg_extend "infos/infos.lis","Achievement1"; } //Erfolg #1
  button 0,"Okay.",17,"closemenu;";
}

ich hab das jetzt so.
"infos/infos.lis ist die datei, in der alle msgboxennachrichten drinstehen, Achievement1 ist die Verknüpfung mit der nachricht, die geadded werden soll.
allerdings klappt es einfach nicht.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am März 05, 2011, 12:54:04 Nachmittag
Und man konnte natürlich nicht erwähnen, was nicht geklappt hat.
Mir fällt ersteinmal auf, dass die if-Abfrage so nicht funktioniert. Es muss so heißen:
Code: (text) [Auswählen]
  1. if ($achievement_1==1) {
Und natürlich muss $achievment überhaupt ersteinmal 1 sein.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am März 05, 2011, 13:25:02 Nachmittag
jo, 1 isses dann schon.
ja hab vergessen zu sagen, was nicht geklappt hat:
der text wurda nicht hinzugefügt, es wurde nur der gleiche text wie vorher angezeigt.

danke, jetzt schreibt er was hin =)

das einzige ist, dass er Achievement1 hinschriebt und nicht das, was in der infos/infos.lis unter Achievement1 steht.
kann ich aber so auch reinschrieben^^
Titel: Re: Fragen zum Scripting
Beitrag von: Dunkler Lord am März 11, 2011, 15:29:32 Nachmittag
Ich hab mal eine Frage und zwar wollt ich wissen wie man im Mapeditor das Wasser um die Insel dunkler oder hller machen kann?
Ich hoffe auf schnelle Antworten denn ich bin echt am verzweifeln  :@
Danke schon mal im voraus  :wink:
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am März 11, 2011, 16:15:59 Nachmittag
Du könntest mit [s2s:1hq2poft]watertexture[/s2s:1hq2poft] eine andere textur für das Wasser nehmen, die einen dunkleren Farbwert hat.
Titel: Re: Fragen zum Scripting
Beitrag von: Dunkler Lord am März 11, 2011, 19:42:29 Nachmittag
Hi,
Könnte mir jemand das Wasser in dieser map dunkler machen sodass es zum Himmel passt?
Aber bitte nur das Wasser ändern und nichts anderes.
Bitte helft mir ich krieg das einfach nicht selbst hin da ich nicht gut im scripten bin  :cry_fox:
Ich würde euch sehr dankbar sein.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am März 13, 2011, 16:48:19 Nachmittag
Du gehst im editor in die Map einstellungen und gibst da wo man scripts
eingibt (das einzige schreibfeld) folgendes ein:
on:load{watertexture "Bilddatei"}
und jetzt wirds interessant. du hast doch sicher paint oder n anderes zeichnen- oder mal- programm?
da malst du dann wie deine Wasseroberfläche aussehen soll und speicherst dieses Bild dann
unter.... darkwater zum beispiel. dann öffnest du ein fenster in Paint oder so wo dann dein Bild
als gespeicherte VERSCHIEBBARE Datie dargestellt ist. dann machst du Paint klein (nur ein kleineres Fenster-nicht miminieren!) so dass es noch sichtbar ist und öffnest dann dein stranded fenster wo die startexe und der ganze ordner
kram is und öffnest dann den ordner namens "mods", dann "S2Ext", dann den ordner "skies".
nun musstest du einige bilder fon Himmelsausblicken vor dier haben.
dann vrschiebst du den bild bei paint rüber zu den bildern und quetschst das irgendwo
dazwischen. dein bild heist nun "darkwater.bmp"-
dann schreibst du bei on:load{watertexture "Bilddatie"} einfach statt Bilddatei, skies/darkwater.bmp

falls hier irgendwas unverstendlich oder nicht zureichend erklährt dargestellt wurde ruhig beschweren... xD
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 22, 2011, 12:06:40 Nachmittag
Kann mir wer helfen?

ich möchte ne eigene Map erstellen, Eisgebiet, nun möchte ich einen Händler reinmachen, der im Gegenzug von gefundenen Perlen mir z.Bsp. Kaffeebohnen tauscht. Da ich nicht skripten kann und auch StrandedII relativ kurz erst hab wollte ich fragen ob mir wer mal aufschreibt, was ich dann bei der Einheit als Script eingeben soll, damit das funzt.

Wäre sehr dankbar, weil ich ansonsten hier nicht weiterkomme. Wollte ja keine Kaffeebäume ins Eis stellen, aber dennoch ab und an Kaffee genießen dürfen :)

Ach wenn ich außerdem noch was machen soll außer Skript reinschreiben, dann bitte dazu sagen.

Ich hatte das Demoscript (das unter Mc Leaf steht - trader) importiert, nur brauch ich:

1. Nicht so viele Sachen zum Tausch
2. Woher Gold nehmen, Perlen bekommt man ja auch so

In der Hoffnung auf Hilfe gestalte ich mal solange die Map.

lg psychochicken


PS: das mit den Spawnern, hab ich zum Glück geschnallt^^
Titel: Re: Fragen zum Scripting
Beitrag von: DomDom am April 22, 2011, 18:03:09 Nachmittag
Hallo
1. So ne Message die sagt was los ist, passiert.
2. angreifende Krieger und die Bogenschützen an eine gewisse Stelle hingehen. }:?

Danke im Voraus

MfG DomDom
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Mai 18, 2011, 20:56:49 Nachmittag
muss mal was fragen und zwar ich hab ein gebiet triger ein gebaut der nen TAgebucheintrag macht.
und jetz komtm immer wen ich in dem gebiet bin ein neuer eintrag  O_O
was kann ich tun }:?
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Mai 18, 2011, 21:16:10 Nachmittag
mach doch einfach:
on:trigger {
if $Tagebucheintrag==0 {
$Tagebucheintrag=1;
// Dann dein Tagebuchspript
}

So oder so ähnlich müsste es klappen.

Liebe Grüße
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Mai 18, 2011, 21:18:03 Nachmittag
Versuchs mal mit [s2s:31wo5lyo]stoptrigger[/s2s:31wo5lyo]
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 19, 2011, 13:52:12 Nachmittag
ne Frage:
würde folgender Script funzen, wenn ja, wass für ein Befehl/Vareable müsste ich dan "hier" eingeben:
if ("Lebensenergie-von-unit-blabla"==50) {msg "Gegner gleich tot"}

ich kenne den Befehl on:kill, aber funktioniert das
auch zum Beispiel wenn die unit nur noch 50 Energie hat
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Mai 19, 2011, 15:48:35 Nachmittag
Code: (text) [Auswählen]
  1. on:kill {
  2.    if(health("self")==50) {
  3.       msg "Gegner ist gleich tot";
  4.    }
  5. }

Diesfunktioniert allerdings nur, wenn der Gegner genau 50 Leben hat.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Mai 19, 2011, 16:28:21 Nachmittag
des mit dem stoptrigger funzt danke
aber iwie klapt des mit der tür net dass die zu bleibt wen ich den schlüssel net hab
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 20, 2011, 19:37:20 Nachmittag
Das mit dem Lebensenergie-Befehl funzt,
allerdings habe ich nicht on:kill geschrieben sondern on:hit,
und statt ...self")==50{msg "Geg... habe ich ...self")=<50{msg "Geg... geschrieben
                                                                              /
Danke jetzt funktioniert es genau so wie ich es Will :wink:
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Mai 26, 2011, 08:40:32 Vormittag
Ich stel mien Frage mal nochmal neu:
ICh möchte eine Tür so scripten dass sie zu ist solange ich keinen Schlüssel ( beliebiges item) habe.
Mein Problem: Wen ich die Tür ohne Schlüssel benutze sthe zwar da :"Verschlosssen, ich brauch den Schlüssel" aber die Tür geht trotzdem auf «a« .
Was kann ich machen }:?
Danke schonmal an alle netten Leute die mir helfen Können

Mr_Stranded
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Mai 26, 2011, 09:19:50 Vormittag
Das liegt daran, dass du den Definitionsscript überschreiben musst. [s2s:19jeah0h]def_override[/s2s:19jeah0h] kann dir dabei helfen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Mai 31, 2011, 17:43:04 Nachmittag
ich hab das gleiche Problem,
was funzt den an dem Script nich?

on:use{if(playergotitem(807)==1) {$locked=0}}

das hab ich bei der Tür eingegeben und die bleibt
trotzdem zu egal ob ich das item hab oder nicht.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Mai 31, 2011, 21:02:42 Nachmittag
Probiers mal so:

on:use {
if (playergotitem(807)>0) {
$locked=0;
}
}
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 03, 2011, 15:47:19 Nachmittag
Danke funktioniert, das mit der Tür.
aber ich hab ein neues Problem:
ich will das eine Neue Map geladen wird wenn ich ein objekt benutze.
ich hab folgenden script eingegeben:
on:use{loadmap "maps/MAPNAME.s2", 1, 1, 0, 0, 0, 0}

die map läd auch hoch aber ich hab einen startdialog und wenn der dan angezeigt
wir bin ich unter der Erde. ich klick ihn weg und bin dan zwar an der Oberfläche,
kann mich aber nur unsehen und nicht bewegen. zudem ist das Wasser unsichtbar.

ich hab schon versucht mit einem script im cheatmenü (freeze 1, 0)
mich bewegbar zu machen aber das nüzt nix.

wenn ich die Map so im editor lade und mit f12 teste funktioniert alles.
WAS IS DA LOS??? O_O
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Juni 03, 2011, 18:12:58 Nachmittag
also ich konnte das daheim jetzt nicht reproduzieren, aber versuch einfach mal das:
on:use
{loadmap "maps/MAPNAME.s2", 1, 1, 0, 0, 0, 0;
}

das wichtige ist das Semikolon zum Schluss, das war auch das Problem bei deiner Frage mit der Tür.

Liebe Grüße
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juni 05, 2011, 08:28:59 Vormittag
Das funktioniert leider auch nicht.
komisch... sonst funzen meine Loadmap-befehle.
leider ist mein PC hochgegangen und jetzt kann ich nicht mehr
nachguken was da anders ist, weil ich hab schon so Inselketten gemacht.
Nur leider alle futsch...

ich hab auch mal die Skills weggelassen,  (, 0, 1, 0, 0, 0, 0)
ein anderes Object verwendet,
alles ohne Erfolg...

immer lande ich unter der erde, das wasser is weg und ich bin versteinert. :(
Titel: Re: Fragen zum Scripting
Beitrag von: DeathRazzer am Juni 26, 2011, 19:32:30 Nachmittag
Hallo, hab erst vor ner stunde angefangen zu scripen und schon machen sich fragen breit :)

on:trigger

{
   msg "Gegenstände wurden Platziert!"[,5] [,3000];
}

So mein problemm ist jetz wen ich in diesem Gebit-Trigger die gewünschte anzahl an Items abgelgt habe
dan wird mir die nachricht andauernd ausgegeben..

schonmal danke für die antwort :)
Titel: Re: Fragen zum Scripting
Beitrag von: nicht_mehr_Gast am Juni 26, 2011, 19:47:30 Nachmittag
1. Lass die eckigern Klammern weg!
2. [s2s:3l1vspi8]stoptrigger[/s2s:3l1vspi8]
Titel: Re: Fragen zum Scripting
Beitrag von: DeathRazzer am Juli 04, 2011, 13:35:21 Nachmittag
Danke nicht_mehr_Gast hat dan auch gleich hingehaun :)

hab aber schon die nächste frage wie mache ich es wen ich ein Gebit betrette eine kammerasequenz beginnt und eine gewisse rute ( meine infos ) abfliegt ???

edid:

kann man beim scripten eigendlich andere variablien in anderen objekten nicht ihrgndwie nutezen, mein beispiel wäre gewessen ich benutze eine palme und daneben startet ein ein pirat seine rute... war so gedacht

script palme

on:use
{
$hir=1;
}

script pIrat

on:load
{
ai_stay "safe";
if ($hir==1){
unitpath 100,2,3,4,5,6;
}}

oder gibt es ihrgendeinen übertragungsbefehl wie bei php mit post und get ????
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 06, 2011, 22:16:22 Nachmittag
hi leutz,

ich habe auch ein kleines problem beim scripten ^^

ich wollte eine variable beim aufheben eines items auf 1 setzen. das hat auch geklappt. wenn ich das item wegwerfe soll die variable wieder auf 0 gesetzt werden. kann mir bitte jemd sagen was ich falsch gemacht habe?
den folgenden code hab ich in ein item geschrieben:

Code: (text) [Auswählen]
  1. on:collect {
  2. $goldsack=1;
  3. msg "var goldsack = $goldsack" [,] [,10000];
  4. }
  5.  
  6. on:drop {
  7. $goldsack=0;
  8. msg "var goldsack = $goldsack" [,] [,10000];
  9. }
  10.  
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Juli 07, 2011, 16:57:34 Nachmittag
es könnte daran liegen, dass alle Scripts, welche du einem Item gibst, wieder gelöscht werden, sobald was mit dem item passiert.
(auf jeden fall, wenn du es wegwirfst und erneut Aufheben willst; da sind die scripts gelöscht. Probier mal aus was passiert, wenn du das gleiche Item nimmst, wegwirfst und nochmal nimmst)

Übrigens kannst du die eckigen Klammern weglassen, denn sie zeigen nur an, dass der Parameter, der darin steht, nicht unbedingt benötigt wird, um den script erfolgreich auszuführen.

Liebe Grüße
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 07, 2011, 20:22:02 Nachmittag
du scheinst recht zu haben. wenn ich das item einmal aufgenommen habe wird das script anscheinend danach nicht mehr ausgeführt.

wie kann ich mein vorhaben trotzdem in die tat umsetzen?

muss ich das vllt irgentwie global festlegen?

mfg
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Juli 08, 2011, 17:15:00 Nachmittag
soweit ich mich dran erinnern kann, gabs schonmal so ein ähnliches Problem. Falls du nur Goldbrocken#32 damit ausstatten willst, ist es nicht möglich.
Willst du es jedoch für jeden Goldbrocken einstellen, müsste es sich ganz einfach in den Scripts machbar sein, indem du das Item "Goldbatzen" direkt damit ausstattest.

Liebe Grüße

Orge
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 09, 2011, 09:49:13 Vormittag
mh schade.

mein vorhaben war es gewesen das man eine quest annimmt. durch das annehmen der quest wird die variable goldquest auf 1 gesetzt. beim abbrechen oder beenden der quest wird die variable goldquest wieder auf null gesetzt. um die quest beenden zu können muss eben ein goldsack aufgenommen werden. beim aufnehmen wird die variable goldsack auf 1 gesetzt. diese variable ist dann die bedingung das die quest beendet werden kann. wenn ich den goldsack allerdings wieder wegwerfe, ist es ja unsinnig das ich die quest trotzdem abgeben kann. diese abfrage soll aber halt nur bei dieses eine item stattfinden.

kann man irgentwie nen trigger an das item hängen der für die aktualisiert der variable sorgt?


ich hab mal noch ne andere frage/problem.

ich wollte über dem questgeber einen text ausgeben lassen. je nachdem in welchem zustand sich die quest befindet soll sich dieser text verändern. so in etwa hab ich es versucht:

Code: (text) [Auswählen]
  1. on:load {
  2. if (($goldquest==0)and($goldsack==0)){
  3.     text3d "self","quest nicht angenommen",1,35,300;
  4.     }
  5.  
  6. elseif (($goldquest==1)and($goldsack==1)){
  7.     text3d "self","quest angenommen+item",2,35,300;
  8.     }
  9.  
  10. elseif (($goldquest==1)and($goldsack==0)){
  11.     text3d "self","quest angenommen/kein item",2,35,300;
  12.     }
  13. }

leider wird der text nicht aktualisiert. ich denke mal das es in diesem fall an "on:load" liegt. kann man mit "on:" auch ne variable auf ihren zustand überpüfen?
wenn ich das ganze über nen trigger mache und ne "msg" ausgeben lasse klappt es. ich denke mal weil der inhalt des triggers die ganze zeit abgefragt wird?!

ich hoffe es ist verständlich was ich machen will =)

mfg SlimJim
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Juli 10, 2011, 10:56:18 Vormittag
hm, also der Script sieht auf jeden Fall schonmal gut aus ;)

Wenn du das Ereignis "on:load" zum Starten der Zeilen benutzt, dann läuft dieses jedesmal ab, wenn du die Map aus einem gespeicherten Spiel neu lädst. (Im Gegensatz zu "loadmap", was nur beim erstmaligen Laden der Map durchgeführt wird.)  
Probier doch einfach mal, ob sich der Anzeigetext ändert, wenn du die Map neu lädst, das wär ja schonmal ein Erfolgserlebnis^^

Um dann jedoch auf dein Problem einzugehen: Ich würde dir raten, um den NPC, der die Quest ausgibt, nen Trigger zu erstellen, bei dessen betreten der Script durchgeführt wird. Allerdings wäre dann die Veränderung der Schrift bemerkbar. Um das zu umgehen, mach den Trigger einfach größer als die Sichtweite. (Allerdings weiss ich nicht, wie rechenaufwändig soetwas ist, immerhin würden diese Befehlszeilen alle paar Sekunden ablaufen.)

Liebe Grüße

Orge

Edit:
Zitat
kann man irgentwie nen trigger an das item hängen der für die aktualisiert der variable sorgt?

Hm, er würde theoretisch möglich sein, in dem du speziell für diesen Fall ein neues Item "Goldbeutel" erstellst. (Einfach in den "Items_stuff den Goldbeutel aussuchen und alles kopieren, ganz unten einfügen und ne neue Id hinschreiben. Dann könntest du diesem Goldbeutel den Trigger direkt geben und ihn einfach ein einziges Mal plazieren. (Allerdings lässt er sich dann im Inventar nicht mit den "normalen" Goldbeutels stapeln, aber das dürfte kein großes Problem sein.)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 10, 2011, 20:07:13 Nachmittag
hab das mit dem trigger für die anzeige des queststatus gestern auch rausgefunden ;-) klappt wunderbar so. konnte es hier nur leider net posten wegen doppelpostsperre -.-

Code: (text) [Auswählen]
  1. on:trigger {
  2.    
  3. if (($goldquest==0)and($goldsack==0)){
  4.     text3d "self","quest nicht angenommen",1,45,300;
  5.     }
  6.  
  7. elseif (($goldquest==1)and($goldsack==1)){
  8.     text3d "self","quest angenommen+item",2,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==0)){
  12.     text3d "self","quest angenommen/kein item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==2)and($goldsack==1)){
  16.     text3d "self","quest beendet",2,45,300;
  17.     }
  18. }
  19.  

mal schauen ob ich das auch noch etwas ressourcenschonender hinbekomme. z.b das der trigger nur aktiviert wird wenn auch die jeweilge variable den wert ändert.

das mit dem goldbeutel versuch ich im laufe der woche mal.

ich danke dir erstmal für deine hilfreichen antworten.

hab da allerdings vorhin schon wieder ein neues problem gehabt. ich wollte bogenschützen platzieren und diese per script dazu bringen das sie mich nicht angreifen.

Code: (text) [Auswählen]
  1. on:load{
  2. addstate "unit",112,"18";
  3. }
  4.  

habe dieses script direkt bei der einheit und auch mal in nem trigger versucht. leider kein erfolg. hab auch statt der ID mal "self" eingegeben. ich hab auch mal den state in der Einheit auf diesem plus hinzugefügt. kann es sein das die grundconfig der bogenschützen mein script verhindert oder aushebelt? wollte nähmlich am ende ein script haben was dafür sorgt das ich mit nem bestimmten ruf angegriffen werde. und wenn ich nen paar aufgaben erledigt hab dann werd ich eben nicht mehr von denen angegriffen.

mfg SlimJim
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Juli 18, 2011, 12:21:33 Nachmittag
Zitat von: "SlimJim"
hab das mit dem trigger für die anzeige des queststatus gestern auch rausgefunden ;-) klappt wunderbar so. konnte es hier nur leider net posten wegen doppelpostsperre -.-

Code: (text) [Auswählen]
  1. on:trigger {
  2.    
  3. if (($goldquest==0)and($goldsack==0)){
  4.     text3d "self","quest nicht angenommen",1,45,300;
  5.     }
  6.  
  7. elseif (($goldquest==1)and($goldsack==1)){
  8.     text3d "self","quest angenommen+item",2,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==0)){
  12.     text3d "self","quest angenommen/kein item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==2)and($goldsack==1)){
  16.     text3d "self","quest beendet",2,45,300;
  17.     }
  18. }
  19.  

mal schauen ob ich das auch noch etwas ressourcenschonender hinbekomme. z.b das der trigger nur aktiviert wird wenn auch die jeweilge variable den wert ändert.

das mit dem goldbeutel versuch ich im laufe der woche mal.

vllt:
Code: (text) [Auswählen]
  1. on:start {
  2. timer "irgend-eine",info,60000,0,"goldbeutelaktu";
  3. }
  4.  
  5. on:goldbeutelaktu {
  6.  
  7. if (($goldquest==0)and($goldsack==0)){
  8.     text3d "self","quest nicht angenommen",1,45,300;
  9.     }
  10.  
  11. elseif (($goldquest==1)and($goldsack==1)){
  12.     text3d "self","quest angenommen+item",2,45,300;
  13.     }
  14.  
  15. elseif (($goldquest==1)and($goldsack==0)){
  16.     text3d "self","quest angenommen/kein item",2,45,300;
  17.     }
  18.  
  19. elseif (($goldquest==2)and($goldsack==1)){
  20.     text3d "self","quest beendet",2,45,300;
  21.     }
  22. }
  23.  
aktualisiert jede Minute. oder mit einem Event (event "goldbeutelaktu","global";) an den Stellen wo die Variable verändert wird:

Code: (text) [Auswählen]
  1. ...
  2.  
  3. $goldsack++;
  4.  
  5. event "goldbeutelaktu","global";
  6.  
  7. ...

Zitat von: "SlimJim"
hab da allerdings vorhin schon wieder ein neues problem gehabt. ich wollte bogenschützen platzieren und diese per script dazu bringen das sie mich nicht angreifen.

Code: (text) [Auswählen]
  1. on:load{
  2. addstate "unit",112,"18";
  3. }
  4.  

habe dieses script direkt bei der einheit und auch mal in nem trigger versucht. leider kein erfolg. hab auch statt der ID mal "self" eingegeben. ich hab auch mal den state in der Einheit auf diesem plus hinzugefügt. kann es sein das die grundconfig der bogenschützen mein script verhindert oder aushebelt? wollte nähmlich am ende ein script haben was dafür sorgt das ich mit nem bestimmten ruf angegriffen werde. und wenn ich nen paar aufgaben erledigt hab dann werd ich eben nicht mehr von denen angegriffen.

mfg SlimJim

Hab ich auch schon mal versucht. Das liegt daran, dass in S2 eigendlich nicht vorgesehen ist, dass Units schießen können. (Wenn du dich genauer damit beschäftigen willst: In der Datei modsS2Extsysunits_mc_leaf.inf unter id 202 und 203 findest du die Programmierung von der Einheit)
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Juli 18, 2011, 23:24:34 Nachmittag
Ich habe (wie überraschend) ein Problem:
Ich will dass ein AI-Character stehen bleibt und nicht wie ein wilder durch die Gegend läuft.
Mein Problem ist jetzt dass ich nicht weiß wie man eine Endlosschleife erzeugt. Immoment bleibt der Character zu Spielbeginn kurz stehen und läuft dann los.
Titel: Re: Fragen zum Scripting
Beitrag von: Robo01 am Juli 19, 2011, 01:05:00 Vormittag
Zitat von: "masterdies"
Ich will dass ein AI-Character stehen bleibt und nicht wie ein wilder durch die Gegend läuft.

http://http://stranded.unrealsoftware.de/s2_states.php State 60.

 
Code: (text) [Auswählen]
  1. on:start {
  2. addstate "self",60;
  3. }
zu den scripts von der Unit/Einheit hinzufügen.

Zitat von: "masterdies"
Mein Problem ist jetzt dass ich nicht weiß wie man eine Endlosschleife erzeugt.
[s2s:11j44395]loop[/s2s:11j44395] oder [s2s:11j44395]timer[/s2s:11j44395]. Bei "timer" z. B. einfach bei Wiederholungen den Wert 0 angeben.
Titel: Re: Fragen zum Scripting
Beitrag von: masterdies am Juli 19, 2011, 14:34:37 Nachmittag
danke  :hooray:
Titel: Trigger
Beitrag von: Mr_Stranded am Oktober 15, 2011, 19:35:15 Nachmittag
HAb ein kleines Problem:
Und zwar:
ICh möchte ein Gebieststrigge machen der an geht wen ich rein geh ( des geht auch) udn ein Tagebuch eintrag generiert(geht auch)
aber der macht des die ganze zeit wen ich drin bin-.-
was kan ich machen ( am besten ein script ( nru der befehl recicht)

aso wie  kan ich eigentlich mehrere befehle hinterienader ausführen lassen ( beispiel script)

bitet scheibstil entschuldigen , war in eile

danke im vorraus
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Oktober 15, 2011, 20:12:12 Nachmittag
Du suchst hier wahrscheinlich nach [s2s:1s6tzou5]stoptrigger[/s2s:1s6tzou5].
Befehle werden immer nacheinander ausgeführt. Trennung folgt hier mit Semikolon.
Code: (text) [Auswählen]
  1. on:trigger {
  2.    msg "Nachricht";
  3.    stoptrigger "self";
  4. }
Titel: Re: Trigger
Beitrag von: Mr_Stranded am Oktober 16, 2011, 08:24:21 Vormittag
danke erstmal aber leider hilft mir das nicht weiter  :cry_fox:
ich habe hier mal meinen aktullen script zu dem trigger

Code: (text) [Auswählen]
  1. on:trigger {
  2. diary "Wohnplatz?" [,"5"];   (bis hier hin geht alles)
  3. stoptrigger "self";
  4. }
  5.  
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Oktober 16, 2011, 08:42:56 Vormittag
Die eckigen Klammern bedeuten nur, dass dieser Parameter optional ist. Richtig würde es heißen:
Code: (text) [Auswählen]
  1. diary "Wohnplatz?" ,5;
Du brauchst die "" eigentlich nur, wenn du einen Dateinamen angeben willst.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Oktober 16, 2011, 09:36:08 Vormittag
Is ja egal :D
mein poblem is ja nur dass der Trigegr immernoch ständig ausgeführt wird!
oder muss ich die klammern einfach weg machen?
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Oktober 16, 2011, 09:59:02 Vormittag
Die eckigen Klammern müssen weg. Ich bin überrascht, dass dir da kein Scriptfehler angezeigt wurde.
Titel: Trigger,Wrack?
Beitrag von: Mr_Stranded am Oktober 16, 2011, 11:08:25 Vormittag
danke es geht jetz.
jetz noch eien andere frage:
ich hab am anfang ein flugzeugwrack mit eisen(stnagen) drin
kan ich ein script machen dass wen das zerstört wird ein tagebucxh eintrag erweitert wird?
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Oktober 16, 2011, 11:33:59 Vormittag
Wenn das Flugzeugwarck von Beginn an auf der Insel platziert ist, solltest du im Editor für dieses spezifische Objekt ein on:kill hinzufügen können.
Titel: Re: Fragen zum Scripting
Beitrag von: Mr_Stranded am Oktober 16, 2011, 12:51:23 Nachmittag
okey danke sehr

die kate wird es jetz dan auch bei maps zum download geben
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am November 01, 2011, 18:40:21 Nachmittag
hallo
ist es möglich mit irgendeinem script die verbliebene
lebensenergie abzufragen?
zum beispiel wenn man will das der spieler langsam leuft wenn
die lebensenergie unter 20 ist;
if ("VAREABLE FÜR LEBEN"<20) {player_speed 0.7}
nich bescheren weil der script sowiso nicht funzen würde,
hab lange nich gescriptet aber ihr wisst was ich mit dem Beispiel meine

danke im Voraus
Wire
Titel: Re: Fragen zum Scripting
Beitrag von: dragoana am November 01, 2011, 19:21:12 Nachmittag
Diese Befehle geben dir die Lebensenergie zurück:
getplayervalue(1) oder health("unit",1);
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am November 02, 2011, 15:42:34 Nachmittag
Danke für den tipp! :wink:
Titel: bitte helft mir
Beitrag von: Anonymous am Dezember 02, 2011, 17:39:34 Nachmittag
ich wollte ein script für einen waffenhändler machen aber es geht nicht.  :cry_fox:
ich habe folgendes an einen mann angebracht(im editor):

script=start
//~dialogue
page=start
title=Waffenhänder
text=start
Willst du was kaufen?
text=end
button=Ja,Gerne.
button=No,Schon gut.


page=Ja
title=Handel
# Goldmünze -> Gewehr
trade=start
sell=820,10
buy=831,1
trade=end
# Goldmünze -> Kugel
trade=start
sell=820,1
buy=29,10
trade=end
# Goldmünze -> Bombe
trade=start
sell=820,5
buy=269,3

page=No
  event "trader_menu","global"
script=end

sagt mir bitte wies richtig geht.
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Dezember 02, 2011, 20:33:16 Nachmittag
Magst du keine Semikolons? ^^
Habs nicht genau durchgesehen, aber da fehlen sicher eine Menge.
Titel: Antwort
Beitrag von: ich natürlich am Dezember 03, 2011, 10:33:44 Vormittag
ich befasse mich erst seit kurzem mit scripting,daher kenn ich mich noch nicht so gut aus }:?
helft mir bitte fähige scripter da draußen

PS:ich will ein mini gta erschaffen und später vieleicht Teile von gta san andreas für stranded ext machen
Titel: Re: Fragen zum Scripting
Beitrag von: TheLinuxist am Dezember 03, 2011, 12:06:01 Nachmittag
Da S2Ext eine Mod für Stranded II ist, hilft dir die Dokumentation von Unrealsoftware sicher weiter. Die findest du auf http://http://stranded.unrealsoftware.de.
Wenn du es "lernen" und willst und nicht nur Docs wälzen willst, dann schau' dir am Besten die im Spiel enthaltenen Dateien an. Darin ist so gut wie alles (Kombis, Items, Units (Also Tiere, Fahrzeuge...), Gebäude...) gecodet und du kannst eigentlich nichts kaputtmachen, wenn du ein bisschen damit 'rumspielst und schaust, was sich verändert. Schlage Befehle und Parameter nach, die du nicht kennst, und versuche auf gar keinen Fall, es auswendig zu lernen.
Auf dem Weg lernt man es (meiner Meinung nach) am Besten. Ich weiß nicht, was für Programmiererfahrung du hast, aber so habe ich so gut wie alles gelernt, was ich diesbezüglich kann. Du kannst dir, wenn du ein Händlerskript willst, auch mal mein Währungssystem ansehen, das könnte da hilfreich sein, wenn du eine Art "GTA"-Mod machen willst, musst du eigentlich nur die Gold- und Kupfermünzen durch Dollar und Cent (oder so) ersetzen.
Abgesehen davon solltest du dir ein bisschen Übung mit 3D-Modelling-Programmen aneignen. Als Linuxuser bevorzuge ich Blender (http://http://blender.org), weil es freie Software und kostenlos ist, wenn du ein paar Dollar ausgeben willst ist Milkshape für Einsteiger sicher die bessere Wahl.
Und jetzt mal weg vom Technischen: Viel Spaß und Erfolg beim Modden!
Titel: Re: Fragen zum Scripting
Beitrag von: Mahone am Dezember 08, 2011, 16:49:27 Nachmittag
Hallo,

Ich habe folgendes Problem beim scripten:  Wenn ich eine Palme schlage, soll immer ein Zufallswert
aus gegeben werden. Hier ist mein Script: [attachment=1:1dbg85l4]2.JPG[/attachment:1dbg85l4]

Sobald ich die Palme im Spiel schlage kommt immer folgender Fehler:
[attachment=0:1dbg85l4]1.JPG[/attachment:1dbg85l4]

Ich weiß nicht was an meinen Code falsch ist. Das Semikolon ist gesetzt und der Rückgabewert hat Runde klammern wie es in der Befehlsreferenz steht. Meine Version ist: Stranded 2 Ext 0.3.1
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Dezember 08, 2011, 19:03:30 Nachmittag
Versuchs mal damit:
Code: (text) [Auswählen]
  1. on:hit {
  2.  $i = random(100);
  3.  msg "$i";
  4. }
Titel: Re: Fragen zum Scripting
Beitrag von: Mahone am Dezember 08, 2011, 19:13:03 Nachmittag
Ja es funktioniert Quester danke. Also muss ich wenn ich ein return Befehl in msg ausgebe, immer einer Variable übergeben?
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Dezember 08, 2011, 22:08:38 Nachmittag
Das Problem ist, dass sowohl msg als auch random ein befehl sind, deshalb kannst du die nicht schachteln  ;)
msg beinhaltet in der regel nur Text, man kann auf die Weise aber auch Variablen einbauen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Januar 15, 2012, 11:42:52 Vormittag
Hallo scripter,
Wie mache ich das eine Einheit beim Tod eine Vareable erhöht.
kan man das bei der Map ingame scripten oder muss ich
an den Stranded programierungen was endern? }:?

Danke im Voraus!
Titel: Re: Fragen zum Scripting
Beitrag von: trewq am Januar 15, 2012, 14:31:05 Nachmittag
Zitat von: "Wire"
Wie mache ich das eine Einheit beim Tod eine Vareable erhöht.
Es gibt ein on:kill -Ereignis, das beim Töten/zerstören eines Objekts/Units ausgelöst wird. In dieses Ereignis kann man die Variablenerhöhung hineinschreiben.
Code: (text) [Auswählen]
  1. on:kill {
  2.   $variablexy++;
  3. }
  4.  
Zitat
kan man das bei der Map ingame scripten oder muss ich
an den Stranded programierungen was endern? }:?
Da wird es schon etwas schwieriger. Für eine einzelne Einheit sollte es kein Problem sein so etwas in der Map zu machen. Wenn die Erhöhung aber bei allen Einheiten eines Typs erfolgen soll muss man das wohl in den Definitionsdateien einfügen (Ist zwar nicht kompliziert die Dateien lassen sich mit einem Texteditor behandeln und sind unter S2Ext-0.3.1S2Ext-0.3.1modsS2Extsys zu finden Es sollte dabei jedoch bedacht werden, dass jeder der deine Map spielen möchte dann auch diese geänderten Definitionsdateien benötigen würde, was unpraktisch wäre solltest du vorhaben die Map zum Download anzubieten).
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Januar 15, 2012, 20:07:29 Nachmittag
Wie wärs mit globalen Variablen? Die lassen sich auch relativ einfach übers Menü im Editor auf der Map einfügen.  ;)
Titel: Re: Fragen zum Scripting
Beitrag von: trewq am Januar 15, 2012, 21:24:02 Nachmittag
Die Variable muss sowieseo global sein. Das Problem ist eher das Ereignis, welches den Ausschlag gibt, dass die Variable erhöht wird. Und dieses kann man so weit ich weiß entweder lokal bei einer bestimmten Unit ausführen oder eben wenn es alle Units eines Typs (platzierte und evtl später gespawnte) betreffen soll global in die Definitionsdatei schreiben.
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Januar 15, 2012, 21:47:19 Nachmittag
Puh, da gabs in der Skriptsprache direkt einen Befehl, um die Definition eines Objekts zu erweitern, frag mich aber nicht wie der hieß, da wirst du nachschauen müssen. Aber ich kenn das noch von Mc Leafs Penguin Adventure, er hat das massenhaft verwendet! Man konnte damit auch auf eine anbeigelegte Stranded 2 Skriptdatei verweisen, aus der er sich die Definition herauslesen konnte. War gar nicht so kompliziert, dürfte rauszufinden sein.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Januar 17, 2012, 07:11:51 Vormittag
Müsste [s2s:2snz0vwb]def_extend[/s2s:2snz0vwb] oder so sein, wenn ich mich nicht irre.
Titel: Re: Fragen zum Scripting
Beitrag von: MrMatthew am Januar 17, 2012, 15:58:03 Nachmittag
Ja, genau das meinte ich  ;)
Titel: Re: Fragen zum Scripting
Beitrag von: trewq am Januar 17, 2012, 17:47:55 Nachmittag
Hört sich richtig interessant an.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Januar 29, 2012, 13:52:30 Nachmittag
Vielen Dank!
Das hilft mir echt weiter.
 :D
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 14, 2012, 00:51:25 Vormittag
da man kristallklingen nicht bauen kann,wollte ich fragen wie man seine eigenen combis macht
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 15, 2012, 14:36:39 Nachmittag
combi=start
leitet eine neue Kombination ein

combi=end
beendet die Kombination (optional)

req=Item Typ,Anzahl,stay
Gegenstände die benötigt werden. Durch Anhängen von ",stay" bleiben sie bei der Kombination erhalten

gen=Item Typ,Anzahl
Gegenstände die erzeugt werden

genname=Wert
Name für die Kombination (zu benutzen, wenn die Kombination kein Item erzeugen soll)

script=start / ... / script=end
Script (zwischen den Zeilen)

id=Wert
Ein Text (keine Zahl wie sonst für IDs üblich!) für den Zugriff auf die Kombination mit den Scriptbefehlen lockcombi und unlockcombi. Verschiedene Kombinationen können die gleiche ID bekommen. Die Zuweisung einer ID ist bei Kombinationen nicht zwingend nötig

( Quelle: ~Stranded - das 3D advanture Game~ )
---
Frage, gibt es eigentlich auch einen Befehl der Scriptkeys erstellt?
So wie def_extend es bei Units, Objects und Items macht?
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Februar 15, 2012, 19:02:55 Nachmittag
gute erklärt :)

thx
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am Februar 15, 2012, 19:09:30 Nachmittag
Zitat von: "Wire"
Frage, gibt es eigentlich auch einen Befehl der Scriptkeys erstellt?
So wie def_extend es bei Units, Objects und Items macht?
Man kann doch in den Einstellungen Spezialkeys einstellen, wenn ich mich nicht irre. Diese können dann mit Events abgefangen werden. Du kannst für Beispiele in der game.inf nachschauen.
Titel: Re: Fragen zum Scripting
Beitrag von: Kreater am März 12, 2012, 21:04:32 Nachmittag
So nun habe ich doch auch mal eine Frage =)
Und zwar bin ich derzeit an einen Script der Abfragt ob ich ein Objekt in den Brennofen GESCHMISSEN (also per behaviour=throw) habe und dann einen Timer startet und dieses Item gegen ein neues austauscht, jedoch klappt es nicht das alte Objekt wird nicht gelöscht und das neue an eine falsche Stelle gesetzt:

Hier mein Code.
Code: (text) [Auswählen]
  1. on:impact {
  2.  
  3.      $class=impact_class();
  4.      $id=impact_id();
  5.      $id3=currentid();
  6.      if(type($class,$id)==282) {
  7.      timer "item",$id,8000,1,"iron_heated";
  8.      }
  9.  
  10. }
  11.  
  12. on:iron_heated {
  13.  
  14. $id2=create("item",283);
  15. setat "item",$id2,"item",$id3;
  16.  
  17. }

Also man soll Roheisen hineinschmeißen und nach Ablauf des timers soll dieses sich zu glühenden Eisen verwandeln
183 glühendes Eisen
182 Brennofen
85 Roheisen

Ich komme leider echt nicht weiter ich hoffe ihr könnt mir helfen =)
Mfg: Max  xD
______________

Edit achso und der Script steht in der Roheisen Definition =)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 02, 2012, 08:59:31 Vormittag

das scriptest du nicht das machst du per info
glaube das war das neben der startpositions-info
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 13, 2012, 21:53:53 Nachmittag
wie kann man genau skill cheaten : wenn ich eingebe z.b bastell 999 damit ich bei 1000 was freischalte
aber irgendwie klappt es nicht dann wird ein zweiter bastellskill angezeigt und wenn ich drauf klick geschieht nichts.
Titel: Re: Fragen zum Scripting
Beitrag von: Quester am April 13, 2012, 22:01:14 Nachmittag
Da hast du wohl den Namen des  Skills falsch geschrieben. Die Namen kannst du auch in info_skills.inf nachlesen.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am April 14, 2012, 00:56:04 Vormittag
ok :mrgreen: werde ich mir mal noch anschauen !
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am Juli 06, 2012, 19:44:41 Nachmittag
Ich will einrichten das ein Fischereibíet jeden Tag wieder Aufgefüllt wird. Hab aber keinen schimmer wie ich das anstellen soll
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am Juli 10, 2012, 14:54:35 Nachmittag
Hm, das Fischereigebiet musst du doch manuell im Editor platzieren, oder?
Da kannst du es anklicken und in die Scriptzeilen sowas schreiben wie:
Code: (text) [Auswählen]
  1. on:changeday {
  2. if((getamount 89) < 20) {   // Diese Zeile zählt mit dem vorderen Teil, wie viele Items der ID 89 (Fisch) vorhanden sind.
  3. setamount 89, 20;             //Sind es weniger als 20, so tritt die Aktion in den geschweiften Klammern in Kraft -> Fische im Gebiet werden auf 20 gesetzt.
  4. }
Titel: Re: Fragen zum Scripting
Beitrag von: Wolf.Soft am Juli 15, 2012, 19:51:32 Nachmittag
Hi

I have a problem.
I dont understand instructions about automatisierte Fackeln und feuerstellen.
What script i need to use?
I must have a timer?
Titel: Re: Fragen zum Scripting
Beitrag von: siuww am August 07, 2012, 08:29:01 Vormittag
Handgranate wäre kein Problem, aber Bumerange (muhaha schonmal von der FF2-Rechtschreibprüfung profitiert xD) sind nicht möglich.
Für ne Handgranate bräuchte man einfach nur selfthrow als Behaviour und ein Script das am Einschlagspunkt eine Explosion auslöst.
 xD  xD  :hooray:  :hooray:  O_O  O_O


----------------------------


 Sac Longchamp (http://http://saclongchampchers.net)
Titel: Re: Fragen zum Scripting
Beitrag von: chrmoe am August 26, 2012, 14:37:05 Nachmittag
Wie kann man ein bestimmtes Gebiet so einstellen, dass man kein "Terraforming" mit der Schaufel und Erde machen kann?
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am August 26, 2012, 14:54:03 Nachmittag
Hm, also dieses Terraforming ist standardmäßig in Stranded gar nicht enthalten sondern erst mit dem EXT hinzugekommen.
Es dürfte nicht möglich sein, das in bestimmten Gebieten abzuschalten, da die Scripts nicht für jede Insel geladen werden, sondern in den Items selbst drinstecken.
Wenn du es aber gar nicht mehr haben willst, lösch einfach wieder ein paar Sriptzeilen raus. (Das sind Zeile 413 bis 434 im  "items_tools.inf" für den Spaten und Zeilen  1279 bis 1281 im "items_mc_leaf.inf")
Titel: Re: Fragen zum Scripting
Beitrag von: chrmoe am August 27, 2012, 19:01:50 Nachmittag
Weiss jemand wie man ein Einbaum-Boot nach einer bestimmten Zeit kaputt gehen lassen kann? z.B. wenn der Tag vorbei ist oder wenn man schläft.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am August 27, 2012, 19:31:42 Nachmittag
Zu Beginn musst du wissen, dass du dieses Script entweder
a) In die Definition des Items (also in Objects_buildings.inf oder so) schreibst, oder
b) Zu einem Einbaum, welcher mit dem Editor schon auf der Karte platziert ist.

Da der Spieler den Einbaum aber wohl selbst bauen muss, geht Möglichkeit b) nicht, von da her muss es nach Möglichkeit a) gehen.


Der Script dazu ist relativ schnell gemacht.
Einfach beim Einbaum mit dazuschreiben ( der Text hinter den "//" ist nur zur Info da):
Code: (text) [Auswählen]
  1. on:changeday {    // Changeday wird jeden Tag um 24 Uhr ausgelöst, ist also die "wenn der Tag vorbei ist"-Variante. (Wobei man da eigentlich auch immer schläft)
  2.                           // ansonsten nimm einfach on:sleep
  3. kill "self";          // Diese Zeile zerstört den Einbaum.
  4. }
  5.  
Soll der Einbaum eine gewisse Anzahl an Tagen stabil bleiben, kommt noch eine if-Abfrage hinzu:
Code: (text) [Auswählen]
  1. on:changeday {
  2. local "$Tage";         // Eine Variable für die Anzahl an Tagen wird eingeführt
  3. if ($Tage==5) {     // Ist der Wert der Variable gleich 5? -> 5 entspricht der Anzahl an Tagen (bzw. changedays), bis der Einbaum zerstört wird
  4. kill "self";
  5. }else{
  6. $Tage++;            // Wenn der Wert ungleich 5 ist, so wird er um 1 erhöht.
  7. }
  8. }
  9.  

Hab das jetzt nicht getestet, sollte aber funktionieren ;)

Hoffe, damit ist dir geholfen.

Liebe Grüße
Titel: Re: Fragen zum Scripting
Beitrag von: chrmoe am August 27, 2012, 20:42:17 Nachmittag
Danke  :hooray: ,
auf meiner Karte ist man am Anfang nämlich noch ein Stück weg von der Insel im Meer und muss sich aus den Trümmern des Schiffs, dass gegen einen Felsen gefahren ist ein Floß zusammenbauen, weil im Wasser Haie sind und man deshalb nicht hinüberschwimmen kann. Da der Spieler aber noch kein "Skill" zum Floßbau hat soll es dann bald kaputt gehen.

Habe noch eine Frage  :mrgreen:
Kann man auch irgendwie Timer benutzen, also dass zb. nach 30sec etwas passiert? - habs herausgefunden
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 28, 2012, 09:33:57 Vormittag
Wie kann man bei einem Objekt (im meinem Fall die "Baustelle (151)") verhindern, dass irgendein script ausgeführt wird, dass nicht in dem Objekt steht. Wenn ich die Baustelle jetzt benutze wird immer irgendein Script ausgefüht das ich dort garnicht reingeschieben habe. Soll aber nur bei der einen Baustelle so sein, die ich mit dem Editor platziert habe.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am August 28, 2012, 10:29:42 Vormittag
schau mal, ob das hier (http://http://stranded.unrealsoftware.de/s2_commands.php) das Richtige für dich ist.
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am August 28, 2012, 11:20:59 Vormittag
Danke, die Seite kenne ich, aber wenn ich eine Baustelle hiermit erstelle:
Code: (text) [Auswählen]
  1. on:trigger {
  2.     local "$triggered";
  3.     if($triggered==0) {
  4.         $triggered++;
  5.         play "modsS2Extsfxspeechbuildingsite2.ogg";
  6.         local "$itemid";
  7.         $itemid=create ("object", 151, -3860, -3760);
  8.         addscript "object", $itemid, 10;
  9.         free "self";
  10.     }
  11. }
  12.  
dann wird zwar das Script das ich geadded habe auch ausgeführt, wenn man die Baustelle benutzt, aber das Spiel will immer irgendetwas aus der "Buildinginfos" Datei laden, was zu einem Error führt:
Zitat
ERROR: unable to load external script 'scriptsbuildinginfo.s2s'
aber ich möchte nicht dass die Baustelle, wenn man sie benutzt irgend ein externes Script lädt, sondern dass einfach nur das passiert was ich reingeschrieben habe.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am August 28, 2012, 11:54:46 Vormittag
Hm, also diese "buildinginfos"-Datei gibts ja nicht mal...kein Wunder, das Stranded abstürzt, wenn es die laden will  :shock:


Probiers mal so:
Code: (text) [Auswählen]
  1.        on:trigger {
  2.                 play "buildingsite2.ogg";
  3.                 local "$itemid";
  4.                 $itemid=create ("object", 151, -3860, -3760);
  5.                 addscript "object", $itemid, 10;
  6.                 free "self";
  7.                 stoptrigger ID;                      // Als ID bitte die ID des Triggers
  8.                 skip;
  9.         }
  10.          
  11.  

Hoffe, das klappt so.

Liebe Grüße
Titel: Re: Fragen zum Scripting
Beitrag von: chrmoe am August 28, 2012, 12:15:32 Nachmittag
Hmm ich habe jetzt mal zum Test eine neue Insel erstellt, mir mit "unlockbuildings" alle Gebäude freigeschalten und siehe da, auch hier bingt die "Wasser-Baustelle" für Einbaum etc. einen Error hervor, wenn man sie ohne etwas in der Hand benutzt.
Scheint irgend ein Fehler in der Objekt-Definition oder so zu sein.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am August 28, 2012, 12:23:13 Nachmittag
Es gibt ja dieses Bausystem, dass man nicht mehr für jedes Item einzeln mit dem Hammer klicken muss, sondern einfach die Baustelle benutzt und dann "Alle Items aus der Umgebung für diese Baustelle nutzen" anklickt. Vermutlich funktioniert dies bei der Wasser-Baustelle nicht richtig. Müsste also in der Baustellen-Objektdefinition abstellbar sein.
Füge doch bei der Baustelle noch das hinzu:

on:use { skipevent; }
Titel: Re: Fragen zum Scripting
Beitrag von: chrmoe am August 28, 2012, 12:40:24 Nachmittag
"skipevent" funktioniert bei mir leider nicht, aber wenn ich
Code: (text) [Auswählen]
  1. on:load {
  2. def_free "object", 151;
  3. }
benutze würde es funtionieren, doch dann kann man die Wasserbaustelle mit dem Hammer auch nicht mehr benutzen. Zumindest ist damit sicher, dass der Fehler in der Objektdefinition liegen müsste.

Edit: Habe jetzt den Fehler lokalisiert, müsste in "S2Extsysobjects_buildings.inf" in Zeile 245 - 260 sein, da dort diese nicht vohandene Datei geladen wird.
Edit: Habe den Fehler gefixt, indem ich in der genannten Datei die "on:use" Zeilen (245-260) der Wasserbaustelle ein wenig an die der normalen angepasst habe, d.h. ein paar Zeilen, die bei der normalen Baustelle auskommentiert waren, auch bei der Wasserbaustelle auskommentiert.
Titel: Re: Fragen zum Scripting
Beitrag von: snthss am November 14, 2012, 14:22:28 Nachmittag
Hey!

Hoffe ein paar Leute sind hier noch aktiv, da ich gerade an einer großen Map arbeite aber als blutiger Anfänger öfter mal Dinge erfragen müsste. Im Moment ringe ich mit einem simplen Gebiets-Trigger script  :@ (was hat es eigentlich mit dem Fuchs auf sich?).

Also folgendes möchte ich: Beim Betreten eines bestimmten Gebiets soll ein bereits existierender Tagebucheintrag um einen Text erweitert werden. Mehr nicht. Das Problem ist nun, dass das script endlos ausgeführt wird, solange ich im Gebiet stehe. Mit stroptrigger ID hat es nicht funktioniert und jetzt gerade dachte ich ich hätte den passenden command gefunden: free "self" aber der Fehler besteht weiterhin. Folgendes steht in meinem script:

Code: (text) [Auswählen]
  1. on:trigger {
  2.             extendentry "Was zum..." [,"11"];
  3.             free "self";

"Was zum..." ist der Titel des bestehenden Tagebucheintrags, "11" ist die iD vom Textcontainer. Alternativ habe ich es auch mit stoptrigger 9 anstelle von free "self" probiert (9 ist halt die ID vom Gebiets-trigger). Das Ergebnis ist nun dass im Sekundentakt der Text an den Tagebucheintrag angehangen wird, inklusive Script Error: Expecting Semicolon. Wo steckt denn jetzt der Fehler drin?

Vielen Dank im Vorraus!
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am November 14, 2012, 19:58:17 Nachmittag
also eigentlich sollte stoptrigger schon klappen...
Bei deinem Script...die eckigen Klammern können schon mal weg, die sind in den Unrealsoftware-Befehlsbeschreibungen nur enthalten, wenn ein Parameter (in deinem Fall das "11") möglich, aber nicht zwingend erforderlich ist. Beispielsweise kann man ja
Code: (text) [Auswählen]
  1. msg "Fantastisch!",4,1000;
schreiben, um als Anzeigedauer 1000ms zu erhalten.
Code: (text) [Auswählen]
  1. msg "Fantastisch!",4;
ist auch möglich, es wird dann die Standard-Anzeigedauer 3000ms verwendet.

Von da her sollte ein
Code: (text) [Auswählen]
  1. on:trigger {
  2. extendentry "Was zum...","11";
  3. stoptrigger 9;
  4. }
eigentlich klappen.
Eine weniger elegante, aber sichere Lösung ist eine if-Abfrage:
Code: (text) [Auswählen]
  1. on:trigger {
  2. if ($trigger_9==0) {
  3. extendentry "Was zum...","11";
  4. $trigger_9++;
  5. }
  6. }

Das funktioniert auch, verbraucht aber (unwesentlich) mehr Rechenleistung, da die Abfrage immer (alle 2 sec oder so) gestartet wird, solange sich der Spieler im betreffenden Trigger aufhält, auch wenn der Tagebucheintrag schon längst vorhanden ist.
Hoffe, das hilft dir weiter :)
Titel: Re: Fragen zum Scripting
Beitrag von: snthss am November 15, 2012, 12:32:48 Nachmittag
Ah, danke :). Die Klammern waren wohl das Problem. Läuft jetzt so wie es soll.

Andere Frage: Ist es möglich einen neuen Tagebucheintrag zu erstellen ohne das ingame das Tagebuch sofort aufpoppt? Ich möchte nur, dass der Spieler über eine msg über den neuen Eintrag informiert wird, das Tagebuch soll ihm aber nicht ins Gesicht springen ^^. Ginge mit extendentry, aber es soll ja ein ganz neuer Eintrag sein...

Ach und wegen den Spawn scripten: Bei Anzahl/Max bin ich mir nicht ganz sicher wie ich das deuten soll... Wenn ich jetzt Anzahl: 1, Max: 3 und Tage: 2 eingebe und als Einheit Affe nehme... Heißt dass jetzt, dass sobald die Maximale Anzahl nicht mehr gegeben ist, alle 2 Tage ein Affe spawnt, bis MAX erreicht ist? Oder heißt das, dass wenn im Radius 1 oder weniger Affen zu finden sind, dass nach 2 Tagen die maximale Anzahl an Einheiten spawnt?

Danke und bis später :).

-edit-
Gibt es eine Möglichkeit im Editor durch die Wasseroberfläche hindurchzuschauen? Das würde das Platzieren von Fischen und Haien ungemein vereinfachen.
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am November 15, 2012, 13:48:59 Nachmittag
Also zum Tagebuch kann ich dir leider nichts sagen :(

Zum Spawn: Deine erste Theorie trifft zu. "Anzahl" entspricht der Menge an Units, die alle x Tage (bzw. bei "on:changeday") spawnen, bis zur Max(imalanzahl).

Im Editor direkt glaube ich nicht, aber öffne mal die game.ini und schau, ob du das ne Variable "wateralpha" oder sowas findest. Ein "alpha"-Wert gibt immer die Transparenz eines Objektes etc. an. Stellst du diese nun auf maximal (100 oder 1.0, entweder halt prozentual oder dezimal), so wird das betreffende Objekt durchsichtig bzw. unsichtbar. :)

btw: Deine Map kann ich gerne mal testen, wenn du willst. Ausprobieren werd ich sie auf jeden Fall, wenn du fertig bist ;)
Titel: Re: Fragen zum Scripting
Beitrag von: snthss am November 16, 2012, 15:14:57 Nachmittag
Gut, dann muss ich mal eben die spawnpunkte fixen ^^.

Alpha-wert... Ja das klingelt irgendwas in Bezug auf meine GIMP experimente. In der game.inf steht dieser Wert auf 0.7. So sehe ich das Wasser auch ingame, im Editor ist es halt komplett undurchsichtig (ärgerlich).

Hast noch eine PM... Sonst fang ich noch an den Thread hier hemmungslos zu spammen.
Titel: Mit Schlüssel Tor öffnen & Mit Schlüssel Schiff fahren könne
Beitrag von: Anonymous am November 24, 2012, 14:53:57 Nachmittag
So ich bin ziemlich neu beim Scripten und Teste erst noch rum.

Wo ich jetzt gerade hänge ist zum 1.

Was muss ich im Script eingeben dass das Tor sich nur öffnet mit einem Schlüssel (z.b. Objekt92) und ohne Schlüssel lässt sich es nicht öffnen.
wenn ich da z.b. eingebe beim Tor (Objekt293)

on:use {
if (playergotitem(92)>=1) {
event "toggle"; }
}

dann geht das Tor ohne Schlüssel auf und zu, aber mit nichtmehr.

Und wo ich ganz ratlos bin, ist wie man ein Schiff/Boot nur Nutzen kann, wenn man den Schlüssel hat, sonst ist es gesperrt.

PS: Nimmt mir es nicht Übel, ich bin erst 2 Tage dran und bin noch nicht ganz drin in der Sache.
Und ja ich hab die ganze Tutorials durchgelesen.

Danke für Antworten :D
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am November 24, 2012, 18:50:33 Nachmittag
Hm, also dein erstes Script sieht eigentlich ganz ok aus...probiers doch vielleicht mal so:
Code: (text) [Auswählen]
  1. on:use {
  2. if(playergotitem(92)==0) {
  3. skipevent;    // hier kann anstelle von "skipevent;" auch "skip;" stehen, vielleicht geht es damit
  4. }else{
  5. event "toggle";
  6. }


und für das Schiff/Boot probiere doch auch mal sowas ähnliches:
Code: (text) [Auswählen]
  1. on:use {
  2. if(playergotitem(92)==0) {
  3. skipevent;    // hier kann anstelle von "skipevent;" wieder "skip;" stehen
  4. }
  5. }

Hoffentlich klappt das :D

Und keine Sorge, für solche Fragen gibts doch den Thread hier ;)
Titel: Re: Fragen zum Scripting
Beitrag von: Anonymous am November 24, 2012, 19:44:12 Nachmittag
Also erstmal danke für die schnelle Antwort :D

Also das mit der Türe hat fast geklappt, ich musste statt ner 0 eine 1 reinschreiben, dann ging es ;)

Das mit dem Schiff funktioniert jedoch so nicht, ich kann es immer benutzen, egal mit oder ohne Schlüssel.
Habe getestet mit Skip oder Skipevent machte keinen Unterschied, sowie mit ner 0 oder 1.

und dann wäre da eine kleine Frage, wozu dient dieses "else" gerade bei der Türe??  xD
Titel: Re: Fragen zum Scripting
Beitrag von: yrevey am November 24, 2012, 19:53:33 Nachmittag
okay, das mit dem "else" war iwie selbsterklärend :P
jetzt weiß ich es haha
Titel: Re: Fragen zum Scripting
Beitrag von: Orge am November 24, 2012, 20:12:31 Nachmittag
also das mit dem Script ist echt seltsam...normal sollte die Tür, wenn du anstelle der 0 eine 1 schreibst, eben mit Schlüssel nicht aufgehen, da er das on:use-event überspringt (deswegen "skip;"), wenn das "if(playergotitem(92)==1) zutrifft, der Spieler also nen Schlüssel dabeihat.
Echt seltsam  O_O
Titel: Tor mit einem Schlüssel öffnen /Schiff nur mit Schlüssel fah
Beitrag von: yrevey am November 24, 2012, 20:28:19 Nachmittag
Ich habe den Fehler jetzt herausgefunden!

Ich ging einfach mal davon aus, dass die Türe evtl. ein eigenes Script enthält, daher bin ich das erstmal umgangen, denn es kam mir immer seltsam vor, dass wenn die Türe auch zu war und ich keinen Schlüssel hatte, trotzdem ein Tür-öffnen-Geräusch kam.

sprich hab ich am Anfang  die Variable bei on:start "locked" auf 1 gesetzt und zwar so:

Code: (text) [Auswählen]
  1. on:start {
  2. $locked=1;
  3. }
  4.  
  5. on:use {
  6. if(playergotitem(92)==0) {
  7. skipevent;
  8. }else{
  9. event "toggle";
  10. }
  11. }

so funktioniert es dann :D




EDIT:

Ich habe es nun auch hinbekommen, wie man ein Schiff mit einem Schlüssel benutzt, und ohne nicht.
man gibt bei seinem Schiff/Boot in dem Script ein:

Code: (text) [Auswählen]
  1. on:start {
  2. $owner=0;
  3. }
  4.  
  5. on:use {
  6. if(playergotitem(92)>0) {
  7. $owner=1;
  8. }elseif ($owner==0)
  9. }
Titel: Re: Fragen zum Scripting
Beitrag von: gothicmaster8888 am Januar 14, 2013, 18:50:20 Nachmittag
id=481
name=Schmelzofen
group=forge
icon=gfxforgeiconsSchmelzofen_ohne.bmp
model=gfxforgeSchmelzofen_ohne.b3d
health=500
scale=1.5
mat=stone
script=start
on:use {
   local $x, $y, $z, $yaw;
   local $melt, $id1, $id2, $use_m, $schmelzofen_unit, $schmelzofen_object;
   $x=getx("self");
   $z=getz("self");
   $y=gety("self");
   $yaw=getyaw("self");
   if($melt==0) {
      if((getplayerweapon()==121) && (count_stored("unit",1,121)>=1)) {
         freestored "unit",1,121,1;
         msg "Gut, jetzt muss ich nur noch Feuer machen.";
         $melt=1;
      }
      else {
         msg "Ich brauche Kohle um ein Feuer zu entzünden.";
         speech "negative";
      }
   }
   elseif($melt==1) {
      if((getplayerweapon()==22) && (count_stored("unit",1,22)>=2)) {
         msg "Jetzt kann ich das Eisen reinlegen.";
         $id1=create("info",30,$x,$z);
         addstate "info",$id1,"eternalfire";
         rpos "info",$id1,"self",10,10,"self",$yaw,"self";
         $melt=2;
      } elseif((getplayerweapon()==111) && (count_stored("unit",1,111)>=1)) {
         msg "Jetzt kann ich das Eisen reinlegen.";
         $id1=create("info",30,$x,$z);
         addstate "info",$id1,"eternalfire";
         rpos "info",$id1,"self",10,10,"self",$yaw,"self";
         $melt=2;
      } else {
         msg "Ich brauche 2 Feuersteine oder eine Fackel um Feuer zu machen.";
         speech "negative";
      }
   }
   elseif($melt==2) {
      if ((getplayerweapon()==124) && (count_stored("unit",1,124)>=1)) {
         freestored "unit",1,223,1;
         model "gfx/forge/Schmelzofen_leer.b3d";
         scale 1,1,1;
         $melt=3;
      }
      else {
         msg "Ich brauche eine Form ...";
         speech "negative";
      }
   }
   elseif($melt==3) {
      if((getplayerweapon()==85) && (count_stored("unit",1,85)>=1)) {      
         $id2=create("info",30,$x,$z);
         rpos "info",$id2,"self",40,-10,"self",$yaw,"self";
         addstate "info",$id2,"smoke";
         freestored "unit",1,85,1;
           $schmelzofen_unit=create("unit",50,$x,$z);
           setrot "unit",$schmelzofen_unit,"self",$yaw,"self";
           alpha 0,"object",currentid();
         timer "self",25000,1,"melt1";
         $use_m=1;
         $melt=4;
      } else {
         msg "Ich muss erst Eisen in den Schmelzofen legen.";
         speech "negative";
      }
   }

   if($use_m==1) {
      msg "Ich muss warten, bis das Eisen geschmolzen ist.";
      speech "negative";
   }
   elseif($use_m==2) {
      $schmelzofen_object=currentid();
      setlocal "unit",$schmelzofen_unit,$schmelzofen_object,$schmelzofen_object;
      animate $schmelzofen_unit,1,24,0.05,3;
      $use_m=3;
   }
   elseif($use_m==3) {
      msg "Heiß!!!";
   }
   elseif($use_m==4) {
      find 125,1;
      model "gfx/forge/Schmelzofen_ohne.b3d";
      scale 1,1,1;
      $melt=3;
      $use_m=0;
   }
}

on:melt1 {
   $use_m=2;
}

on:melt2 {
   model "gfx/forge/Schmelzofen_fluessig.b3d";
     alpha 1,"object",currentid();
   scale 1,1,1;
   free "unit",$schmelzofen_unit;
   timer "self",12000,1,"melt3";
   free "info",$id2;
   $id2=create("info",30,$x,$z);
   rpos "info",$id2,"self",10,-45,"self",$yaw,"self";
   addstate "info",$id2,"smoke";   
}

on:melt3 {
   model "gfx/forge/Schmelzofen_hart.b3d";
   scale 1,1,1;
   freetimers "self";
   free "info",$id2;
   $use_m=4;
}

on:changeday {
   if($melt==0) {
      $melt=0;
   }
   else {
      $melt=1;
   }
   free "info",$id1;
   free "info",$id2;
   free "unit",$schmelzofen;
   $use_m=0;
}

on:load {
   îf (($melt==3) && ($use_m!=0)) {
      model "gfx/forge/Schmelzofen_leer.b3d";
      scale 1,1,1;
   } elseif (($melt==3) && ($use_m==0)) {
      model "gfx/forge/Schmelzofen_ohne.b3d";
      scale 1,1,1;      
   }
}
script=end



-------------------------------------------------------------------------------------------------------------------------
der Schmelzofen erzeugt jedes mal einen Einboren der mich mit Pfeilen beschießt also Unit 50, was muss ich ändern damit ich die gehärtet Form bekomme?
Titel: Re: Fragen zum Scripting
Beitrag von: Kiwi Töter am Januar 14, 2013, 20:48:48 Nachmittag
Im bereich
Code: (text) [Auswählen]
  1. elseif($melt==3) {
  2. if((getplayerweapon()==85) && (count_stored("unit",1,85)>=1)) { 
  3. $id2=create("info",30,$x,$z);
  4. rpos "info",$id2,"self",40,-10,"self",$yaw,"self";
  5. addstate "info",$id2,"smoke";
  6. freestored "unit",1,85,1;
  7. $schmelzofen_unit=create("unit",50,$x,$z);
  8. setrot "unit",$schmelzofen_unit,"self",$yaw,"self";
  9. alpha 0,"object",currentid();
  10. timer "self",25000,1,"melt1";
  11. $use_m=1;
  12. $melt=4;
macht die Zeile
Code: (text) [Auswählen]
  1. $schmelzofen_unit=create("unit",50,$x,$z);
dass die Einheit mit der ID 50 erzeugt wird( und $schmelzofen_unit festgelegt wird) . In der Forge Mod ist die unit 50 teil der Schmelz-Animation(soweit ich weiß) und in der Ext-mod der Eingeborene  mit Bogen.
Wenn man die forge Mod wirklich kommpelett übernehmen will, müsste man in allen Deffinitionsscripts die IDs ändern und das wäre eine Menge Arbeit!
Titel: Re: Fragen zum Scripting
Beitrag von: gothicmaster8888 am Januar 14, 2013, 21:20:10 Nachmittag
also ohne de Animationen könnte ich leben sieht dann zwar nicht toll aus aber es würde immerhin funktionieren.
Titel: Antw:Fragen zum Scripting
Beitrag von: Ramokthan am Dezember 01, 2013, 21:21:34 Nachmittag
Servus

Ich bin neu hier, und ich habe ne Frage zum Scripting.
Es geht um folgendes:

Ich möchte mir das spiel selber genießbarer machen, dazu gehört auch das beseitigen von ein paar Bugs, das wo ich grade dran bin ist das dropstored Script (von Paddi)

Das funktioniert einfach nur kurz nach dem Laden, sobald amn aber mal nicht erfolgreich geschüttelt hat oder andere Items aufgeleden hat bleiben die Früchte Stur auf dem Baum egal wieviel man schüttelt.

Da ich nicht auf den Kopp gefallen bin habe ich mal analysiert woran es liegt, weiß es mittlerweile, habe aber zuwenig Kenntniss vom Framework um es zu fixen.

Also, die Ursache ist, dass das dropstored Script noch mit Werten von $class und $id belegt ist die nicht von dem aufrufenden Objekt stammen, in meinem Testfall war das die Id vom Baum vorher. Da sind jedoch keine Früchte mehr drauf, also bricht das Script ab (getstored = 0, logisch).
Wie also werden diese Variablen übergeben, bzw. wenn sie global sind, wie werden sie gesetzt?
Beim onuse vom Baum werden zwar welche gesetzt aber das dropstored script hat dann immer noch die alten Werte die sich auch nie wieder ändern egal wieviel verschiedene Bäume man danach noch schüttelt bzw "used". Helfen tut hier nur ein Reload.

Vll kann mir einer von euch auf die Sprunge helfen oder es fixen, Fehleranalyse habe ich ja nu gegeben denke ich.

Grüßle.
Titel: Antw:Fragen zum Scripting
Beitrag von: Kruzschev am Dezember 01, 2013, 23:29:20 Nachmittag
Versuch mal die Fruchtbäume mit Steinschleudern zu schießen und dann schütteln das sollte die Früchte zum runterfallen bringen

Über die Skript Problematik weiß ich selber wenig
Titel: Antw:Fragen zum Scripting
Beitrag von: Ramokthan am Dezember 02, 2013, 13:30:46 Nachmittag
Dann wären wir wieder bei nem Workaround...

Momentan schieße ich sie mit speeren runter oder mach eben kurz vor der Ernte nen reload, aber es nervt nunmal und da ich dachte dass dass eh mit scripten geregelt ist und ich denke dass ich mich damit auskenne versuche ich das zu fixen.

Nur eben scheint mir das ganze ein Problem des Frameworks zu sein bzw meines Unverständnisses davon.

Oder gibts vll. irgendwo den Source Code damit ich mir von der Funktionsweise n Bild machen kann?

Die Scriptingdokumentation ist auf jedenfall viel zu mangelhaft, und sogar teilweise falsch, um damit effektiv arbeiten zu können.

Btw.:
Jemand nen Plan wei man die Performanceprobleme in den griff kriegt bzw gibts da vll ne lösung für?

Wenn ich meine Lager anvisiere geht meine FPS von 30 auf 2-3 FPS in die Knie und dabei spiele ich schon auf minimalsten Grafikeinstellungen (mit nem doch relativ guten PC, zumindest kommt der mit Crysis 3 klar, mit Stranded allerdings nicht o_O)
Titel: Antw:Fragen zum Scripting
Beitrag von: bridgettuttle am Dezember 08, 2013, 09:19:36 Vormittag
wow, wenn ich eure Dialoge so lese schlackern mir die Ohren, da ich nur spielen und ned scripten kann :) Kleine Bitte an alle die da so fleißig werkeln: Ladet mal welche von euren maps hoch, denn auf den Zufallsmaps spielen iss mir auf Dauer recht langeweilig, vielleicht gehts anderen auch so. Die meißten bereits hochgeladenen Maps hab ich schon durch. Würde mich sehr freuen :))))

Lg bridgettuttle