Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
ForenübersichtStranded II-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch Scripting - Fragen/Probleme

6.780 Antworten
Seite
Zum Anfang Vorherige 1 2308 309 310339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Zitieren
Feuer der veraenderung hat geschrieben
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! ^^)

alt Re: Scripting - Fragen/Probleme

DEATHSHEAD
User Off Offline

Zitieren
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
1× editiert, zuletzt 30.04.10 18:45:46

alt Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Zitieren
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
1× editiert, zuletzt 30.04.10 20:33:57

alt Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Swayspeed
User Off Offline

Zitieren
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.
2× editiert, zuletzt 30.04.10 21:46:01

alt Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Zitieren
@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.

alt Re: Scripting - Fragen/Probleme

Der Muggemann
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Westbeam
User Off Offline

Zitieren
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";

alt Re: Scripting - Fragen/Probleme

player4life
User Off Offline

Zitieren
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
}
Zum Anfang Vorherige 1 2308 309 310339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht