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 2213 214 215339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

humer
User Off Offline

Zitieren
@BBD
der fehler liegt ganz einfach daran ,dass der timer gar kein sinn macht. Er läuft zwar ab, aber das heißt nicht dass der befehl danach, 10 sec später ausgeführt wird.
Wenn ich es richtig sehe, willst du, dass bei info 91, die 10 sec pause eingelegt wird. Wenn ja dann mach es so.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
on:load {
     unitpath 133,86;
}

on:node0086 {
     unitpath 133,87,88,89,90,91;
}

on:node0091 {
     ai_stay "self",1;
     addstate "self", 60;
     timer "self", 10000,"weitergehen";
}     

on:weitergehen {
	ai_stay "self",0;
	unitpath 133,92;
}

on:node0092 {
	unitpath 133,93,94,95,96.97;
}

garantiere für nichts!
1× editiert, zuletzt 30.09.08 21:54:10

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Zitieren
humer hat geschrieben
@BBD
der fehler liegt ganz einfach daran ,dass der timer gar kein sinn macht. Er läuft zwar ab, aber das heißt nicht dass der befehl danach, 10 sec später ausgeführt wird.
Wenn ich es richtig sehe, willst du, dass bei info 91, die 10 sec pause eingelegt wird. Wenn ja dann mach es so.

BBD hat doch gar kein Timer benutzt. Die Einheit soll für immer stehen bleiben.


@BBD: Das kommt weil ai_stay nur dafür sorgt das die Figur sich nicht mehr selbst bewegt. Unitpath wird weiterhin ausgeführt.

@Hans: Ich weiß jetzt nicht wieso das so kompliziert sein muss. Hier mal einfach gehalten, ins Globale Script kopieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
on:start
	{
	msg "Versuche zu überleben!";
	timer 0, 23000, 1, uberleben;
	}
on:uberleben
	{
	if(lives("unit", 1)==1)
		{
		add "!2Super!!!";
		add "Du hast überlebt, Glückwunsch!";
		msgbox "Überlebt!";
		}
	}
1× editiert, zuletzt 30.09.08 22:23:55

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
Hallo! Ich mache gerade eine Afrika-Karte wo man als armer Bauer mit seiner Familie überleben muss.
Mein Problem: Ein Baumwollpflanze kriegt folgendes Skript aus Textbaustein eins:
1
2
3
4
5
6
7
8
9
10
11
on:changeday{
	if (int random 3 ==1) { kill "self"}
	if (int random 3 ==1) {
		$idx = getx "object", "self";
		$idx += random 80 - 40;
		$idz=getz "object", "self";
		$idz += random 80 - 40;
		$idneu = create "object", 47, $idx, $idz;
		addscript "object", $idneu, 1;
		}
}
Sprich: Mit einer Wahrscheinlichkeit von eins zu x (50 vll.)
soll sich das ding über Nacht umbringen, mit derselben Wahrscheinlichkeit (vll. auch geringer) asexuell vermehren.
Code funzt nicht, es wird kein Fehler in der Konsole ausgegeben, es passiert aber auch bei keiner der Pflanzen niemals nix über Nacht. Wo liegt der Fehler?

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
ja, Stranded II gibt leider nicht immer Fehler aus wenn was nicht stimmt.

- das int ist überflüssig, random gibt nur Ganzzahlen aus
- Semikolon fehlt
- Jeder Befehl der einen Wert zurückgibt, muss runde Klammern um die Parameter haben bzw. es muss ein () angehangen werden, wenn er keine Parameter hat.

die erste Zeile müsste also so aussehn:
1
if (random(3)==1) { kill "self"; }

und der Rest muss auch entsprechend angepasst werden.

btw: Auch falls du schon andere Sprachen benutzt haben solltest, empfehle ich das Tutorial zumindest zu überfliegen. Dort werden diese Eigenheiten von Stranded II Script erläutert: http://www.stranded.unrealsoftware.de/s2_scripting1.php

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
Vielen Dank! Hatte mir schon vor ein paar Monaten mal das Tutorial angesehen und dachte ich hätte alles behalten. Wär vielleicht besser gewesen nochmal reinzuschauen
Hoffentlich klappts jetzt!

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
Nochmals vielen Dank für die schnelle Hilfe, aber da ist noch ein Fehler. Hab alles korrigiert, nach/während der Nacht wird aber jetzt in der Konsole Folgendes ausgegeben:
1
2
3
4
5
6
7
>SCRIPT ERROR:
>object/unit/item/info with ID '0' does not exist
>Script: object 0 (DOES NOT EXIST)
>event: changeday
>row:3
>col: 30
>script: $idx = getx("object,"self");
Der original Skripttext:
1
2
3
4
5
6
7
8
9
10
11
on:changeday{
	if (random (3) ==1) {
		$idx = getx ("object","self");
		$idx += random (80) - 40;
		$idz = getz ("object","self");
		$idz += random (80) - 40;
		$idneu = create ("object", 47, $idx, $idz);
		addscript "object", $idneu, 1;
	}
	if (random (3) ==1) { kill "self";}
}

P.S.: Ich arbeite mit s2ext. Macht das nen Unterschied?

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Zitieren
Wo hast du das Script denn rein geschrieben? Und hast du auch alle Zeilen geändert in denen "object", "self" stand und nicht nur getx?

Bei Fehler immer das Script posten, egal welcher Fehler es ist.

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
ok, mach ich in Zukunft, hab aber inzwischen den Fehler selbst gefunden :P.
Vielen Dank an DC und Nova, die mir sehr schnell und gut geholfen haben!
Hier nochmal ein Skript für asexuelle Reproduktion von Pflanzen jeglicher Art(feat. zufälligen Tod):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:changeday{
	if (random (40)==1) { 
		free "self";
	}
	if (random (50)==1) {
		$idx = getx("self");
		$idx += random(80);
		$idx -= 40;
		$idz = getz("self");
		$idz += random(80);
		$idz -= 40;
		$idneu=create ("object", XYZ, $idx, $idz);
		addscript "object", $idneu, ZYX;
	}
}
In einen Info-container mit der ID ZYX tun.
Dann einfach
1
2
3
on:load{
addscript "self", ZYX;
}
in Alle Pflanzen des Typs XYZ eingeben.
Und schon wieder hat man etwas Dynamik in die sonst so statische Natur von S2 gebracht und nebenher noch Skripten gelernt
Ein zufriedener Gast!

alt Frage

Eddy
User Off Offline

Zitieren
Sorry das ich schon wieder frage aber diesmal ist sie sehr wichtig:Welchen script mus ich eingeben damit sich
das Tor öfnen und schliesen wie in der Taiwai island map



p.s.Ein beispiel script währe nützlich

alt Re: Scripting - Fragen/Probleme

ez-crow
User Off Offline

Zitieren
Hallo! Ich hätte mal auch eine Frage: uns zwar möchte ich ein Trigger-Benachrichtigung haben, z.b. wie bei Survial Guide mit den Professor.

Danke!
1× editiert, zuletzt 03.10.08 12:12:35

alt Re: Scripting - Fragen/Probleme

Hans
User Off Offline

Zitieren
du musst zuerst einen trigger bauen, und dann den radius einstellen. dann gibst du an, ob der trigger ausgelöst wrid, wenn der spieler im angegebenen bereich ist oder wenn er scih außerhalb befindet.

dann das script:

1
2
3
on:trigger {
//Deine ganzen Sachen
}

wenn du das alledings so machst, dann wird das script immer wieder ausgeführt.

wenn es einmalig gehen soll, dann musst du entweder

1
freescript "self";
dahintersetzen

oder, wenn ein teil des scripts mehrmals ausgeführt werden soll:

1
2
3
4
5
6
7
8
9
10
11
on:start {
$variable=1;
}

on:trigger {
if ($variable==1){
//Dein einmaliges Zeug
$varibale--;
}
// Dein mehrmaliges Zeug
}

ich hoffe, ich hab jetzt nicht tausend sachen erklärt, die du garnicht brauchst...

alt Re: Scripting - Fragen/Probleme

ez-crow
User Off Offline

Zitieren
Danke! Danke! Aber ich hätte noch ein Problem: Ich erstelle eine neue Map wo ein Eingeborener blutet. Meine Frage ist: Wie kann ich ein Script machen, dass ich wenn ich den Blutenden Eingeborenen Blatt+Liane gebe, dass er nicht mehr Blutet, DANKE!
1× editiert, zuletzt 03.10.08 16:34:54

alt Re: Scripting - Fragen/Probleme

humer
User Off Offline

Zitieren
@Kocknoter

1
2
3
4
5
6
7
on:use {
	if ((playergotitem(15<=1))&&(playergotitem(26<=1))) {
		freestate"unit",100,1;
		freestored"unit",1,15,1;
		freestored"unit",1,26,1;
		}
}

Im use event des eingeborenen einbauen! Das Script muss natürlich noch ausgebaut werden. Im moment verliert der Spieler bei jedem benutzen des Eingeborenen 1 blatt und 1 liane.

Edit/
Was macht denn der blöde Smiley da, da kommt ne Klammer hin!!!

alt Fortpflanzung Skript

Gast

Zitieren
Hier der Code für ein Baumwollpflanzen-Fortpflanzungsskript. Vielleicht wird er ja eines Tages ins Spiel eingebaut? Tipp: funzt auch mit Büschen, Bäumen und Palmen (mit angepassten ids)!
Textcontainer 1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
on:changeday{
	$idx = getx("self");
	$idz = getz("self");
	if (random (10)==1) { 
		if (count("object",47) >1){
			$idneu=create("object",30,$idx,$idz);
			addscript "object",$idneu, 2;
			free "self";
		}
	}
	if (random (15)==1) {
		$idx += random(100);
		$idx -= 50;
		$idz += random(100);
		$idz -= 50;
		$idneu=create ("object", 47, $idx, $idz);
		addscript "object", $idneu, 1;
	}
}
Textcontainer 2:
1
2
3
on:changeday{
	free "self";
}
Baumwollpflanzen(oder auch Palmen, Büsche, Bäume):
1
2
3
on:changeday{
	free "self";
}
Ich würde mich sehr freuen wenn dies in naher oder ferner Zukunft mit angepassten Variablen zumindestens als lol-Box ins Spiel übernommen wird!
Zum Anfang Vorherige 1 2213 214 215339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht