Ein paar Scriptfragen.

Hilfe bei der Erstellung von Fallout 1 / 2 Modifikationen, sowie Werbung und Ankündigungen.

Moderators: Newsposter, Global Moderator, Zugriff Intern, Moderator

Post Reply
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Dein Rechner ist zu schnell für den Fade. Ist bei jedem aktuellem Rechner so. Ich glaube, mit Timeslip's Engine Tweak kann man das umstellen, habs selbst aber noch nie gemacht, weil  die Geschwindigkeit halt auf jedem Rechner unterschiedlich ist.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

ja also soll ich 1 beim script lassen oder wat? :s000:

so Zeit ist eingestellt.  was fällt noch...hmm... wie war das mit den counter fidne die idee eines neun perks plus bei 1000 Bäumen +Str ne Starke und nette IDee!
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Ich würde 5 oder so drin stehen lassen.

Ich persönlich finde alle meine Ideen dazu toll. :P Ab 1000 Bäume +1 Stärke, die Nachricht im Log unten links, das Skill basierende Hacken (so das manchmal auch nichts bei raus kommt), etc.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

wie manchmal auch nichts?

Glaubst du ich soll beim release auf NMa das mit der stärke erwähnen, ich sollte nur sagen hackt fleißig Bäume dann apssiert euch was tollen...mal sehen wer bis 1k kommt^^ aber fidnest du 1000k nicht all zu viel? Obwohl :-\

whatever versuch grad das mit der gvar hinzukriegen denke ich packs, aber wohin sollen die ifs? weil die müssen ja in der gleichen procedure sein...oder etwa nicht? Mit and END else oder?


edit, warum ist gvar Baum_gefaellt undefiniert ich habe es doch per FSE in gam13 und comand reineditiert!
können die GVARS direkt im script definiert werden?

Edit ok ein blick in dein Tut hat weitergeholfen musste die gvar als odefenieren(im script) aber irgenwie komlimiert er aber passiert nicht...naja ich versuch noch mal was.

ok essit mal wdier was flasch gehn nicht :wall1cf:
Last edited by Mr.Wolna on Wed Aug 20, 2008 6:03 pm, edited 1 time in total.
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
le Chew
Atomsprengkopf
Posts: 2826
Joined: Mon May 14, 2007 1:35 pm
Location: Bärlin
Contact:

Re: Ein paar Scriptfragen.

Post by le Chew »

@wolna

Strukturiere deine Scripte mal so wie es Lexx schon angemerkt hat - und besorg dir nen ordentlichen Editor fürs Scripten, der dir z. B. anzeigt ob eine Klammer geschlossen wurde, oder nicht. Word oder der Notepad-Scheiß von Windows ist absolut nicht zu empfehlen. (auch diese möchtegern-Version notepad++ oder wie es sich nennt ist im Vergleich zu echten Editoren ne Krankheit). ConText is z. B. ganz gut.

Grund: Du kommst beim debuggen leichter drauf ob du wieder nur schlampig warst, oder es wirklich am fehlenden Knowhow deinerseits liegt, wenn etwas nicht funktioniert. Wegen jeder Kleinigkeit nachfragen zu müssen bremst ziemlich aus ;-)
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

chew ich benütze FSE und was meint ihr mit strukturiere ist doch übersichtlich.

Ich kann mir nicht erklären warum dieser Code nicht geht/bzw er comlimiert, aber bei Zehn geföllten Bäumen kommt nicht das gewünschte Ergebniss kuk:

Code: Select all

procedure use_obj_on_p_proc begin
variable NeuBaum;
variable NeuHolz;
  if (global_var(GVAR_Baum_gefaellt) >= 10)
      then begin
      play_sfx("saloon");
end else
  if ((obj_pid(obj_being_used_with) == PID_FIRST_TREE)
    or (obj_pid(obj_being_used_with) == PID_SECOND_TREE)
    or (obj_pid(obj_being_used_with) == PID_THIRD_TREE)) then begin
      gfade_out(5);
      play_sfx("mamtntba");
      NeuBaum:=create_object(PID_TEMPLE_SKULL_POLE,tile_num(obj_being_used_with),elevation(obj_being_used_with));
      destroy_object(obj_being_used_with);
      game_time_advance(30*ONE_GAME_MINUTE);
      set_global_var(GVAR_Baum_gefaellt, GVAR_Baum_gefaellt+1)
      gfade_in(5);

      NeuHolz:=create_object(PID_FIREWOOD,0,0);
      add_obj_to_inven(dude_obj,NeuHolz);
 end
 end
ist doch gut strukturiert oder?
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
le Chew
Atomsprengkopf
Posts: 2826
Joined: Mon May 14, 2007 1:35 pm
Location: Bärlin
Contact:

Re: Ein paar Scriptfragen.

Post by le Chew »

@Wolna

Deine Blöcke sind "unleserlich" -  man muss um deinen Code zu verstehen erst mal alles im Kopf umstrukturieren.

Code: Select all

procedure use_obj_on_p_proc begin
	variable NeuBaum;
	variable NeuHolz;
 	
	if (global_var(GVAR_Baum_gefaellt) >= 10) then begin
      		play_sfx("saloon");
	end
	else
  		if ((obj_pid(obj_being_used_with) == PID_FIRST_TREE)
    			or (obj_pid(obj_being_used_with) == PID_SECOND_TREE)
    			or (obj_pid(obj_being_used_with) == PID_THIRD_TREE)) then begin
   				gfade_out(5);
      				
				play_sfx("mamtntba");
      				NeuBaum:=create_object(PID_TEMPLE_SKULL_POLE,tile_num(obj_being_used_with),elevation(obj_being_used_with));
      				destroy_object(obj_being_used_with);
      				game_time_advance(30*ONE_GAME_MINUTE);
      				set_global_var(GVAR_Baum_gefaellt, GVAR_Baum_gefaellt+1)
      				
				gfade_in(5);

      				NeuHolz:=create_object(PID_FIREWOOD,0,0);
      				add_obj_to_inven(dude_obj,NeuHolz);
 		end
 	end	
Eine Prozedur ist immer der Kopf, alles andere wird eingerückt, jede If-Unterscheidung bildet ebenfalls einen Kopfbereich, alles innerhalb dieses logischen Blocks wird eigerückt, ein nachfolgendes else nimmt die gleiche Position wie das If ein etc. pp.

Ein ordentlicher Editor würde dir bei deinem Klammerproblem helfen, die ordentliche Struktur das du nicht irgendwann die Übersicht verlierst. Sozusagen das kleine Einmaleins der Scripterei.

Edit: Hab ein Semikolon (rot) dazugefügt - denke das dürfte das Problem an diesem Schnippsel gewesen sein:

set_global_var(GVAR_Baum_gefaellt, GVAR_Baum_gefaellt+1);
Last edited by le Chew on Wed Aug 20, 2008 6:41 pm, edited 1 time in total.
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

wie gesagt ich benütze FSE. Dieser Code wird aber immer noch nicht gehen der sit ja gleichgeblieben oder?
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Code: Select all

	end
	else
  		if
Das kann aber Probleme verursachen. FSE bzw. die Fallout Scripte sind da sehr pingelig. Ich persönlich schreibe _immer_ "end else if" genau so aus. Ist einfacher sicherer.

Wie schon per PN geschrieben.. Wolna, du benutzt nicht zufällig wieder Killaps Mod ohne das du die Scripte von ihm hast?
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

das sit killasp mod mit allen headers für 1.2 alle bedie scripts gehen nicht, meienr schon aber passiet nix ingame :wall1cf:
Last edited by Mr.Wolna on Wed Aug 20, 2008 6:49 pm, edited 1 time in total.
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Ja, ich seh schon, was bei dir mindestens falsch ist. Dein

Code: Select all

	if (global_var(GVAR_Baum_gefaellt) >= 10) then begin
      		play_sfx("saloon");
	end
musst du IN die andere if-Funktion packen, so wie ich dir das schon tausend mal per PN geschrieben habe. Ich zitiere mal eine ältere:
procedure use_obj_on_p_proc begin
variable NeuBaum;
  if ((obj_pid(obj_being_used_with) == PID_FIRST_TREE)
    or (obj_pid(obj_being_used_with) == PID_SECOND_TREE)
    or obj_pid(obj_being_used_with) == PID_THIRD_TREE)) then begin
      NeuBaum:=create_object(PID_TEMPLE_SKULL_POLE,tile_num(obj_being_used_with),elevation(obj_being_used_with));
      destroy_object(obj_being_used_with);
      // hier jetzt noch die Items in das Inventar des Spielers setzen
      // evtl. globale Variable + 1hochzählen und dann mit if auswerten
      // if (global_var(GVAR_XY) >= 10) then begin // größer oder gleich 10 ist nur ein Beispiel.
      // [...]
      // end

  end
end
Bei dir ist auf jeden Fall die Reihenfolge falsch, weil du immer erst fragst, ob die Variable größer oder gleich 10 ist. Soll heißen, theoretisch dürfte dein Hacken nicht mehr gehen, wenn du 10 Bäume gefällt hast, weil dann das >= 10 erfüllt ist und der else-Block übersprungen wird.
Last edited by Lexx on Wed Aug 20, 2008 6:52 pm, edited 1 time in total.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
le Chew
Atomsprengkopf
Posts: 2826
Joined: Mon May 14, 2007 1:35 pm
Location: Bärlin
Contact:

Re: Ein paar Scriptfragen.

Post by le Chew »

@Lexx

Oki, wenn das Fehler verursacht dann ist die Struktur an dieser Stelle natürlich eher suboptimal.
musst du IN die andere Schleife packen, so wie ich dir das schon tausend mal per PN geschrieben habe. Ich zitiere mal eine ältere:
btw - wo siehst du hier ne Schleife;)

@Wolna

Hast du meinen Edit mit dem fehlenden Semikolon gelesen?
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

chewie wrote: btw - wo siehst du hier ne Schleife;)
Jo, war Reflex. In Fallout gibt es keine richtigen Schleifen. Man kann sich höchstens Pseudo-Schleifen über if-then-else basteln.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

ähmmm so ?

Code: Select all

procedure use_obj_on_p_proc begin
	variable NeuBaum;
	variable NeuHolz;
	
  		if ((obj_pid(obj_being_used_with) == PID_FIRST_TREE)
    			or (obj_pid(obj_being_used_with) == PID_SECOND_TREE)
    			or (obj_pid(obj_being_used_with) == PID_THIRD_TREE)) then begin
   				gfade_out(5);
      				
				play_sfx("mamtntba");
      				NeuBaum:=create_object(PID_TEMPLE_SKULL_POLE,tile_num(obj_being_used_with),elevation(obj_being_used_with));
      				destroy_object(obj_being_used_with);
      				game_time_advance(30*ONE_GAME_MINUTE);
      				set_global_var(GVAR_Baum_gefaellt, GVAR_Baum_gefaellt+1)
      				
				gfade_in(5);

      				NeuHolz:=create_object(PID_FIREWOOD,0,0);
      				add_obj_to_inven(dude_obj,NeuHolz);
 	end else 
      if (global_var(GVAR_Baum_gefaellt) >= 10) then begin
      		play_sfx("saloon");
	end
	else
 	end	
wie gesagt bin noch ziemlic am anfang was das scripten angeht.

@ Chew nein mach ich gleich!

kann mal einer bei +10 die den sound in ein floater aus irgendeien text stellen, damit ich 100 sicher gehen kann das nicht sich schneidet!

und sot die define richtig?

#define GVAR_Baum_gefaellt (1)
Last edited by Mr.Wolna on Wed Aug 20, 2008 7:07 pm, edited 1 time in total.
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Nein.... jetzt sagst du, wenn Schaufel + Baum, dann... ansonsten, wenn Variable >= 10, dann spiele Ton, ansonsten nichts. Das ist logisch falsch.

Mach doch einfach genau so, wie ich oben markiert habe.
procedure use_obj_on_p_proc begin
variable NeuBaum;
variable NeuHolz;

  if ((obj_pid(obj_being_used_with) == PID_FIRST_TREE)
    or (obj_pid(obj_being_used_with) == PID_SECOND_TREE)
    or (obj_pid(obj_being_used_with) == PID_THIRD_TREE)) then begin
      gfade_out(5);
     
      play_sfx("mamtntba");
      NeuBaum:=create_object(PID_TEMPLE_SKULL_POLE,tile_num(obj_being_used_with),elevation(obj_being_used_with));
      destroy_object(obj_being_used_with);
      game_time_advance(30*ONE_GAME_MINUTE);
      set_global_var(GVAR_Baum_gefaellt, GVAR_Baum_gefaellt+1)
     
      gfade_in(5);

      NeuHolz:=create_object(PID_FIREWOOD,0,0);
      add_obj_to_inven(dude_obj,NeuHolz);

      // an dierser Stelle wird gefragt, ob der aktuelle Baum der 10. oder mehr ist.
      // Wenn der Baum die Nummer 10 oder mehr ist, wird alles zwischen if und end ausgeführt. Wenn nicht, wird der Teil einfach ignoriert.
      if (global_var(GVAR_Baum_gefaellt) >= 10) then begin
      play_sfx("saloon");
      end

else
end
Mr.Wolna wrote:und sot die define richtig?

#define GVAR_Baum_gefaellt (1)
Äh, globale Variablen werden in der global.h definiert. "#define GVAR_Baum_gefaellt (1)" wirst du in keinem der offiziellen Scripte finden.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

ha aber ohne diesen Beitrag geht es nicht zu komplimieren -.-
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Die globalen Variablen brauchst du nur in der global.h definieren, alles andere ist überflüssig.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

also brach ich sogar die global.h nicht in den script zu inkluden?
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
User avatar
Lexx
Administrator
Posts: 27348
Joined: Sat Dec 10, 2005 6:27 pm

Re: Ein paar Scriptfragen.

Post by Lexx »

Ohne kannst du die Scripte nicht compilieren. Außerdem wird die Datei automatisch eingebunden. Wenn du die Header-Datei entfernen wollen würdest, müsstest du erst noch einige andere Dateien bearbeiten... absolut sinnlos, weil wie schon geschrieben, ohne geht das Compilieren nicht.
only when you no-life you can exist forever, because what does not live cannot die
User avatar
Mr.Wolna
Moderator
Posts: 12939
Joined: Sun Oct 28, 2007 8:54 pm

Re: Ein paar Scriptfragen.

Post by Mr.Wolna »

ja also kann ich sie ja doch weglassen...da sie im definde.h drinne sit , aey? und wegen dieser GVAR sache bsit du dir sicher das es so geht mit 10x Bäumen und so, irgndwie geht die Zeile nicht.
RPÜ/German Restoration Project Tanslation
Ich habe ein Gewehr, eine Schaufel und 5 Hektar Land hinter dem Haus. Man wird dich nie finden - leg dich also nicht mit mir an!   <br />
Ashbury wrote:P.s. Nein es ist nicht die Gewalt was mich an der Fallout Reihe gereizt hat,aber sie war immer die Kirsche auf der Sahnetorte ( Und ich will verdammt nochmal ne Kirsche oben drauf haben)
Post Reply

Return to “Fallout Modding”