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 2232 233 234339 340 Next To the start

old Re: Scripting - Fragen/Probleme

BBD
User Off Offline

Quote
@Nova

Dann friss mal den Besen, nein Schertz es funktioniert bis auf das, dass du das Semicolon nach dem ++ vergessen hast.
Vielen Dank

Trotzdem war ich ein wenig voreilig das Script geht nur manchmal
edited 2×, last 07.12.08 01:54:40 am

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Versuch es mal damit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:use
	{
	$tag++;
	if ( $tag == ( 9 + 8 ) )
		{
		terraintexture "generate:snow";
		climate "snow";
		}
	if ( $tag == ( ( 8 * 3 ) - 1 ) )
		{
		terraintexture "generate";
		climate "normal";
		$tag=0;
		}
	}
Wenn es dann immer noch nicht funktioniert: Sorry, einfacher kann ich dem Compiler das wirklich nicht machen. Schreib mich dann einfach mal in ICQ an.
edited 1×, last 07.12.08 04:04:58 am

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
DC has written
lol, wieso baust du unnötige rechnungen in den code ein?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:use
     {
     $tag++;
     if ( $tag ==17)
          {
          terraintexture "generate:snow";
          climate "snow";
          }
     if ( $tag ==23)
          {
          terraintexture "generate";
          climate "normal";
          freevar $tag;
          }
     }

So. Mit dem hier gehts viel leichter und weniger Belastung(obwohl die Belastung eh schon minimal war...).
edited 1×, last 07.12.08 10:40:30 pm

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
DC has written
lol, wieso baust du unnötige rechnungen in den code ein?
Weil der Code zwar einwandfrei mit einstelligen aber angeblich nicht mit zweistelligen Zahlen funktioniert.

@Kayren: Dein Code kann nicht funktionieren da du 4 offene runde Klammern "(" gesetzt hast aber nur zwei geschlossene ")".
Nach jedem if musst du noch eine Klammer setzten.


Euch beiden empfehle ich auch vorherige Posts zu lesen, dort steht manchmal wieso der Code etwas komplexer ist.

old Re: Scripting - Fragen/Probleme

BBD
User Off Offline

Quote
Is eh egal aber ein letzdes mal muss ich noch stören, Wenn man unter dem spiel einen Script global hinzufügt, wie kann man den dann starten ohne das man irgendwas macht.

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
Nova has written
Mh, wenn ich dieses Script in eine Palme stecke und sie dann benutze funktioniert das Script einwandfrei. Nach 5 mal benutzen ändert sich das Klima.


war die idee mit der wetterpalme nicht mal von mir?


egal, hab auch mal wieder ne frage:
mit welchem befehl kann ich das floß da so einstellen, dass man darauf nur fahren kann, wenn man einen schlüssel hat (oder gegebenenfalls eine variable auf eins gesetzt wurde, weil nen schlüssel per "getitem" bekommen kann ja wirklich jeder jeck und ich will halt das cheaten auf meiner insel was unterbinden... )

mfg Hurri04

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
@Kayren: Dein Code kann nicht funktionieren da du 4 offene runde Klammern "(" gesetzt hast aber nur zwei geschlossene ")".
Nach jedem if musst du noch eine Klammer setzten.


Euch beiden empfehle ich auch vorherige Posts zu lesen, dort steht manchmal wieso der Code etwas komplexer ist. [/quote]

Wusste doch, dass da was falsch ist... So, ich habe es ausgebessert, so richtig?

old Re: Scripting - Fragen/Probleme

Saibot
User Off Offline

Quote
Hallo..

Ich versuche mich gerade an ner kleinen Map, und nem Haus.
Eigentlich wollte ich es so machen, dass wenn man in das Haus geht, die Tür zugeht und nichtmehr aufgeht.

DC hat mir gesagt, ich solle variablen oder/und gebietstrigger benutzen.. naja, und da ich ka wo ich was hinschreibe undso.. dachte ich, man könnte mir hier vllt. helfen. Danke schonmal.

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Kayren has written
Nova has written
@Kayren: Dein Code kann nicht funktionieren da du 4 offene runde Klammern "(" gesetzt hast aber nur zwei geschlossene ")".
Nach jedem if musst du noch eine Klammer setzten.


Euch beiden empfehle ich auch vorherige Posts zu lesen, dort steht manchmal wieso der Code etwas komplexer ist.


Wusste doch, dass da was falsch ist... So, ich habe es ausgebessert, so richtig?

ja, du hast es schon richtig verbessert. Allerdings hat BBD ja gesagt das genau dieses Script bei ihm nicht funktioniert. (Frag mich nicht warum...)

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
bei der tür machst du ein script welches sie beim benutzen "öffnet" also on:use. öffnen z.B. per verschieben oder per drehen (ich habe hier das drehen auskommentiert, sie wird also nach oben verschoben). damit das später nicht mehr geht, gibt es zusätzlich noch die bedingung, dass die variable $blocked den wert 0 haben muss (variablen haben anfangs immer den wert 0 wenn man keinen zuweist):
1
2
3
4
5
6
7
8
on:use {
	if ($blocked==0){
		//z.B. das um die Tür nach oben zu schieben:
		setpos "self","self",gety("self")-30,"self";
		//Alternativ eine Tür die aufgedreht wird, etwa so:
		//setrot "self","self",getyaw("self")+90,"self";
	}
}
(mit den werten wie 30 muss man natürlich rumspielen so dass sie passen)

dann platzierst du einen gebietstrigger hinter der tür. stelle den radius so ein, dass er nur den bereich hinter der tür abdeckt. wähle als auslöser spieler und anzahl größer 0 (oder gleich 1). und setze ein kreuz bei sofort aktiv.
in das script des triggers machst du dann den code zum schließen und setzt die variable $blocked auf 1. da der trigger es auslöst musst du das on:trigger event nutzen:

1
2
3
4
5
6
7
8
9
on:trigger {
	//Tür unbenutzbar machen
	$blocked=1;
	//Tür schließen
	setpos "object",1,gety("object",1)+30,"self";
	//oder alternativ drehcode mit -90 statt +90
	//Den Trigger nichtmehr auslösen!
	stoptrigger "self";
}

und natürlich noch die 1 bei beiden "object",1 durch die id der tür ersetzen.

sollte so ungefähr gehen, getestet habe ich es aber nicht. ich hoffe zumindest das prinzip ist klar.

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
Ich suche einen Trigger, der an geht, wenn eine Unt den hier betroffenen Gegenstand berürht ausgelöst wird. Ich habe nämlich Die Stacheln aus Stranded importiert in meiner Mod und möchte sie so modden, dass sie ihren alten Zweck erfüllen.

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Das geht nicht so einfach. Du müsstest per Timer eine Schleife ausführen die jede Unit scannt ob sie sehr nah an dem Stacheln ist. Damit das realistisch ist müsste der Timer auf mindestens alle halbe Sekunde stehen.
Und du kannst dir vorstellen was passiert wenn du alle halbe Sekunde über 50 mal ein Script auslöst, und das auch noch mehrmals (ein Stachel bringt nicht viel). Richtig, es ruckelt wie sau.
edited 1×, last 08.12.08 12:01:05 am

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
Wie hat der DC das denn bei Stranded 2 fertiggebracht? Oder sollte ich Stacheln als Unit deklarieren und standandsnap benutzen? Na, dann wird er das bei Stranded2 Version 1.0.2 hinzufügen bei den triggern, dann geht das schon

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Das würde natürlich gehen. Ist auch vermutlich die einzige Lösung.

Wie DC das in Stranded I hingekriegt hat ist zu kompliziert als das ich es hier erklären könnte *gähn, müde sei*. In S1 ist diese Routine auf jeden Fall sehr viel schneller.

Und ob es überhaupt noch ein S2 Update gibt weiß niemand. Kommt auf DCs Laune an.

old Re: Scripting - Fragen/Probleme

Kayren
User Off Offline

Quote
Noch eine Sache: Ich habe eine Stelle im Quelltext die öfters wiederkommt, wie kann ich den Quelltext, den ich in einer einzelnen Datei lege, in einem anderen Script wieder aufrufen? Für php gab es da immer das supereinfache include "dateiname.endung"; ...

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
es geht in Stranded I da es dort fest einprogrammiert ist. das ist wesentlich schneller als über scripts. ganz einfach. für Stranded II fällt mir da leider keine Lösung ein wie man das per script realisieren kann.

zur include sache:
s2 cmd addscript oder s2 cmd extendscript nutzen. als quelle dateiname und pfad zur datei angeben. aber achtung: das funktioniert nicht genau wie ein include in php! das script wird durch diese befehle tatsächlich manipuliert! die befehle sollten also nicht mitten in ein script geschrieben werden! schreibe die befehle am besten z.b. bei on:start ins globale mapscript, damit die scripts nur einmal aus der externen datei geladen werden.

old Re: Scripting - Fragen/Probleme

Scarr
User Off Offline

Quote
Wäre toll
Aber nochmal zurück zu meinem Problem.

Ich habe in der Global stehen:
1
2
3
4
5
6
7
8
on:start 
		  {
* Ein paar Scripts *
			}
//Dialoge-Erstlesen
on:start{
$dialog=1;
}

--> Heißt, Am Anfang ist er Wert gleich 1.

Und auf der Unit:
on:use{
if ($dialog==1) {
dialogue "PE1","3";
$dialog=2;
}
if ($dialog==2) {
dialogue "PE8","3";
}
}

Jetzt heißt's:
Bei Benutzung:
Wenn $Dialog=1,
dann zeige Dialog "PE1" des Containers "3"
und Setze $dialog=2.
Wenn $Dialog=2,
dann zeige Dialog "PE8" des Containers "3".

ANzeigen tut er allerdings schon beim ersten Benutzen das Blatt PE8. Ich kapier das nicht >.<
To the start Previous 1 2232 233 234339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview