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 2213 214 215339 340 Next To the start

old Re: Scripting - Fragen/Probleme

humer
User Off Offline

Quote
@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!
edited 1×, last 30.09.08 09:54:10 pm

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
humer has written
@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!";
		}
	}
edited 1×, last 30.09.08 10:23:55 pm

old Re: Scripting - Fragen/Probleme

Guest

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

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
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

old Re: Scripting - Fragen/Probleme

Guest

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

old Re: Scripting - Fragen/Probleme

Guest

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

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

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

old Re: Scripting - Fragen/Probleme

Guest

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

old Frage

Eddy
User Off Offline

Quote
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

old Re: Scripting - Fragen/Probleme

ez-crow
User Off Offline

Quote
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!
edited 1×, last 03.10.08 12:12:35 pm

old Re: Scripting - Fragen/Probleme

Hans
User Off Offline

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

old Re: Scripting - Fragen/Probleme

ez-crow
User Off Offline

Quote
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!
edited 1×, last 03.10.08 04:34:54 pm

old Re: Scripting - Fragen/Probleme

humer
User Off Offline

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

old Fortpflanzung Skript

Guest

Quote
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!
To the start Previous 1 2213 214 215339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview