Portal | Blog | Album | Chat
IPB

Witaj GOŚCIU ( Zaloguj się | Rejestracja )

2 Strony  1 2 > 
Reply to this topicStart new topicStart Poll

Drzewo · [ Standardowy ] · Linearny+

> [F2] Pisanie skryptów

post 26-12-2008, 21:04
Post #1




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

Znowu witam wszystkich i mam kolejne nurtujace pytania co do modyfikacji Fallouta :) Cubik wielkie dzieki za Twoje wyczerpujace odpowiedzi (innym tez dziekuje :)), no ale przejde do konkretow. Jakie programy sa dobre do stworzenia prostego skryptu do Fallouta 2? Chodzi mi o to w stylu "widzisz jakiegos tam faceta" i to ze odzywa sie do nas "Hej cos tam...". Czytalem ten poradnik na FMC ale niestety nic nie umiem zrozumiec, nie wiem albo wole jak mi to ktos tu na shamo napisze albo nie umiem sie skupic. Prosze o szybka odpowiedz :)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 27-12-2008, 12:00
Post #2




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

QUOTE(cerberix @ 26-12-2008, 21:06)
Znowu witam wszystkich i mam kolejne nurtujace pytania co do modyfikacji Fallouta :) Cubik wielkie dzieki za Twoje wyczerpujace odpowiedzi (innym tez dziekuje :)), no ale przejde do konkretow. Jakie programy sa dobre do stworzenia prostego skryptu do Fallouta 2? Chodzi mi o to w stylu "widzisz jakiegos tam faceta" i to ze odzywa sie do nas "Hej cos tam...". Czytalem ten poradnik na FMC ale niestety nic nie umiem zrozumiec, nie wiem albo wole jak mi to ktos tu na shamo napisze albo nie umiem sie skupic. Prosze o szybka odpowiedz :)
*



Cerberix,
po pierwsze ten post nie powinien był znaleźć się w temacie na temat Klawiszologii do Mappera (więc go przeniosłem do nowego osobnego tematu).
Po drugie, jak byk stoi na samym początku tej tablicy krótkie FAQ dotyczące m.in. skryptów.
Umiejętność szukania informacji, to jedna z tych co są zwykle bardzo przydatne i powinieneś ją posiąść a nie powielać pytania, które już wielu ludzi wcześniej zadawało na tym forum.

Tutaj link do wcześniej wspomnianego tematu, a znajdziesz tam linki do innych stron, na których znajdziesz odpowiedzi na wszelkie Twoje pytania dotyczące skryptów:

http://shamo.gry-online.pl/agora/index.php...t=0#entry153228
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 27-12-2008, 14:17
Post #3




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

Tak ja wszystko o tym wiem, ze jest tylko nie umiem sie polapac w programie FSE 1.5a. Ja wszystko przeczytalem juz kiedys tylko mam wazne pytanie:

JAKI PROGRAM JEST NAJLATWIEJSZY DO STWORZENIA NAJPROSTSZEGO SKRYPTU TYPU (NPC COS MOWI)?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 27-12-2008, 15:09
Post #4




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

Jest tylko jeden znany i jednocześnie najlepszy program wspomagający pisanie i kompilacje skryptów: "FSE".

Poza tym jest rosyjskojęzyczny "F-GECK" - ale jak napisałem, po rosyjsku.

I jest jeszcze program "FMF Dialogue Tool" - do pisania dialogów ale nigdy nie stosowałem go na szerszą skalę, więc nie wiem jak się w nim poruszać.

Zajrzyj na przykład na FMC do działu download, gdzie są tematycznie posortowane różnej maści programy do modowania.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 28-12-2008, 10:03
Post #5




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

/*
Script for critter tmplete
*/




/* Include Files */
#include "..\headers\define.h"

#define NAME SCRIPT_ACKLINT


#include "..\headers\command.h"

/* Standard Script Procedures */
procedure start;
procedure use_p_proc;
procedure look_at_p_proc;("Witaj Wybrancu");
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure use_obj_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
procedure map_update_p_proc;
procedure talk_p_proc;

/*****************************************************************
Local Variables which are saved. All Local Variables need to be
prepended by LVAR_
*****************************************************************/

#define LVAR_Herebefore (4)
#define LVAR_Hostile (5)
#define LVAR_Personal_Enemy (6)

/*******************************************************************
Imported variables from the Map scripts. These should only be
pointers and variables that need not be saved. If a variable
Needs to be saved, make it a map variable (MVAR_)
*******************************************************************/

/*******************************************************************
Local variables which do not need to be saved between map changes.
*******************************************************************/


/*******************************************************************
******* PROCEDURES *******
*******************************************************************/


/*******************************************************************
The start procedure is the first procedure called when the map is
first entered. Any initial information that needs to be set up
should be placed in here.
*******************************************************************/

procedure start begin
end

procedure timed_event_p_proc begin
end

/********************************************************************
********************************************************************/

procedure use_p_proc begin
end

/***************************************************************************
This is cursory glance description that the player will receive should
he just pass the Action Cursor over. Examines which give more information
need to be in the description_p_proc procedure.
***************************************************************************/

procedure look_at_p_proc begin
script_overrides;
if (local_var(LVAR_Herebefore) == 0) then
display_msg("Witaj Wybrancu");

else
display_msg(mstr(101));
end


procedure description_p_proc begin
script_overrides;
display_msg(mstr(102));
end



procedure use_skill_on_p_proc begin
end


procedure use_obj_on_p_proc begin
end


/******************************************************************************************
IF it gets damaged
******************************************************************************************/

procedure damage_p_proc begin
end

/***************************************************************************************
Whenever the map is first entered, this procedure will be called.
***************************************************************************************/

procedure map_enter_p_proc begin
end


/**************************************************************************************
This procedure gets called roughly every 30 seconds of real time.
**************************************************************************************/

procedure map_update_p_proc begin
end

/**************************************************************************************
This is used for any dialogue that may need to occur with the player.
**************************************************************************************/

procedure talk_p_proc begin
end



-------------------------

O to moj skrypt i mam pytanie. Czy w dobre miejsca wpisalem wszystkie dane? A gdy chce go skomplikowac tak jak w poradniku klikajac F9 wyskakuje mi blad:

(IMG:http://img88.imageshack.us/img88/362/20238334yu2.jpg)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 28-12-2008, 10:45
Post #6




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

QUOTE
procedure look_at_p_proc;("Witaj Wybrancu");


Niepotrzebnie dopisałeś ("Witaj Wybrancu");, wyrzuć to.
Reszta powinna być dobrze.

A błąd kompilacji wynika z tego, że w opcjach ustawień FSE trzeba wprowadzić ścieżki dostępu do kompilatora.

W menu głównym w "Edit" wybierz "Options".
Pojawi się okienko umożliwiające ustawienia ścieżek dostępu do ważnych plików.
Przykład jak ja mam to zrobione na obrazku poniżej.
(IMG:http://img68.imageshack.us/img68/3249/opcjefsenm4.jpg)
(IMG:http://img68.imageshack.us/img68/opcjefsenm4.jpg/1/w494.png)

Poza tym, musisz mieć wcześniej zainstalowanego oryginalnego mappera, którego znajdziesz na przykład w Download na FMC.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 28-12-2008, 20:37
Post #7




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

CODE
/*
Script for critter tmplete
*/




/* Include Files */
#include "..\headers\define.h"

#define NAME                    SCRIPT_ACKLINT

#include "..\headers\command.h"

/* Standard Script Procedures */
procedure start;
procedure use_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure use_obj_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
procedure map_update_p_proc;
procedure talk_p_proc;

/*****************************************************************
  Local Variables which are saved. All Local Variables need to be
  prepended by LVAR_
*****************************************************************/

#define LVAR_Herebefore                 (4)
#define LVAR_Hostile                    (5)
#define LVAR_Personal_Enemy             (6)

/*******************************************************************
  Imported variables from the Map scripts. These should only be
  pointers and variables that need not be saved. If a variable
  Needs to be saved, make it a map variable (MVAR_)
*******************************************************************/

/*******************************************************************
  Local variables which do not need to be saved between map changes.
*******************************************************************/


/*******************************************************************
*******                         PROCEDURES                   *******
*******************************************************************/


/*******************************************************************
  The start procedure is the first procedure called when the map is
  first entered. Any initial information that needs to be set up
  should be placed in here.
*******************************************************************/

procedure start begin
end

procedure timed_event_p_proc begin
end

/********************************************************************
********************************************************************/

procedure use_p_proc begin
end

/***************************************************************************
  This is cursory glance description that the player will receive should
  he just pass the Action Cursor over. Examines which give more information
  need to be in the description_p_proc procedure.
***************************************************************************/

procedure look_at_p_proc begin
  script_overrides;
  if (local_var(LVAR_Herebefore) == 0) then
     display_msg;("Witaj Wybrancu");
  else
     display_msg(mstr(101));
end


procedure description_p_proc begin
  script_overrides;
  display_msg(mstr(102));
end



procedure use_skill_on_p_proc begin
end


procedure use_obj_on_p_proc begin
end


/******************************************************************************************
  IF it gets damaged
******************************************************************************************/

procedure damage_p_proc begin
end

/***************************************************************************************
  Whenever the map is first entered, this procedure will be called.
***************************************************************************************/

procedure map_enter_p_proc begin
end


/**************************************************************************************
  This procedure gets called roughly every 30 seconds of real time.
**************************************************************************************/

procedure map_update_p_proc begin
end

/**************************************************************************************
  This is used for any dialogue that may need to occur with the player.
**************************************************************************************/

procedure talk_p_proc begin
end


----------------------------------------------

Zrobilem wszystko co napisales ale gdy nacisnalem klawisz F9 to wyskakuje ten sam blad no ale trudno. Czy ten skrypt trzeba zapisac w folderze Arroyo scripts? A i jak zaczalem nowa gre to ten straznik normalnie mowi nic sie nie pokazuje. Jezeli zle jest ten moj skrypt to skopiuj go i zaznacz miejsca gdzie poprawie wpisac odpowiednie komentarze.

Ten post był edytowany przez cerberix: 30-12-2008, 21:35
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 29-12-2008, 16:13
Post #8




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

Ze skryptami jest tak.
Najpierw musisz mieć zainstalowaną grę.
Następnie instalujesz oryginalnego mappera firmy Interplay (wraz z instalacja mappera pojawią się w jego katalogu pliki źródłowe skryptów a także opis edytora i funkcji używanych w skryptach).

Dopiero po tym instalujesz FSE (najlepiej wersja 1.5a).

Kolejnym bardzo ważnym krokiem przed uruchomieniem FSE jest przeczytanie pliku ReadMe.txt, który znajdziesz w katalogu gdzie zainstalowane jest FSE albo w Menu Programy itp.

TAM ZNAJDZIESZ WSZYSTKIE INFORMACJE DOTYCZĄCE POSŁUGIWANIA SIĘ "FSE" ORAZ SPOSÓB JEGO KONFIGURACJI!!!

Nie będę tłumaczył czegoś co już jest wytłumaczone, trzeba tylko wziąć perka "Szukanie"!

Potem uruchamiasz FSE, konfigurujesz i masz narzędzie gotowe do edytowania i kompilowania skryptów.


Co do samego skryptu, to ta linijka:

CODE
if (local_var(LVAR_Herebefore) == 0) then
display_msg;("Witaj Wybrancu");


powinna wyglądać tak:

CODE
if (local_var(LVAR_Herebefore) == 0) then
display_msg("Witaj Wybrancu");


reszta jest ok.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 29-12-2008, 16:31
Post #9




Wasteland Demon
Group Icon
Grupa: Administrator
Postów: 2 692
Nr użytkownika: 351
Dołączył: 08-03-2003

Cerberix... Chlopie zanim zaczniesz zadawac pytania posluchaj Cubika i postaraj sie sam znalezc odpowiedzi.
Umiejetnosc samoksztalcenia naprawde sie przydaje. Na razie wychodzi na to, ze Cubik ciagle prowadzi Cie za raczke...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 13:39
Post #10




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

Dobra, dobra... spokojnie tylko ok? Wystarczy, ze ktos mi powie co i jak i wpadne na to sam jak pocwicze! Dzieki jeszcze raz zaraz to sprawdze.


--------------------------

ok juz niby wszystko ok nareszcie naciskajac F9 cos sie pokazalo... i juz ostatnie pytanie aby was nie meczyc, naprawde czy ten moj skrypt musze zapisywac w folderach tam gdzie sa pozostale? Np tego acklint zapisac w arroyo?

(IMG:http://img240.imageshack.us/img240/7875/74711089pr7.jpg)

takie cos sie pokazalo :(

Ten post był edytowany przez cerberix: 30-12-2008, 13:54
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 14:28
Post #11




Mechanik
Group Icon
Grupa: GWR-3
Postów: 450
Nr użytkownika: 2 326
Dołączył: 25-06-2005

W tym przypadku musisz w swoich include'ach usunąć "..\" ze ścieżek. Co jest zresztą logiczne, bo jak masz skrypt w katalogu "scripts", to do katalogu "headers" odwołujesz się po prostu poprzez "headers", bez odwołania do katalogu wyżej ("..").

Generalnie proces kompilacji skryptów Fallouta jest maksymalnie barbarzyński i postaram się coś z tym zrobić. Przede wszystkicm wywalić preprocesor Watcoma. :D
Edit: jak zapiszesz skrypt "katalog głębiej", np. w podkatalogu Arroyo, to ścieżki możesz z "..\" zostawić.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 18:38
Post #12




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

OK! NARESZCIE MOJ SKRYPT DZIALA! Po nakierowaniu kursora pojawil sie tekst "Witaj wybrancu" :D Teraz pytanko gdzie to wpisac aby Klint to powiedzial? Dziekuje wszystkim! :D

Ten post był edytowany przez cerberix: 30-12-2008, 18:38
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 20:31
Post #13




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

Tutaj zrobiłem specjalnie kilka linijek przykładowego dialogu, żebyś za przeproszeniem nie nudził, bo takie rzeczy to się samemu rozwikłuje. No ale rozumiem twoją ekscytację pierwszym skryptem a przy tym niestety zbyt skromnym myśleniem więc zrobiłem co zrobiłem.
Co która instrukcja robi i jej budowę/składnię mam nadzieję, że sam sobie rozpracujesz (jest mnóstwo poradników w necie, przykładowo poradniki Licha ze strony black-steel coś tam)

Oto przykładowa budowa dialogu i jego składowe:

CODE
// te trzy poniższe linijki wklej tam gdzie są deklaracje procedur, na początku skryptu po nazwie i po include
procedure Node001;
procedure Node002;
procedure Node003;



// poniższe wklej w swoim skrypcie i skompiluj, sprawdź tylko czy procedury sie nie dublują
procedure talk_p_proc begin
  start_gdialog(NAME,self_obj,4,-1,-1);
  gSay_Start;
  call Node001;
  gSay_End;
  end_dialogue;
end


procedure Node001 begin
  Reply("Witaj "+obj_name(dude_obj)+", mój drogi przyjacielu.");

  NOption("Cześć Klint. Nie znudziło ci się jeszcze tutaj tak stać?",Node002,004);
  NOption("Sorki przyjacielu, musze spadać. Cześć!",Node999,004);
end

procedure Node002 begin
  Reply("Nie, nie znudziło mi się. A ty gdzie się wybierasz?");

  NOption("Ja idę do Światyni Prób, musze ratować świat. Wybacz więc, muszę już iść. Trzymaj się!",Node003,004);
  NOption("Sorki przyjacielu, dostałem sms-a od Starszej, muszę się u niej natychmiast pojawić a czeka mnie jeszcze przejście przez Świątynię Prób! Cześć!",Node999,004);
end

procedure Node003 begin
  Reply("Ano, trzymaj się "+obj_name(dude_obj)+", połamania dzidy i innych szczęśliwości!");

  NOption("Dzięki! Cześć!",Node999,004);
end

// ta procedura wywołuje zakończenie dialogu (zauważ, że nie posida żadnych "dialogowych" funkcji")
procedure Node999 begin
end



I jedna rada, no dwie rady:
Gdy piszesz kod skryptu, rób sobie komentarze przy co trudniejszych lub mniej oczywistych instrukcjach, żebyś na przyszłość wiedział o co ci chodziło lub co która instrukcja robi.

I drugie: rób wcięcia i staraj się pisać estetycznie, tak jak w tym moim przykładzie - docenisz to, gdy skrypt zacznie się rozrastać a będziesz chciał znaleźć. Albo gdy komuś będziesz chciał pokazać jakiś fragment, żeby Ci pomógł. Jak jeszcze raz przedstawisz niepoukładany skrypt to nie licz za bardzo na pomoc. Uwierz, że bardzo ciężko się czyta takie siano, choćby to był jakiś prosty skrypt.
Powodzenia!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 21:28
Post #14




SHM-0
Group Icon
Grupa: Obywatel
Postów: 44
Nr użytkownika: 9 108
Dołączył: 22-12-2008

Witam!
Jako że pracuję razem z cerberixem pozwole sobie zadać pytanie, jeśli to nie kłopot Cubik proszę powiedz mi co jest źle w tym skrypcie. Podczas kompilacji skryptu wyskakuje mi error:
(IMG:http://img147.imageshack.us/img147/2044/nood999km1.png)
Chodzi o tą część w której jest Node999 ale to pewnie już wiecie.
Skopiowałem wszystko tak jak być powinno, przynajmiej mi się tak wydaje.
Proszę oto treść tego skryptu:
CODE
/*
Script for critter tmplete
*/




/* Include Files */
#include "..\headers\define.h"

#define NAME                    SCRIPT_ACKLINT

#include "..\headers\command.h"

// te trzy poniższe linijki wklej tam gdzie są deklaracje procedur, na początku skryptu po nazwie i po include
procedure Node001;
procedure Node002;
procedure Node003;

/* Standard Script Procedures */
procedure start;
procedure use_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure use_obj_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
procedure map_update_p_proc;
procedure talk_p_proc;

/*****************************************************************
   Local Variables which are saved. All Local Variables need to be
   prepended by LVAR_
*****************************************************************/

#define LVAR_Herebefore                 (4)
#define LVAR_Hostile                    (5)
#define LVAR_Personal_Enemy             (6)

/*******************************************************************
   Imported variables from the Map scripts. These should only be
   pointers and variables that need not be saved. If a variable
   Needs to be saved, make it a map variable (MVAR_)
*******************************************************************/

/*******************************************************************
   Local variables which do not need to be saved between map changes.
*******************************************************************/


/*******************************************************************
*******                         PROCEDURES                   *******
*******************************************************************/


/*******************************************************************
   The start procedure is the first procedure called when the map is
   first entered. Any initial information that needs to be set up
   should be placed in here.
*******************************************************************/

procedure start begin
end

procedure timed_event_p_proc begin
end

/********************************************************************
********************************************************************/

procedure use_p_proc begin
end

/***************************************************************************
   This is cursory glance description that the player will receive should
   he just pass the Action Cursor over. Examines which give more information
   need to be in the description_p_proc procedure.
***************************************************************************/

procedure look_at_p_proc begin
   script_overrides;
   if (local_var(LVAR_Herebefore) == 0) then
      display_msg(mstr(100));
   else
      display_msg(mstr(101));
end


procedure description_p_proc begin
   script_overrides;
   display_msg(mstr(102));
end



procedure use_skill_on_p_proc begin
end


procedure use_obj_on_p_proc begin
end


/******************************************************************************************
   IF it gets damaged
******************************************************************************************/

procedure damage_p_proc begin
end

/***************************************************************************************
   Whenever the map is first entered, this procedure will be called.
***************************************************************************************/

procedure map_enter_p_proc begin
end


/**************************************************************************************
   This procedure gets called roughly every 30 seconds of real time.
**************************************************************************************/

procedure map_update_p_proc begin
end

/**************************************************************************************
   This is used for any dialogue that may need to occur with the player.
**************************************************************************************/

// poniższe wklej w swoim skrypcie i skompiluj, sprawdź tylko czy procedury sie nie dublują
procedure talk_p_proc begin
  start_gdialog(NAME,self_obj,4,-1,-1);
  gSay_Start;
  call Node001;
  gSay_End;
  end_dialogue;
end


procedure Node001 begin
  Reply("Witaj "+obj_name(dude_obj)+", mój drogi przyjacielu.");

  NOption("Cześć Klint. Nie znudziło ci się jeszcze tutaj tak stać?",Node002,004);
  NOption("Sorki przyjacielu, musze spadać. Cześć!",Node999,004);
end

procedure Node002 begin
  Reply("Nie, nie znudziło mi się. A ty gdzie się wybierasz?");

  NOption("Ja idę do Światyni Prób, musze ratować świat. Wybacz więc, muszę już iść. Trzymaj się!",Node003,004);
  NOption("Sorki przyjacielu, dostałem sms-a od Starszej, muszę się u niej natychmiast pojawić a czeka mnie jeszcze przejście przez Świątynię Prób! Cześć!",Node999,004);
end

procedure Node003 begin
  Reply("Ano, trzymaj się "+obj_name(dude_obj)+", połamania dzidy i innych szczęśliwości!");

  NOption("Dzięki! Cześć!",Node999,004);
end

// ta procedura wywołuje zakończenie dialogu (zauważ, że nie posida żadnych "dialogowych" funkcji")
procedure Node999 begin
end



Przepraszam za kłopot i pewnie to jest drobna sprawa... Lecz uczymy się na błedach czyż nie? Widzę już że procedura Node999 jest uniwersalna ponieważ kończy dialog. Jeszcze pytanie, do czego służy:
CODE
NOption("Sorki przyjacielu, musze spadać. Cześć!",Node999,[b]004[/b]);
te 004?

Ten post był edytowany przez qRQ2: 30-12-2008, 21:38
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 30-12-2008, 21:55
Post #15




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

(IMG:http://img147.imageshack.us/img147/2044/nood999km1.png)

Jak można na tym obrazku zauważyć, kompilator wykrył błąd polegający na tym, że nie zna procedury Node999.
Zapomniałem wcześniej zadeklarować tę procedurę.

Wpisz tę linijkę

CODE
procedure node999;


tam gdzie zadeklarowane są inne procedury i będzie ok.

Co do:

CODE
NOption("Sorki przyjacielu, musze spadać. Cześć!",Node999,[b]004[/b]);


to wartość 004 oznacza minimalny poziom inteligencji, czyli INT postaci gracza, żeby ta odpowiedź się pojawiła podczas dialogu.
Jeśli postać gracza będzie miała Int poniżej 4 czyli np 3 to się ta linijka nie pojawi.

Najlepiej podczas nauki pisania skryptów lepiej dawać tutaj wartość 001. Będzie bezpieczniej, podczas grania głupią postacią.
Poćwiczcie to dając np 009 i zagraj postacią o Int np 6 i zobaczysz co się stanie. a potem spróbuj dać 006 i zagraj tą samą postacią.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 31-12-2008, 00:08
Post #16




SHM-0
Group Icon
Grupa: Obywatel
Postów: 44
Nr użytkownika: 9 108
Dołączył: 22-12-2008

Wiesz tak myślałem że trzeba dodać Procedure Node 999 tam na początku i tak też zrobiłem, lecz miałem zdublowane te skrypty co Ty dałeś :P I nie działało :P Lecz gdy już usunełem zbędny kawał tekstu to już o tym zapomniałem :)
Dziękuję za pomoc.

---------

Poćwiczyłem sobie już pisanie skryptów dialogów, i rozumiem na jakiej zasadzie to działa oraz co zrobić by w wypowiedzi NPC powiedział nasze imie (naszej postaci :P)
Więc teraz:
Jak dodawać akcje do poszczególnych dialogów? Dajmy przykład:
Boomba zaraz wybuchnie uciekajmy!! - co zrobić by npc pobiegł gdzieś tam ^^
Wiesz, masz może coś na sprzedaż? - co zrobić by przeszło po kliknieciu na taki dialog do handlu
Zaraz zobaczymy czy jesteś taki dobry w walce! - co zrobić by NPC zaczął nas atakować??
Proszę podajcie jak najwięcej takich akcji :)
I może...:
Jak zrobić jakiegoś questa?
Dajmy na to że rozmawiamy z kimś i żeby wykonać questa trzeba użyć na innej osobie przedmiotu "x" dajmy na to stimpaka :P Gdy użyjemy juz stimpaka na osobie co zrobić żeby dialog tej pierwszej osoby zmienił się na dajmy na to:
O rany niebiosa Cię zesłały, dziękujemy za uleczenie Andrzeja!
i dostajemy doświadczenie, oraz jakieś itemki.

Proszę o pomoc.

Nie piszemy dwoch postow po sobie, chyba ze uplynely 24h - Szpon
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 02-01-2009, 18:42
Post #17




SHM-1
Group Icon
Grupa: GWR-3
Postów: 480
Nr użytkownika: 1 878
Dołączył: 14-01-2005

Czytałeś poradniki z tej strony?

http://blacksteel.nma-fallout.com/koxbox.html

Tam są wszelakie przykłady do pisania skryptów jakie potrzebujesz.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 03-01-2009, 13:06
Post #18




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

Swietna stronka heh fajna ta taksowka :D Ale nie zauwazylem tam pewnej rzeczy. Jaki jest skrypt, ze dany NPC po kliknieciu na niego pojawia sie tekst? No wiecie o co chodzi, nie chodzi mi o dialog tylko o to ze cos mowi.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 03-01-2009, 13:13
Post #19




Włóczęga
Group Icon
Grupa: OUTPOST
Postów: 504
Nr użytkownika: 1 779
Dołączył: 01-12-2004

Cerberix, a próbowałeś sprawdzić podobny skrypt, znajdujący się w grze?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
post 03-01-2009, 13:28
Post #20




SHM-1
Group Icon
Grupa: Obywatel
Postów: 317
Nr użytkownika: 7 577
Dołączył: 09-07-2008

Pewnie tylko tamte sa zbyt rozbudowane, sa dodane jeszcze czynnosci itd. Poszukam jeszcze.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Strony  1 2 >
Reply to this topicTopic OptionsStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:
 

Wersja Lo-Fi Obecna data i czas: 14-12-2019, 00:51