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 2156 157 158339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Guest

Quote
Ich hab auch frage:
wie kann man eine globale Variable erstellen... ich find nur scripts für locale.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
sobald du einer variable einen wert zuweist welche du zuvor nicht per local definiert hast, wird sie automatisch als globale variable angelegt. daher ist dafür kein extra befehl nötig und auch nicht vorhanden.

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Ich habe eine Frage:

Was muss ich skripten, damit das Item erst in meinem Inventar verschwindet, wenn es 30 MAL verwendet worden ist?

lg,
Benji

old Re: Scripting - Fragen/Probleme

Feteo
COMMUNITY BANNED Off Offline

Quote
Das ist unmöglich, da Items doch ihre Scripts verlieren, wenn sie aufgenommen werden. Ansonsten mit Variablen probieren.

old Re: Scripting - Fragen/Probleme

TheS0rr0w
COMMUNITY BANNED Off Offline

Quote
ähm...
intetwa so :

1
2
3
4
5
6
7
8
9
10
on:use {
dein script;
create "Klasse", Typ;
store ItemID, "Klasse", ID;
$blubber +1

if ($blubber=>30) { skipevent;
unstore ItemID, "Klasse", ID;

} }

dürften ein paar sonderzeichen fehlen so wie klammern(hab sowas lang nich gemacht) usw aber an sonsten müsste es funzen

und

1
on:start {$blubber=0)


EDIT: Spinn ich oder sieht das aus wie dark basic^^

old loadmap

Electronix
User Off Offline

Quote
Hallo,
kann man mit loadmap oder sonst irgendwie eine Zufallsmap starten?
Kann sein dass ich mich zu dumm anstelle, aber ich finde grade keine Lösung...
Vielen dank,
Electronix

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Da niemand (sogar DC mir nicht mehr helfen WILL) weiß wie man mir hilft, dann gebe ich halt nochmal den Code.

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
on:keyhit00 { 
     scantarget 100;  
     $g_throw_item=targetid();
     //if (targetclass()==3) { $g_throw_item=targetid(); } 
     //else { $g_throw_item=0; } 
} 
 

on:keydown00 { 
if ($g_throw_item==0) { skip; } 
local $x,$y,$z,$pitch,$yaw; 
$x=getx("unit",1);
$pitch=getpitch("unit",1); 
$pitch=$pitch*1.00;
$y=gety("unit",1);
$yaw=getyaw("unit",1);
$yaw=$yaw*1.00; 
$z=getz("unit",1);

$y+=16; //Augenhöhe? 
$y+=100*cos($pitch);
$tmp=sin($yaw);
$tmp=$tmp*sin($pitch);
$tmp=100*$tmp;
$x+=$tmp; 
$tmp=cos($yaw);
$tmp=$tmp*sin($pitch);
$tmp=100*$tmp;
$z+=$tmp;

setpos "item",$g_throw_item,$x,$y,$z; 
freevar $x,$y,$z,$pitch,$yaw; 
}

//on:keyrelease00 { 
     //if ($g_throw_item==0) { skip; } 
     //if (intersect("item",$g_throw_item)==1) { skip; } 
     //local $x,$y,$z,$pitch,$yaw,$type; 
     //$x=getx("item",$g_throw_item); $pitch=getpitch("unit",1); 
     //$y=gety("item",$g_throw_item); $yaw=getyaw("unit",1); 
     //$z=getz("item",$g_throw_item); $type=type("item",$g_throw_item); 
     //free "item",$g_throw_item; 
     //$g_throw_item=0; 
     //projectile $type,$x,$y,$z,3,$pitch,$yaw; 
     //freevar $x,$y,$z,$pitch,$yaw,$type; 
//} 

script=end

Script by bizzl.

Das ziel ist es einen gegenstand solange man eine Taste gedrückt hält im Fadenkreuz schweben zu lassen, dieser Gegenstand dreht und bewegt sich zusammen mit dem Spieler bis der Spieler die Taste wieder loslässt (wie in Oblivion) Er kann den Gegenstand nicht loslassen, wenn der Gegenstand zB zur Hälfte in einem Stein steckt.
Wenn man eine andere Taste gedrückt hält während man den Gegenstand im Fadenkreuz hat, wird der Gegenstand geworden, und zwar werden dazu die entsprechenden Parameter in seiner Definition verwendet (Drag etc)

Bei mir verschwindet aber das Item. Was muss ich verbessern?

lg,
Benji

old Re: Scripting - Fragen/Probleme

CN
User Off Offline

Quote
Wahrscheinlich wollte bizzl es Benji nicht so einfach machen, als er ihm den Code gab. Also soviel Scripterfahren hätte ich von Benji schon erwartet, dass // Kommentare sind. Das weiß sogar ich obwohl ich in DarkBasic progge (rem).

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Oh. Das habe ich falsch geschickt. War der falsche Code. Natürlich sind die Kommentare nix für den code.

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
on:keyhit00 { 
scantarget 100; 
$g_throw_item=targetid(); 
if (targetclass()==3) { $g_throw_item=targetid(); } 
else { $g_throw_item=0; } 
} 


on:keydown00 { 
if ($g_throw_item==0) { skip; } 
local $x,$y,$z,$pitch,$yaw; 
$x=getx("unit",1); 
$pitch=getpitch("unit",1); 
$pitch=$pitch*1.00; 
$y=gety("unit",1); 
$yaw=getyaw("unit",1); 
$yaw=$yaw*1.00; 
$z=getz("unit",1); 

$y+=16; //Augenhöhe? 
$y+=100*cos($pitch); 
$tmp=sin($yaw); 
$tmp=$tmp*sin($pitch); 
$tmp=100*$tmp; 
$x+=$tmp; 
$tmp=cos($yaw); 
$tmp=$tmp*sin($pitch); 
$tmp=100*$tmp; 
$z+=$tmp; 

setpos "item",$g_throw_item,$x,$y,$z; 
freevar $x,$y,$z,$pitch,$yaw; 
} 

on:keyrelease00 { 
if ($g_throw_item==0) { skip; } 
if (intersect("item",$g_throw_item)==1) { skip; } 
local $x,$y,$z,$pitch,$yaw,$type; 
$x=getx("item",$g_throw_item); $pitch=getpitch("unit",1); 
$y=gety("item",$g_throw_item); $yaw=getyaw("unit",1); 
$z=getz("item",$g_throw_item); $type=type("item",$g_throw_item); 
free "item",$g_throw_item; 
$g_throw_item=0; 
projectile $type,$x,$y,$z,3,$pitch,$yaw; 
freevar $x,$y,$z,$pitch,$yaw,$type; 
} 

script=end

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
CN has written
Wahrscheinlich wollte bizzl es Benji nicht so einfach machen, als er ihm den Code gab. Also soviel Scripterfahren hätte ich von Benji schon erwartet, dass // Kommentare sind. Das weiß sogar ich obwohl ich in DarkBasic progge (rem).

Lach mal, das einzige Kommentar das ich in den Code gesteckt habe war // Augenhöhe?, und ein paar Unsinnigkeiten sind auch neu hinzugekommen (stammen aber net von Benji, da hat noch ein dritter seinen Senf mit reingemährt )
Bin selber überfragt, die Trigo stimmt zumindest auf dem Papier

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
bizzl has written
und ein paar Unsinnigkeiten sind auch neu hinzugekommen (stammen aber net von Benji, da hat noch ein dritter seinen Senf mit reingemährt


Das warst du eigentlich mit den Kommentaren. Ich habe es aber gelöscht, aber den falschen Code geschrieben.
edit:Und der dritte war banane.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
bizzl has written
und ein paar Unsinnigkeiten sind auch neu hinzugekommen (stammen aber net von Benji, da hat noch ein dritter seinen Senf mit reingemährt


Das warst du eigentlich mit den Kommentaren. Ich habe es aber gelöscht, aber den falschen Code geschrieben.

Beim Debugging dann hab ich das vorgeschlagen, jo.

Okay, noch mal genauer für alle anderen: Das wars nicht
Es funkt nicht, egal ob mit oder ohne Comments, und ich bin genauso ratlos wie Benji.

Hier mal der richtig Originalene Code:

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
on:keyhit00 {
	scantarget 100;
	if (targetclass()==3) { $g_throw_item=targetid(); }
	else { $g_throw_item=0; }
}


on:keydown00 {
	if ($g_throw_item==0) { skip; }
	local $x,$y,$z,$pitch,$yaw;
	$x=getx("unit",1); $pitch=getpitch("unit",1);
	$y=gety("unit",1); $yaw=getyaw("unit",1);
	$z=getz("unit",1);

	$y+=16; //Augenhöhe?
	$y+=100*cos($pitch);
	$tmp=sin($yaw);
	$tmp=$tmp*sin($pitch);
	$tmp=100*$tmp;
	$x+=$tmp;
	$tmp=cos($yaw);
	$tmp=$tmp*sin($pitch);
	$tmp=100*$tmp;
	$z+=$tmp;

	setpos "item",$g_throw_item,$x,$y,$z;
	freevar $x,$y,$z,$pitch,$yaw;
}

on:keyrelease00 {
	if ($g_throw_item==0) { skip; }
	if (intersect("item",$g_throw_item)==1) { skip; }
	local $x,$y,$z,$pitch,$yaw,$type;
	$x=getx("item",$g_throw_item);$pitch=getpitch("unit",1);
	$y=gety("item",$g_throw_item); $yaw=getyaw("unit",1);
	$z=getz("item",$g_throw_item); $type=type("item",$g_throw_item);
	free "item",$g_throw_item;
	$g_throw_item=0;
	projectile $type,$x,$y,$z,3,$pitch,$yaw;
	freevar $x,$y,$z,$pitch,$yaw,$type;
}

old Re: Scripting - Fragen/Probleme

Mc Leaf
Super User Off Offline

Quote
bizzl has written
Bin selber überfragt, die Trigo stimmt zumindest auf dem Papier

*gröhl* Bei Stranded sind auch die Achsen des Kordinatensystems irgendie vertauscht... Mir ist das aber immer zu blöd zu schauen, ob Rotationsmatrizen oder sonstiger Krams gegenüber diesem Irrsinn invariant sind.
Mit etwas Intuition und Empirie kommt man häufig viel schneller ans Ziel...

Naja, zum Code... Du sagst, das Item verschwindet, und fragst dich "warum". Aber vielleicht verschwindet das Item ja gar nicht, sondern wird bspw. einfach unter der Oberfläche positioniert. Dann ist irgendwo ein Vorzeichen falsch, oder es wurde die falsche trig. Fkt. verwendet (sin statt cos bspw.)...

Aber z.B. das hier scheint mir auf den ersten Blick einfach schwachsinnig zu sein:

1
2
$tmp=sin($yaw); 
     $tmp=$tmp*sin($pitch);
Hier wird der Sinus eines Winkels in der x-z-Ebene mit dem Sinus eines Winkels in der x-y-Ebene (nicht ganz exakt, aber hoffentlich klar was ich meine) multipliziert... was soll da berechnet werden...?
To the start Previous 1 2156 157 158339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview