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 2309 310 311339 340 Next To the start

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
Danke das script funktioniert nun. Doch leider verstehe ich das script nicht ganz. Deshalb weis ich nun auch nicht wie ich das script schreibe um das gold wieder rauszunehmen dass es wieder ein normaler Beutel wird. Wärst du, Muggemann, so freundlich (wenn du zeit hast) um mir dabei zu helfen?

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
ähm rausnehmen ist komplizierter...
ich würde sagen im dialog extraseiten zum rausnehmen zu machen ungefähr so:
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
53
54
55
56
57
58
59
60
61
62
63
page=rausnehmen
title=Beutel
text=start
Wieviel Goldmünzen möchtest du rausnehmen?
text=end
button=alles,Alle!
button=zehn,10 Goldmünzen!
button=eine,1 Goldmünze!

page=alles
title=Beutel
script=start
	if ($gold>0) {
		$goldid=create("item",127,1,1,$gold);
		store $goldid,"unit",1;
		$gold=0;
		free "item",$id;
		$beutelid=create("item",1);
	} else {
		msg "Der Beutel ist leer!",3;
	}
	dialogue "beutel","sys/scripts/beutel.s2s";
script=end

page=zehn
title=Beutel
script=start
	if ($gold>9) {
		$gold=$gold-10;
		$goldid=create("item",127,1,1,10);
		store $goldid,"unit",1;
		if ($gold==0) {
			free "item",$id;
			$beutelid=create("item",1);
			dialogue "beutel","sys/scripts/beutel.s2s";
		} else {
			dialogue "rausnehmen","sys/scripts/beutel.s2s";
		}
	} else {
		msg "Der Beutel ist leer!",3;
		dialogue "beutel","sys/scripts/beutel.s2s";
	}
script=end

page=eine
title=Beutel
script=start
	if ($gold>0) {
		$gold--;
		$goldid=create("item",127,1,1,10);
		store $goldid,"unit",1;
		if ($gold==0) {
			free "item",$id;
			$beutelid=create("item",1);
			dialogue "beutel","sys/scripts/beutel.s2s";
		} else {
			dialogue "rausnehmen","sys/scripts/beutel.s2s";
		}
	} else {
		msg "Der Beutel ist leer!",3;
		dialogue "beutel","sys/scripts/beutel.s2s";
	}
script=end
ob das funktioniert weis ich jetzt nicht habs noch nicht getestet

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
Wow du bist echt super. dein script funktioniert super bis auf das, das wenn alle münzen drausen sind der beutel verschwindet. ALso kein beutel mehr da ist. Sonnst funktioniert alles einwandfrei.

edit:

Hab den fehler gefunden: du hast nach dem create das store vergesen

also das:
1
store $beutelid,"unit",1;

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
ja ich hab das heute auch nochmal getestet...
was ist das für ein item mit der id 127?
bei mir haben goldmünzen die id 820

egal nochmal die komplete datei beutel.s2s:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
page=beutel
title=Beutel
text=start
In diesem Beutel kann ich Goldmünzen rein tun. Dies Spart mir Platz.

Hier haben bis zu 100 Goldmünzen Platz.

Du hast $gold im Beutel.
text=end
button=reintun,Gold in den Beutel tun.
button=rausnehmen,Gold Rausnehmen.
button=action:close,nichts.

page=reintun
script=start
	if ($gold==100) {
		msg "Der Beutel ist voll!",3;
		closemenu;
	} elseif ((playergotitem(127)>0)&&($gold==0)) {
		if (count_stored("unit",1,127)<100){
			$gold=count_stored ("unit",1,127);
			$id=create ("item",5);
			freestored "unit",1,1,1;
			freestored "unit",1,127,$gold;
			store $id,"unit",1;
			dialogue "beutel","sys/scripts/beutel.s2s";
		 } else {
			$gold=100;
			$id=create ("item",5);
			freestored "unit",1,1,1;
			freestored "unit",1,127,100;
			store $id,"unit",1;´
			dialogue "beutel","sys/scripts/beutel.s2s";
		}
	} elseif ((playergotitem(127)>0)&&($gold>0)) {
		if (($gold+count_stored ("unit",1,127))<100) {
			$goldplus=count_stored ("unit",1,127);
			freestored "unit",1,127,$goldplus;
			$gold=$gold+$goldplus;
			dialogue "beutel","sys/scripts/beutel.s2s";
		} else {
			$goldplus=100-$gold;
			freestored "unit",1,127,$goldplus;
			$gold=$gold+$goldplus;
			dialogue "beutel","sys/scripts/beutel.s2s";
		}
	} else {
		msg "Keine Münzen mehr zum einlagern",3;
		closemenu;
	}
script=end


page=rausnehmen
title=Beutel
text=start
Wieviel Goldmünzen möchtest du rausnehmen?
text=end
button=alles,Alle!
button=zehn,10 Goldmünzen!
button=eine,1 Goldmünze!
button=beutel,>Zurück<

page=alles
title=Beutel
script=start
	if ($gold>0) {
		$goldid=create("item",127,1,1,$gold);
		store $goldid,"unit",1;
		$gold=0;
		free "item",$id;
		$beutelid=create("item",1);
		store $beutelid,"unit",1;
		dialogue "beutel","sys/scripts/beutel.s2s";
	} else {
		msg "Der Beutel ist leer!",3;
		closemenu;
	}

script=end

page=zehn
title=Beutel
script=start
	if ($gold>9) {
		$gold=$gold-10;
		$goldid=create("item",127,1,1,10);
		store $goldid,"unit",1;
		if ($gold==0) {
			free "item",$id;
			$beutelid=create("item",1);
			store $beutelid,"unit",1;
			dialogue "beutel","sys/scripts/beutel.s2s";
		} else {
			dialogue "rausnehmen","sys/scripts/beutel.s2s";
		}
	} else {
		msg "Der Beutel ist leer!",3;
		closemenu;
	}
script=end

page=eine
title=Beutel
script=start
	if ($gold>0) {
		$gold--;
		$goldid=create("item",127,1,1,10);
		store $goldid,"unit",1;
		if ($gold==0) {
			free "item",$id;
			$beutelid=create("item",1);
			store $beutelid,"unit",1;
			dialogue "beutel","sys/scripts/beutel.s2s";
		} else {
			dialogue "rausnehmen","sys/scripts/beutel.s2s";
		}
	} else {
		msg "Der Beutel ist leer!",3;
		closemenu;
	}
script=end

old Beste Grüße !

BiGSiD
User Off Offline

Quote
Ich hab grad ein Script für die Hängematte entdeckt, von Hurri04, 4Seiten vor dieser hier.

Dazu meine Frage, kann man das script so abändern, dass man nicht schläft, sondern dass die Kamera nach oben schaut, von der Stelle wo die Hängematte steht(irgendwas mit object->self war das?) und dass die Kamera ganz leicht hin und herschaukelt, mit den Geräuschen vom Segelfloß? als Gimmick könnte ja beim Schaukeln mit 'Z'-Taste nen Schlaf ausgelöst werden, Optional.
Aber die Hängematte 'covert', ist also ein Schutzgebäude, das soll auch aufgehoben werden?

Danke schonmal.

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
naja ich habe da so etwas vor... obs was wird weis ich nicht. Deshalb sag ich nichts. Bei mir ist die goldmünze eben ID 127.

Nochmals vielen Dank für die Hilfe ich bin dir echt sehr dankbar

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Tach zusammen,
ich hab ein Problem mit einem Script, an dem ich grad arbeite. Bei dem Objekt handelt es sich um eine Esse, die ich für eine Schmiede mache. Ich habe da 4 verschiedene Modelle: Eine leere, eine mit Kohle, eine brennende und eine mit verkohlter Kohle :D. Hierbei geht es um die brennende, der Rest funktioniert tadellos. Durch alterobject wird auf das Objekt gewechselt, nachdem man mit 2 Feuersteinen das Feuer entfacht hat. Die Variable $coal gibt den Zustand der Esse (leer, Asche, ...) an (hier brennend). Die Variable $esse gibt an, ob etwas in der Esse liegt ($esse=1) oder nicht ($esse=0) Das Ereignis on:changeday habe ich bisher noch nicht getestet, aber darum gehts mir hier auch nicht. ID 1256 wäre die Esse mit der verkohlten Kohle. Mein Problem sind die Effekte, die ich mit particle hinzufügen wollte, die aber nicht erscheinen und dass erst beim zweiten Einlegen von Eisen (ID 85) in die Esse das Eisen auch wirklich drinliegt, das glühende Eisen (ID 1000) erscheint allerdings schon nach dem auslösen des ersten Timers.

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
on:start {
	$x=getx("self");
	$z=getz("self");
	$y=gety("self");
}

on:create {
	particle $x,$y+21,$z,30;					/Feuer
	particle $x,$y+21,$z,21;					/Funken
	particle $x,$y+21,$z,20;					/Rauch
}

on:use {
	if(((($esse==0) and (getplayerweapon()==85)) and (count_stored("unit",1,85)>=1)) and ($coal==2)) {			
		freestored "unit",1,85,1;
		$id1=create("item",85);
		setpos "item",$id1,$x1,$y1+26,$z1;
		timer "self",5000;
		$esse=1;
	}
	elseif($esse!=0) {
	msg "Es liegt bereits etwas in der Esse.";
	}
}

on:timer {
	free "item",$id1;
	$id1=create("item",1000);
	setpos "item",$id1,$x,$y+21.3583,$z;
	$esse=0;
}

on:changeday {
	if((gotstate("self","eternalfire")>=1) and ($coal==2)) {
		freestate "self";
		alterobject "self",1256;
		$coal=3;
	}	
}

Hoffe irgendwer kann mir helfen.

lg
Jason13579

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
kann man eigentlich per script befehl das behaviour ändern?

weil möchte gern eine brennende Fackel und eine nicht brennende fackel haben.

Wenn man eine Nicht brennende Fackel in der hand hält und rechte maustaste drückt soll sie brennen und den weg erleuchten wie eben die fackel in stranded. Aber wie mach ich das?

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
@Jason13579
hast du die esse im editor plaziert? wenn ja dann wird das event on:create, glaub ich, nicht ausgeführt deshalb keine efekte
zur zweiten frage: $x1,$y1 und $z1 sind vorher noch nicht definiert vielleicht erscheint es deshalb nicht

@T-REX0113
da musst du die definition von der fackel so ändern das die einmal an und einmal aus ist
ich wies es jetzt nicht richtig, aber ich glaub im script der fackel mit einem licht-state oder so gemacht
dazu musst du halt die definition ändern

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Hups, muss bei mir nochmal nachgucken, hab die Variablen danach nochmal geändert. Bin grad nicht am Pc, mach ich morgen.

Zu in:create:
Hab die Esse zwar im Editor platziert, aber mit alterobject das Objekt geändert, oder geht das da auch nicht? Sollte ich in:edset nehmen?

Lg
Jason13579

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
ich weis nicht, edset wird glaub ich eher für plazierungsscripts benutzt.
villeicht solltest du es einmal mit load und einmal mit create machen
,weil es ja im editor platziert werden kann, aber auch gebaut
so würdest du es fpür beide fälle möglich machen

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Hab nochmal ein wenig rumprobiert, die Hälfte läuft jetzt wieder Hab aber immer noch das Problem mit den particles.
Hab außerdem noch eine Frage:
Wenn man das Eisen vor ablauf des Timers aus der Esse holt, bekommt man trozdem bei Ablauf des Timers das glühende Metall (ID 1000). Kann man das irgendwie verhindern, hab schon mit Variablen beim Item ausprobiert, lief aber nicht wirklich, da beim Einlegen in die Esse weder das Ereignis on:drop, noch on:attack1 ausgelöst wurden.

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
on:create {
	$x_e=getx("self");
	$z_e=getz("self");
	$y_e=gety("self");
	particle $x_e,$y_e+21,$z_e,30;
	particle $x_e,$y_e+21,$z_e,20;
	particle $x_e,$y_e+21,$z_e,21;
}

on:use {
	if(((($esse==0) and (getplayerweapon()==85)) and (count_stored("unit",1,85)>=1)) and ($coal==2)) {			
		freestored "unit",1,85,1;
		$id1=create("item",85);
		$x_e=getx("self");
		$z_e=getz("self");
		$y_e=gety("self");
		setpos "item",$id1,$x_e,$y_e+26,$z_e;
		$id_es=currentid();
		timer "object",$id_es,5000;
		$esse=1;
		skip;
	}
	elseif($esse!=0) {
		msg "Es liegt bereits etwas in der Esse.";
	}
}

on:timer {
	free "item",$id1;
	$id1=create("item",1000);
	$x_e=getx("self");
	$z_e=getz("self");
	$y_e=gety("self");
	setpos "item",$id1,$x_e,$y_e+21.3583,$z_e;
	$esse=0;
	skip;
}

on:changeday {
	if($coal==2) {
		freestate "self";
		alterobject "self",1256;
		$coal=3;
	}	
}

old Re: Scripting - Fragen/Probleme

Jason13579
User Off Offline

Quote
Hab mal ein Video gemacht, hoffe das beantwortet deine Frage.

Das ganze ist noch nicht wirklich fertig, fehlen noch haufenweise Effekte, eine Werkbank zum Zusammensetzten der Axt, soll später nicht mehr durch die Kombination gemacht werden, nen neues Modell für den Amboss und ein weiteres für das Wasserbecken, eine Zange, ...

Hier einmal ein Link zum Video (hab die 2 Probleme auch drin):
http://www.youtube.com/watch?v=amGLhYTMNzA

und einer zum Downloaden der jetzigen Version:
http://www.file-upload.net/download-2492338/Schmiede-V1.1.rar.html

Guckts euch bitte mal an und schaut ob ihr irgendwelche Fehler findet. Die items_material.inf ist eigentlich überflüssig, hab da mal was beim Eisen geändert, das wird aber nicht mehr verwendet und hat sonst keine Wirkung.

old Re: Scripting - Fragen/Probleme

Hecky3
User Off Offline

Quote
Was hast du denn in der Game.inf verändert?
Find da jetzt iwie kein Unterschied...
und vllt die Lösug zu einem Problem (?)
müsste man nicht bevor der timer beim normalen Eisen auslöst eine Bedingung (if) einssetzten um zu prüfen ob das Eisen noch in der Esse liegt oder nicht?
Ansonsten steig ich jetzt hinter deinem Script nicht so ganz durch... (Muss mich erst einlesen/arbeiten :P)
To the start Previous 1 2309 310 311339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview