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 2320 321 322339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Wenn es geht, immer die bisherigen Versuche mit dazu schreiben. Hast du vielleicht die runden Klammern vergessen?
s2 cmd count_stored war auf jeden Fall die richtige Idee.

1
2
3
4
5
on:use
	{
	$perlen = count_stored ("self", 108);
	msg "Die sprechende Kiste hat $perlen Perle(n)!";
	}
edited 1×, last 10.07.10 08:20:38 pm

old Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Quote
Danke für die Antwort in Rekordzeit .
Hat funktioniert, ich musste den Script nur leicht modifizieren, übrigens es lag (wie eigentlich immer) an den Klammern.
Falls es jemanden interessiert
1
on:use {$perlen = count_stored ("object",Object_ID, Item_ID); msg "Die sprechende Kiste hat $perlen Perle(n)!";}
Übrigens Nova, in deinem Script fehlen die Semicolons

old Re: Scripting - Fragen/Probleme

Fallout 1 Master
User Off Offline

Quote
Ein Kumpel gab mir mal ein Script das den Spieler alle 3 sek. Kacken lässt.

1
2
3
4
5
6
7
on:start { timer "self",3000,0,"fart"; }

on:fart {
play "fart.wav";
$id=create ("item",72);
setpos "item",$id,getx("self"),getz("self"),getz("self")unit 1;
}

Aber es wird nur der Ton abgespielt.

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Was soll das "getz("self")unit 1"?
Außerdem werden Items, wenn man nicht mit X und Z bereits einen Punkt angibt, direkt beim Spieler erstellt.

@DEATHSHEAD: Das war nur ein Test für dich!
(Hab's berichtigt, danke. ;))

old Re: Scripting - Fragen/Probleme

quester
User Off Offline

Quote
1
2
3
4
5
6
7
8
9
10
on:start { timer "self",3000,0,"fart"; }

on:fart {
play "fart.wav";
$id=create ("item",72);
$x=getx("unit",1);
$y=gety("unit",1);
$z=getz("unit",1);
setpos "item",$id,$x,$y,$z;
}

So müsste es gehn.

old Re: Scripting - Fragen/Probleme

quester
User Off Offline

Quote
Das das Item direkt beim Spieler erstellt wird, kann sogar stimmen. Ich war allerdings zu faul, um es zu testen. Also habe ich das so gemacht. Das müsste auf jeden Fall klappen und ist auch noch flexibler. Vor allem weil die y-Position des Spielers leicht über dem Terrain ist und dadurch der Kot noch zu Boden fallen kann.

old Re: Scripting - Fragen/Probleme

Fallout 1 Master
User Off Offline

Quote
quester has written
Das das Item direkt beim Spieler erstellt wird, kann sogar stimmen. Ich war allerdings zu faul, um es zu testen. Also habe ich das so gemacht. Das müsste auf jeden Fall klappen und ist auch noch flexibler. Vor allem weil die y-Position des Spielers leicht über dem Terrain ist und dadurch der Kot noch zu Boden fallen kann.


Funktioniert bestens danke dir vielmals.

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Bin bei meinem neuen Projekt auf ein Problem gestoßen:

objects_warehouse.inf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
id=225
name=Lagerhaus
group=building
icon=gfx\warehouse\icons\icon_Lagerhaus.bmp
model=gfx\warehouse\Lagerhaus.3DS
health=1000
scale=1.5
mat=wood
script=start
on:create {
	$yaw_Lagerhaus=getyaw("self");
	$x_Lagerhaus=getx("self");
	$y_Lagerhaus=gety("self");
	$z_Lagerhaus=getz("self");
}
script=end

id=226
name=Holzlager
group=building
icon=gfx\warehouse\icons\icon_Lagerhaus_Holzlager.bmp
model=gfx\warehouse\Lagerhaus_Holzlager01.3DS
health=500
scale=1.5
mat=wood
editor=0
script=start
on:build_finish {
	$id=create("object",226);
	setpos "object",$id,$x_Lagerhaus,$y_Lagerhaus,$z_Lagerhaus;
	setrot "object",$id,"self",$yaw_Lagerhaus,"self";
	free "self";
}
script=end	

id=227
name=Steinlager
group=building
icon=gfx\warehouse\icons\icon_Lagerhaus_Steinlager.bmp
model=gfx\warehouse\Lagerhaus_Steinlager01.3DS
health=500
scale=1.5
mat=wood
editor=0
script=start
on:build_finish {
	$id=create("object",227);
	setpos "object",$id,$x_Lagerhaus,$y_Lagerhaus,$z_Lagerhaus;
	setrot "object",$id,"self",$yaw_Lagerhaus,"self";
	free "self";
}
script=end

buildings.inf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
### Lagerhaus
id=25
group=storage
objectid=225
script=start
	lockbuilding 25;
	unlockbuilding 26;
	unlockbuilding 27;
script=end

### Holzlager (Lagerhaus)
id=26
group=storage
objectid=226
buildspace=at object
atobject=225
script=start
	lockbuilding 27;
script=end

### Steinlager (Lagerhaus)
id=27
group=storage
objectid=227
buildspace=at object
atobject=225
script=start
	lockbuilding 26;
script=end

Wenn ich das normale Stranded (V.1.0.0.1) mit dem Script starte, bekomme ich die Fehlermeldung "Invalid OBJECT ID for building (0)". Wenn ich das Script vom Holz- und vom Steinlager allerdings weg lasse, bekomme ich keine Fehlermeldung.

Würde mich freuen, wenn mir irgendwer helfen könnte.

lg
Jason13579

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
@edit: Falscher Beitrag

Schaus mir aber schnell an...
@edit2: Er sagt, dass er kein Objekt mit der id=0 herstellen kann. Das heißt, dass das $id falsch definiert wurde...

@edit: Bei den beiden Codes sind die ID anders.
Beim ersten ist das Holzlager auf id=225 und beim anderem code id=25. Das ist doch falsch.

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Quote
Falscher Beitrag

Ist das richtige Thema, heißt doch Scripting - Fragen/Probleme, oder?


Warum schreibst du @edit? Ich kenne keinen edit und auf den letzten zwei Seiten hat auch keiner geschrieben.

Quote
Er sagt, dass er kein Objekt mit der id=0 herstellen kann. Das heißt, dass das $id falsch definiert wurde...

Ne, wurde schon richtig definiert, der konnte nen Tab hinter editor=0; nicht verarbeiten.

Quote
Bei den beiden Codes sind die ID anders.
Beim ersten ist das Holzlager auf id=225 und beim anderem code id=25. Das ist doch falsch

Ne, die 25 steht in der buildings.inf, da werden neue ids für Objekte, die man bauen kann, vergeben.


Miese Kommentare habe ich mir jetzt mal verkniffen, fiehl mir aber nicht leicht!!!

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Schildere besser was bei der Fehlermedung kommt...
Wessen Script löschst du weg, wenn keine Fehermeldung kommt?

Dieser @edit bedeutet eine weitere Beifügung/Editierung des Beitrags. Das mit @edit: Falsche Beitrag ist mein falscher Beitrag. Hab was falsches geschrieben.

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Jaster has written
Schildere besser was bei der Fehlermedung kommt...
Wessen Script löschst du weg, wenn keine Fehermeldung kommt?

Dieser @edit bedeutet eine weitere Beifügung/Editierung des Beitrags.


Bei der Fehlermeldung kommt:
"Invalid OBJECT ID for building (0)".
Sie trat nicht auf, wenn ich das script von Object 226 und 227 entfernte. Das ganze lag aber wahrscheinlich daran, dass ich hinter editor=0; noch nen Tab hatte, der die irgendwie hingekommen ist. Jetzt läufts.

Ich schreib da immer nur edit:. Ein @ schreibt man eigentlich nur, wenn man jemanden anpricht (z.B. @Jaster:). Naja, eigentlich unwichtig.

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Kein Wunder, dass ich dir nicht helfen konnte. Tabs können bei diesem Forum nicht angezeigt werden.
Naja, hauptsache es funzt.

old Re: Scripting - Fragen/Probleme

BiGSiD
User Off Offline

Quote
HiHo @ all:

Ich hab da so die Idee, dass man in Kombination mit 'terrain X, Z, Modus [, Höhe]' und 'mapsize' einen EBBE-und-FLUT-Effekt erzeugen kann, die Schleifen und die Zeitabfragen sind dabei nicht das Problem. Ist das überhaupt zu machen, oder geht sowas net im Stranded?

Viell. liegts am Wetter, aber bei mir schleifts gerade etwas

hier mein scriptversuch, aber ohne erfolg ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
		$tmp1=mapsize();
		$tmp2=mapsize();
		$x=1;
		$z=1;
		msg $tmp1,3;
		loop ("count",$tmp1){
			loop ("count",$tmp2){
				terrain $x,$z,2,-0.25;
				$x++;
			}
			$z++;
		}
		freevar $tmp1;
		freevar $tmp2;
		freevar $x;
		freevar $z;
	}

dieser code sollte zu testen erstmal nur die (ganze)Karte absenken, das heben ist ja dann net weiter schwierig, wenn dieser teil funzt.

Liegt es viell. an den Kartenrandpunkten, welche viell. schon bei 0 liegen und nicht weiter gesenkt werden können?

Hülfe .
edited 1×, last 19.07.10 06:54:08 pm

old Re: Scripting - Fragen/Probleme

quester
User Off Offline

Quote
Doch das geht sehr wohl. Du darfst aber keine loops verschachteln. Ich teste mal etwas aus. Melde mich zurück wenns klappt.

Edit: folgendes könnte klappen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on:start {
  $map_tmp=mapsize();
  $mapx=0;
  $mapz=0;
  loop("count",$tmp) {
     event "sink";	
     $mapx++;
  }
}

on:sink {
    loop("count",$map_tmp) {
       terrain $mapx, $mapz, 3, -20;
       $mapz++;  	
  }
}

Ich habe das hier nicht ausgetested. Es könnte so aber durchaus klappen.
edited 1×, last 19.07.10 07:40:39 pm

old Re: Scripting - Fragen/Probleme

BiGSiD
User Off Offline

Quote
schade, hat leider nix geklappt ...

selbst mit einem leicht abgeändertem script habe ich nur einen 'Freeze' bekommen, stranded2 ist stehengeblieben und hat NIX mehr gemacht ....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on:use {
		$map_tmp=mapsize();
		$mapx=1;
		$mapz=1;
		loop("count",$map_tmp) {
			event "raise";     
			$mapx++;
		}
	}

	on:raise {
		loop("count",$map_tmp) {
		terrain $mapx, $mapz, 2, 5;
		$mapz++;      
		}
	}

Edit: selbst mit einem Mapsizewert von 1weniger(wg. Start bei 0)
1
$map_tmp=$map_tmp-1;
funzt das leider net = Freeze/Absturz
Bleibt nur noch zu prüfen ob nur alle Höhenwerte 'ungleich' Null zu bewegen sind.

Es wäre ja zu einfach gewesen wenn das gleich geklappt hätte
edited 2×, last 19.07.10 09:28:27 pm

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Die Map ist zwar beispielsweise 1024 groß, allerdings geht sie dann von -512 bis +512 (oder so).
(Glaube ich jedenfalls)
To the start Previous 1 2320 321 322339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview