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 2299 300 301339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Zitieren
@ 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;
}

alt Re: Scripting - Fragen/Probleme

zeriel
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Zitieren
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*
1× editiert, zuletzt 12.02.10 19:43:42

alt Re: Scripting - Fragen/Probleme

quester
User Off Offline

Zitieren
@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);

alt Re: Scripting - Fragen/Probleme

player4life
User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

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

alt Re: Scripting - Fragen/Probleme

player4life
User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

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

alt Re: Scripting - Fragen/Probleme

T-REX0113
User Off Offline

Zitieren
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
1× editiert, zuletzt 13.02.10 21:36:14

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

Zitieren
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

alt Re: Scripting - Fragen/Probleme

Nova
User Off Offline

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

Zitat
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

alt Re: Scripting - Fragen/Probleme

RedFlop
User Off Offline

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

alt Re: Scripting - Fragen/Probleme

Hurri04
Super User Off Offline

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

alt Re: Scripting - Fragen/Probleme

RedFlop
User Off Offline

Zitieren
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?
Zum Anfang Vorherige 1 2299 300 301339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht