Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
ForenübersichtStranded II-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch Scripting - Fragen/Probleme

6.780 Antworten
Seite
Zum Anfang Vorherige 1 2106 107 108339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

Beelzeboon
User Off Offline

Zitieren
Habe ein Problem mit s2 cmd dialogue

Das ist ein Auszug aus einer Dialog.s2s (einfacher Dialog der bei s2 cmd on:use gestartet wird)

Zitat
//~Test
page=start
title=Seite 1
script=start
     if($seite2==1){
          button 1, TEST;
          }
     if($seite3==1){
          button 2, TEST;
          }
script=end

page=seite2
title=Seite 2

page=seite3
title=Seite 3


Probleme bereiten mir die hinzugefügten Buttons 1 & 2, weil sie immer auf eine Seite ohne Beschriftung (also page= ) verlinkt. Sie sollen aber auf page=seite2 bzw page=seite3 verweisen.

Hat jemand eine Idee?

alt Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Zitieren
Das Problem ist dass du nicht angegeben hast was passieren soll wenn der button angeklickt wird. in Kombination mit dialogue funktionieren diese buttons eh nur sehr umstädnlich, einfacher ist es wenn du es umgekehrt machst, also dass die buttons standartmäßig da sind und gelöscht werden wenn die Variable nicht 1 ist.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//~Test
page=start
title=Seite 1
button=seite2,Seite 2
button=seite3,Seite 3
script=start
     if($seite2!=1){
          freebutton 0;
          }
     if($seite3!=1){
          freebutton 1;
          }
script=end

page=seite2
title=Seite 2

page=seite3
title=Seite 3

alt Re: Scripting - Fragen/Probleme

Beelzeboon
User Off Offline

Zitieren
Ach natürlich, da hätte ich selbst drauf kommen können, hoppla

Die Buttons sollten weitere Dialoge starten, jetzt wirds bestens klappen,
danke Lizard

alt Re: Scripting - Fragen/Probleme

Timotheus
User Off Offline

Zitieren
Joki,
hast du die Musik-Box schon hingekriegt?
Hab jetzt weiter rumexperimentiert und es hingekriegt.
Wenn du das Script noch brauchst sags einfach.

mfg
Timotheus

alt Re: Scripting - Fragen/Probleme

joki
User Off Offline

Zitieren
@timotheus
Ich habs am Schluss noch mit diesem Script geschafft

on:start {
$music=0;
}

on:use {
$music++;
if ($music==1) {
stopmusic;
music "Lied1.mp3";
} elseif ($music==2) {
stopmusic;
music "Lied2.mp3";
} else {
stopmusic;
music "Lied3.mp3";
$music=0;
}


Aber jetzt habe ich eine andere Frage:

Ich möchte machen das wenn ich ein Item mit einem bestimmten Objekt benutzte, dass dann ein anderes Item erscheint,das vorherige Item weg ist und das Objekt verschwindet.

alt Re: Scripting - Fragen/Probleme

joki
User Off Offline

Zitieren
ja schon das weiß ich schon aber wie lautet der Script das ich ein Item mit einem Objekt benutzten kann das dann alteritem ausgelöst wird und das benutzte Objekt verschwindet (bzw. Kaputt geht)

alt Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Zitieren
Wie wäre es mit s2 cmd on:use beim Objekt, und check per s2 cmd getplayerweapon (wenn der player das item in der hand halten soll) oder s2 cmd count_stored("unit",1,Item-ID) (wenn er es nur im inventar haben braucht)?
Alles weitere solltest du selber hinbekommen, weil das in allen prozeduralen Programmiersprachen grob gleich ist.

alt Re: Scripting - Fragen/Probleme

AdidasOFC1
BANNED Off Offline

Zitieren
bei dem object ein script in der art:

1
2
3
4
5
6
on:use {
if (getplayerweapon==xx) {
freestored "unit",1,xx,1;
store (create("item",xy)),"unit",1;
free "self";
}

alt Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Zitieren
joki hat geschrieben
ja schon das weiß ich schon aber wie lautet der Script das ich ein Item mit einem Objekt benutzten kann das dann alteritem ausgelöst wird und das benutzte Objekt verschwindet (bzw. Kaputt geht)

Schmeiß mal folgendes Script bei dem entsprechendem OBJEKT rein:

1
2
3
4
5
6
7
8
9
10
11
12
on:use {
	if ((getplayerweapon()==ALTES_ITEM_TYP) && (playergotitem(ALTES_ITEM_TYP)>0)) {
		//altes Item löschen
		freestored "unit",1,ALTES_ITEM_TYP,1;
		//neues Item...
		find NEUES_ITEM_TYP;
		//altes Item löschen
		freestored "unit",1,ALTES_ITEM_TYP,1;
		//Objekt zerstören
		free "self";
	}
}

Eine andere Variante wäre folgendes Script beim ITEM:
1
2
3
4
5
on:use {
	if (count_inrange("object",OBJEKT_TYP_ID,50)>0) {
		alteritem 1,NEUES_ITEM_TYP;
	}
}

Okay... Letzeres Skript ist vielleicht etwas effizienter...

Ansonsten hilft es in der Regel, einfach mal zu schauen, wie ähnliche Skripte funzen (z.B. Fleisch->gebr. Fleisch beim Feuer...).

alt Re: Scripting - Fragen/Probleme

joki
User Off Offline

Zitieren
Und wie ist es dann wenn man mit mehreren verschiedenen Objekt machen will? (z.b: Brückenelement, Steg, Bambushütte und Unterstand)

alt Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Zitieren
joki hat geschrieben
Und wie ist es dann wenn man mit mehreren verschiedenen Objekt machen will? (z.b: Brückenelement, Steg, Bambushütte und Unterstand)

Wie meinst du das genau...? Dass mehrere Objekte verschwinden...?

alt Re: Scripting - Fragen/Probleme

joki
User Off Offline

Zitieren
Nein!
Das ich nicht nur mit einem Objekt das Item erhalte sondern noch mit anderen Objekten, die auch verschwinden nach Benuztung.

alt Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Zitieren
joki hat geschrieben
Nein!
Das ich nicht nur mit einem Objekt das Item erhalte sondern noch mit anderen Objekten, die auch verschwinden nach Benuztung.

In dem Fall ist es wohl am besten, wenn du obiges Script (für das Objekt nicht das Item) einfach bei allen entsprechenden Objekten reinschmeißt. Vorteil: Das Script braucht nicht verändert werden und kann einfach mit copy&paste (ggf. mit s2 cmd def_extend oder s2 cmd extendscript) bei den anderen Objekten eingefügt werden.

(Im Allgemeinen gibt es immer mehrere Möglichkeiten. Manche Skripte sind in diesem Falle und andere Skripte in jenem Falle besser. Bananes Vorschlag funzt natürlich genauso.)

alt Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Zitieren
joki hat geschrieben
Nein!
Das ich nicht nur mit einem Objekt das Item erhalte sondern noch mit anderen Objekten, die auch verschwinden nach Benuztung.

Entweder McLeafs ersten Code bei allen gewünschten Objekten einfügen, oder den zweiten erweitern:
1
2
3
4
5
on:use {
	if (count_inrange("object",OBJEKT_TYP_ID,50)+count_inrange("object",OBJEKT_TYP_ID2,50)+...+count_inrange("object",OBJEKT_TYP_ID[i]N[/i],50)>0) {
		alteritem 1,NEUES_ITEM_TYP;
	}
}
Das müsste aber eventuell per s2 cmd def_extend in das item geladen werden...

alt Re: Scripting - Fragen/Probleme

joki
User Off Offline

Zitieren
@bizzl
Es klappt! Danke!

Anderes Problem:
Wenn ich Stranded II starte heißt es:

Unable to create 3D Scene!

Kann mir bitte jemand helfen?
1× editiert, zuletzt 15.09.07 17:32:39

alt Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Zitieren
Das liegt an der Grafikkarte.

Entweder haste deinen Rechner neu aufgesetzt und jetzt sind die Treiber nichtmehr aktuell, oder deine Graka is kaputt gegangen. (Bin nich sicher, kann es auch an directx liegen?)

Ich geh einfach mal davon aus dass es früher bei dir ging da du schon länger hier bist.
Zum Anfang Vorherige 1 2106 107 108339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht