Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting - Fragen/Probleme

6,780 replies
Page
To the start Previous 1 2106 107 108339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Beelzeboon
User Off Offline

Quote
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)

Quote
//~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?

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
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

old Re: Scripting - Fragen/Probleme

Beelzeboon
User Off Offline

Quote
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

old Re: Scripting - Fragen/Probleme

Timotheus
User Off Offline

Quote
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

old Re: Scripting - Fragen/Probleme

joki
User Off Offline

Quote
@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.

old Re: Scripting - Fragen/Probleme

joki
User Off Offline

Quote
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)

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
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.

old Re: Scripting - Fragen/Probleme

AdidasOFC1
BANNED Off Offline

Quote
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";
}

old Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Quote
joki has written
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...).

old Re: Scripting - Fragen/Probleme

joki
User Off Offline

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

old Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Quote
joki has written
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...?

old Re: Scripting - Fragen/Probleme

joki
User Off Offline

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

old Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Quote
joki has written
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.)

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
joki has written
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...

old Re: Scripting - Fragen/Probleme

joki
User Off Offline

Quote
@bizzl
Es klappt! Danke!

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

Unable to create 3D Scene!

Kann mir bitte jemand helfen?
edited 1×, last 15.09.07 05:32:39 pm

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
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.
To the start Previous 1 2106 107 108339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview