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 2299 300 301339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
@ player4life:
wenn beim spieler kekse eingelagert sind sollte er eigentlich auch die anzahl anzeigen...
was wird denn genau ausgegeben?
1
anzahl kekse: 0
oder einfach nur
1
0
?




@ RedFlop:
platzier ein info auf deiner map, z.b. eine fahne, da schreibst du dann rein:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
on:start {
	$info_id=currentid();
	$info_x=getx("self");
	$info_y=gety("self");
	$info_z=getz("self");
}

on:timer {
	areal_event "area_check", $info_x, $info_y, $info_z, [i][hier den gewünschten Radius einsetzen][/i], 0;
}

on:area_check {
	loop("units", [i][hier die Typ-Nummer der Unit einsetzen][/i]) {
		$current_id=loop_id();
		$inrange=inrange("unit", $current_id, [i][hier den gewünschten Radius einsetzen][/i], "info", $info_id);
		if($inrange==1) {
			addstate "unit", $current_id, [i][hier die Nummer des gewünschten States einsetzen][/i];
		}
	}
}
(eine liste für die Nummer des States gibt es hier)

dann schreibst du ins das globale script der map folgendes rein:
1
2
3
on:load {
	timer "unit", $info_id, 1000, 0;
}

old Re: Scripting - Fragen/Probleme

zeriel
User Off Offline

Quote
hi,

ich möchte tagesbezogene tagebucheinträge erstellen sowie gebietsbezogene und objektbezogene,

dann möchte ich alles bauwerke bis aufs zelt und kleine lager sperren und diese step bei step freischalten bei gebiet trigger und/ oder durch konversation mit npc.

ich möchte einen npc dialog erstellen der eine handelsmöglichkeit beinhaltet, konversationen, und tagesabhängige nachrichten ( zb. ich brauche etwas zeit um das zusammenzubauen komm in 3 tagen wieder)

und wenn der npc quests vergiebt soll ein counter sein für die beschaffenden materialien

ich möchte eine video sequenz machen und eine höhle ( habe mal gesehen, dass jemand eine höhle gemacht hat wo man in ne 2te map kam oder so )

naja wie ihr seht viel ich will dies und das. soweit ich mich erinnern kann ( ist schon lang her) war all dies ja auch im wiki nachzulesen.

aber dieses ist nun leider offline gegangen und vielleciht hat jemand noch irgendwo etwas davon bei sich herumkugeln und könnts da reinkopieren.

hab nämlich gar keinen plan mehr wie irgendwas zu scripten geht

bis auf msg

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
die ganzen scripting-sachen gibt es noch immer hier zum nachlesen.

bei der menge an sachen, die du vorhast, solltest du dich vllt erstmal selbst daran versuchen, das meiste ist eigentlich recht einfach (wenn man einigermaßen gut logisch denken kann ) und da lernst du auch das meiste bei.

ein paar befehle, die du dabei gebrauchen könntest:
s2 cmd on (braucht man immer)
s2 cmd diary
s2 cmd dialogue
variablen sind auch ziemlich wichtig:
> *klick*
videosequenzen sind ein wenig komplizierter, dafür braucht man eine ganze reihe an befehlen:
> *klick*
edited 1×, last 12.02.10 07:43:42 pm

old Re: Scripting - Fragen/Probleme

quester
User Off Offline

Quote
@player4life
Es ist ratsam sich den Befehl vorher genau anzugucken.
Da steht nähmlich folgendes:
          count_stored "Klasse", ID [,Typ]

Also müsste es in etwa so lauten:
1
$storeditems= count_stored("unit",1, 66);

old Re: Scripting - Fragen/Probleme

player4life
User Off Offline

Quote
OMG! danke quester...
ich habs natürlich durchgelesen... aber wenn da ID steht denk ich natürlich die id des items... und parameter die vom [ ] umhüllt sind muss man ja nicht angeben.... und warum zur hölle muss man bei klasse "unit" schreiben?!?

EDIT: ahh... habs jetzt verstanden... danke!

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
so, nach alldem hätte ich dann auch mal ne frage^^

und zwar würde ich gerne wissen, wie genau ich einen scriptkey festlegen kann.

ich hab die "keys.inf" gefunden, in der stehen allerhand zahlen und die zugehörigen tasten, aber ich denke mal, dass das nur dafür gut ist, wenn man ingame in den optionen eine bestimmte funktion auf einen anderen key legen will.

dann habe ich noch gesehen, dass es dei befehle "on:keydown", "on:keyhit" und "on:keyrelease" gibt, wobei am ende immer eine zweistellige zahl stehen muss.

in welcher art und weise verknüpft man nun eine taste mit einem dieser befehle, damit dann ein script ausgeführt wird?

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
nein, das meinte ich nicht, diese sachen stehen ja alle in der "keys.inf" drin.

was ich meinte ist, wenn ich z.b.
1
on:keyhit00 {}
mache, halt mit irgendwelchen befehlen in den geschweiften klammern, wo wird dann festgelegt, welche der taste aus der "keys.inf" der 00 zugeodnet ist?

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
öhmm... nö?
die tasten, die in der "keys.inf" festgelegt sind haben garnichts mit der zahl hinter dem "on:keyhit" zu tun, soweit ich das verstehe.
(ich schließe das daraus, dass in der "keys.inf" auch 3-stellige zahlen vorkommen, wärend hinter dem befehl immer zwei stellige zahlen stehen müssen.)

old Re: Scripting - Fragen/Probleme

player4life
User Off Offline

Quote
vielleicht hat DC dort bei "on:keyhit" nur buchstaben verwendet da kein buchstabe 3 oder 1 stellig ist, sondern nur 2 stellig... probiers ma aus

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
das macht keinen sinn.

in der keys.inf sind die zahlen fest mit den entsprechenden testen verbunden, es muss also noch irgendwo ein file geben, in dem steht, dass z.b. taste "I" mit 00 verbunden ist, damit beim drücken der taste das script
1
on:keyhit00 {}
ausgelöst wird.

das ist schon ganz einfach daran zu erkennen, dass die tasten ja auch variabel sind, man könnte also z.b. auch das scrript auf taste "M" legen (in den optionen einstellbar).

old Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Quote
also um tasten befehle zuzuordnen musst du folgendes Tun:

in die Game.inf datei reingehn und noch VOR "script=start" folgendes reinschreiben:
1
scriptkey=0,Rennen (als Beispiel)

dann nach dem script=start das:
1
2
3
on:keydown00 {event "run","gloabl";}

on:run { player_speed 7.0;}
das war nur ein beispiel für Rennen, das heißt wenn ich die taste drücke renne ich. Um aufzuhören zu rennen muss ich aber noch einen befehl dazu machen:

1
on:keyrelease00 { player_speed 2.0;}

das bewirkt, das wenn ich die taste loslasse das ich wieder normal schnell laufe.

welche Taste nun zugeordnet wird hab ich keien Ahnung, aber ich mach es einfach so ich geh danach auf Optionen unter Steuerung (2) und änder da die Taste. In dem Bauspiel war es die Taste "U" (ich hab sie einfach geändert in "SHIFT".

Hoffe das löst dein problem
edited 1×, last 13.02.10 09:36:14 pm

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
also ich hab das jetzt genau so gemacht wie du gesagt hast aber ich bekomm da immer ne fehlermeldung (schon während das spiel lädt!)
1
Invalid GAME Property 'scriptkey0'

in meiner game.inf steht jetzt (im unteren abschnitt) folgendes drin:
1
2
3
4
5
6
7
8
9
scriptkey0=select_up

script=start
on:keyhit00 {event "select_up","global";}

on:select_up {
	msg "Hello World!";
}
script=end

Edit: Problem hat sich erledigt, ich habs jetzt folgendermaßen gelöst bekommen:
1
2
3
4
5
6
7
8
9
[b]scriptkey=0,select_up[/b]

script=start
on:keyhit00 {event "select_up","global";}

on:select_up {
	msg "Hello World!";
}
script=end
Funktioniert jetzt

old Re: Scripting - Fragen/Probleme

Nova
User Off Offline

Quote
Vielleicht hilft dieser Hinweis zu den Einträgen in der Games.inf:

Quote
scriptkey=ID,Name
Erstellt eine Taste, welche im Optionsmenü belegt werden kann und die Events keyhitXX, keydownXX und keyreleaseXX (XX=00,01,02 ... bis 20 für die ID) im globalen Spielscript (game.inf, sonst nirgendwo!) auslöst, wenn sie gedrückt wird. ID ist ein Wert von 0-20, der Name ist ein beliebiger Text, welcher im Menü erscheinen soll

old Re: Scripting - Fragen/Probleme

RedFlop
User Off Offline

Quote
Und wieder was:
Ich hab nen Trigger, der beim draufgehen ein Event mit event "Ereignis" [,"Klasse", ID] auslöst. Nur hört das Event nich wieder auf wenn ich den Trigger verlasse. Das soll es aber.
Geht das?

old Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Quote
@ Nova:
danke, hab ich mittlerweile auch schon gefunden^^

@ RedFlop:
soweit ich das verstanden habe hast du da stehen
1
2
on:trigger {
	event "Ereignis" [,"Klasse", ID]
(also vom aufbau her so in der art) ?

viel mehr kann ich aber nicht aus deiner aussage herausfinden, wie und wann das event stoppt hängt nämlich auch von dem script ab, was daraufhin ausgelöst wird (z.b. eine s2 cmd loop schleife), von daher wär es nicht verkehrt, wenn du das ganze script posten könntest.

old Re: Scripting - Fragen/Probleme

RedFlop
User Off Offline

Quote
Kay dann hab ich das Problem gefunden. Es wir ein Timer ausgelöst.
Gibt es da ne Lösung. Also, dass irgendwie "freetimers" ausgelöst wird wenn man den Trigger verlässt?
To the start Previous 1 2299 300 301339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview