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 2308 309 310339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Quote
Feuer der veraenderung has written
Ich wolte mal fragen was man machen muss um einen neuen Skill zu erstellen?


(Ich hab zwar noch nicht viel Ahnung, aber... )
schau dir doch erstmal einen bestehenden skill an; finde heraus, womit dieser Skill zusammenhängt (Objekte, Items etc.) und probiere daran rum..
Learning bei Doing!

(ich bastel so grad an einem skill zum länger Tauchen.. Bin zwar noch nicht weit, aber die Idee dazu ist geboren! ^^)

old Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Quote
Ich hab da ne idee, die ich noch nicht ausprobiert habe. Sie dürfte aber funktionieren.

Dieser Script erhöht den Skill um 1, den musst du also auslösen wenn du den Skill erhöht haben willst:
1
incskill "magic" ,1 ,"Magieskill";

Unter dieser Variablen wird die Skillhöhe gespeichert, du kannst sie beim benutzen eines Items über If abfragen.
1
$s2g_skillvalue_magic

Ich weis nicht ob es funktioniert und es ist wahrscheinlich nicht der eleganteste Weg!

Aber ich würde mal im ExtMod Forum Fragen die haben mehr Erfahrung mit sowas und können die Frage bestimmt besser beantworten.

MfG DEATHSHEAD
edited 1×, last 30.04.10 06:45:46 pm

old Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Quote
sry.. war grad im s2ext-ordner.. Mein Fehler °°

hast du denn in der game.ini diesen Befehl drin??

1
2
3
4
5
6
7
8
9
on:skill_magic{ msgbox "Skill Info","sys/skillinfos/magic.inf"; }
	on:iskill_magic{
		incskill "magic",1,"Magie anwenden";
		$tmp=skillvalue("magic");
		if ($tmp==25){ event "skillup","global";}
		if ($tmp==50){ event "skillup","global";}
		if ($tmp==100){ event "skillup","global";}
		if ($tmp==200){ event "skillup","global";}
	}

(die Zahlen sind hierbei nur ein Beispiel!)

Edit: Danke Nova.. hatte es nur eben kurz für Feuer abgeändert und hier reingestellt
edited 1×, last 30.04.10 08:33:57 pm

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
hab ein problem bei dem script hier:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
script=start
	$goldiminventar=count_stored ("unit",1,127);
		if ($goldiminventar>0){
			$gold++;
			freestored "unit",1,127,1;
		}if ($gold>0){
			freestored "unit",1,1,1;
			$id=create ("item",5);
			store $id,"unit",1;
		}if ($gold<1){
			freestored "unit",1,5,1;
			$id=create ("item",1);
			store $id,"unit",1;
		}else{
			msg "Keine Münzen mehr zum einlagern",3;
			dialogue "beutel","sys/scripts/beutel.s2s";
		}
	dialogue "beutel","sys/scripts/beutel.s2s";
script=end

Ich möchte das wenn ich etwas in den beutel reinlege (eine Münze) das es dann zu einem Goldbeutel wird. Das funktioniert ja auch. Aber wenn ich dann nochmal eine Goldmünze reinlege hab ich plötzlich 2 Goldbeutel. Wie kan ich es verhindern dass, wenn ich 20 Münzen einlege ich 20 Goldbeutel habe. Ich möchte nur einen Goldbeutel haben, egal wie viel münzen ich einlege...

old Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Quote
Hab das grad mal [in Gedanken] durchgespielt:
(Für Fehler in meinen Gedanken bin nur ich verantwortlich ^^)

du musst dann bei dem Goldbeutel die Einstellungen anpassen, das dort immer eine Münze zugezählt wird, wenn du wieder eine einlagerst und eine weniger wird, beim herausnehmen.

Ferner muss definiert werden, das aus dem Goldbeutel bei <0 ein Beutel wird.

dann musst du bei der Münze einpflegen, das du sie nutz. oder als Kombination mit dem Beutel.

Und das bei Gold- und Kupfermünze!
Also entweder ein 2ter Beutel (neue id für Kupferbeutel) oder ein kompliziertes script für Mix-Beutel für Gold- und Kupfermünzen.
edited 2×, last 30.04.10 09:46:01 pm

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
hab ich ja...aber wenn ich 2 münzen reinlege hab ich 2 goldbeutel.

Nochmal:

1. Ich habe einen normalen Beutel
2. Dort tu ich eine Münze rein
3. Dann hab ich einen Goldbeutel
4. Ich tu nochmal eine Münze rein
5. Nun hab ich 2 Goldbeutel, will aber nur einen haben.

Gibt es ein script dafür wie ich das mache?

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
ich würde das so machen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
script=start
	if ((playergotitem(127)>0)&&($gold==0)) {
		$gold=count_stored ("unit",1,127);
		$id=create ("item",5);
		freestored "unit",1,1,$gold;
		store $id,"unit",1;
	} elseif ((playergotitem(127)>0)&&($gold>0)) {
		$goldplus=count_stored ("unit",1,127);
		freestored "unit",1,1,$goldplus;
		$gold=$gold+$goldplus;
	} else {
		msg "Keine Münzen mehr zum einlagern",3;
		dialogue "beutel","sys/scripts/beutel.s2s";
	}
     dialogue "beutel","sys/scripts/beutel.s2s";
script=end

das heist nur wenn die variable $gold=0 ist wird ein goldbeutel erstellt ansonsten nur eingelagert

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
@Der Muggemann

Also das Mit dem Einlagern und dem Goldbeutel funktioniert nun, aber wenn ich nun den Goldbeutel habe und ich nochmal etwas einlagere, verschwinden die Goldmünzen nicht mehr, im Goldbeutel steigt die Anzahl aber im Inventar verringert sich die anzahl nicht. Mit dem Beutel schon, obwohl der Beutel und der Goldbeutel das gleiche Script nutzen...

edit: so hier mal alle scripte:

Das ist die definition von Beutel und Goldbeutel:

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
### Bag
id=1
name=Beutel
group=stuff
icon=gfx\bag.bmp
model=gfx\bag.b3d
mat=dust
weight=100
info=Ohne Beutel keine Competition! Einfach schön das Teil außerdem kann ich darin Meine Goldmünzen aufbewahren.
healthchange=0
script=start
	on:use {
			if (playergotitem(127)>0){
				dialogue "beutel","sys/scripts/beutel.s2s";
			}else{
				msg "Ich habe keine Münzen,",3;
				msg "die ich reintun könnte",3;
			}
		}
script=end

### Goldbag
id=5
name=Goldbeutel
group=stuff
icon=gfx\goldbag.bmp
model=gfx\goldbag.b3d
mat=dust
weight=350
info=Ein Bautel mit Goldmünzen drin. In ihm befinden sich $gold Goldmünzen.
healthchange=0
script=start
	on:eat {
		msg "*beiß* ... ";
		msg "die Münzen scheinen echt zu sein!";
	}
	
	on:use {
		dialogue "beutel","sys/scripts/beutel.s2s";
	}
script=end

das hier steht unter "sys/scripts/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
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 ((playergotitem(127)>0)&&($gold==0)) {
          $gold=count_stored ("unit",1,127);
          $id=create ("item",5);
          freestored "unit",1,127,$gold;
		  freestored "unit",1,1,$gold;
          store $id,"unit",1;
     } elseif ((playergotitem(127)>0)&&($gold>0)) {
          $goldplus=count_stored ("unit",1,127);
          freestored "unit",1,1,$goldplus;
          $gold=$gold+$goldplus;
     } else {
          msg "Keine Münzen mehr zum einlagern",3;
          dialogue "beutel","sys/scripts/beutel.s2s";
     }
dialogue "beutel","sys/scripts/beutel.s2s";
script=end

nochmal:

Ich möchte wenn ich einen Beutel habe und ein paar Goldmünzen, das ich die Dann dort einlagern kann.
-Bis zu 100 Gold haben darin platz.

Wenn ich Goldmünzen einlagere soll daraus ein Goldbeutel werden. (das klappt)

In dem Goldbeutel kann ich auch Goldmünzen einlagern (das klappt nicht ganz, da ich dann im inventar trotzdem noch goldmünzen habe und die anzahl um Goldbeutel aber zunimmt...)

Das script fürs auslagern hab ich noch nciht angefangen, da das einlagern noch nicht funktioniert.

old Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Quote
ups!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
script=start
     if ((playergotitem(127)>0)&&($gold==0)) {
          $gold=count_stored ("unit",1,127);
          $id=create ("item",5);
          freestored "unit",1,1,1;
          freestored "unit",1,127,$gold;
          store $id,"unit",1;
     } elseif ((playergotitem(127)>0)&&($gold>0)) {
          $goldplus=count_stored ("unit",1,127);
          freestored "unit",1,127,$goldplus;
          $gold=$gold+$goldplus;
     } elseif ($gold>100) {
          msg "Der Beutel ist voll!",3;
          dialogue "beutel","sys/scripts/beutel.s2s";
     } else {
          msg "Keine Münzen mehr zum einlagern",3;
          dialogue "beutel","sys/scripts/beutel.s2s";
     }
dialogue "beutel","sys/scripts/beutel.s2s";
script=end

so müsste es gehen!
hatte ausversehen statt den Münzen eine Beutel gelöscht

old Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Quote
Ich will auch mal wieder etwas fragen:
Wie kriege ich es hin, dass ein Script bei mehreren Objekten des selben Typs(zB. die Bananenpalme)ausgeführt wird? Ich möchte nicht, dass ich bei jedem Objekt den Script noch einmal eintragen muss. Kann man das irgendwie hinkriegen?

old Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Quote
Es funktioniert auch bei mir nicht. Das ist mein globaler Script:
1
2
3
on:load {
def_extend "object",53,3;
}

Und das steht im Info 3:
1
texture "gfx/grain_a.png";

old Re: Scripting - Fragen/Probleme

player4life
User Off Offline

Quote
bedenke, das die id(in deinem fall 3) Die ID im EDITOR sein muss, also:
1 Text-Container info platzieren.
2 Den code hineinschreiben
3 im globalen code einfügen
1
2
3
on:load {
def_extend "object",53,INFOID;//infoid wird hier mit der info id im EDITOR ersetzt
}
To the start Previous 1 2308 309 310339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview