[G2:NK]Easy dialog maker-czyli jak łatwo stworzyć dialog+zadanie 11730 6

O temacie

Autor Graveir

Zaczęty 29.05.2010 roku

Wyświetleń 11730

Odpowiedzi 6

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Postanowiłem napisać ten tutorial(albo raczej taki mini-artykuł),który wyjaśni wszystkie problemy,które pojawiają się po stworzeniu dialogu i zadania.A więc krótki wstęp:
Easy dialog maker 3.1 to program stworzony przez Bucika bardzo ułatwiający tworzenie dialogów,a co za tym idzie również zadań.Każdy,kto ma problemy ze zrozumieniem tutoriali na temat tworzenia dialogów i zadań powinien zapoznać się z tym programem.
A więc na początek musimy ściągnąć ten program(jest w 3 wersjach językowych,w tym polskiej).Program jest na forum w dziale download->programy.Można go wypakować gdzie się chce.Zrobię kilka screenów,bo nie chce mi się wszystkiego przepisywać.
A więc 1 co widzimy po uruchomieniu programu:

Panel główny-tutaj jedynie co zmieniamy to:
opcja kradzieży u npc'a,
[description]nazwę opcji dialogowej,czyli np.w menu wyboru opcji dialogowej będzie "1.Kim jesteś?"
kod postaci,
do której części gothica tworzymy dialog
 [important]to,czy npc ma sam do nas zagadać(opcja true),sami mamy zagadać(opcja false),[pernament]czy daną opcję dialogową możemy wybierać cały czas lub tylko jeden(opcja false=jeden raz,true=aż do śmierci^^)
[Trade]czyli czy możemy handlować z tą postacią(ja tego nie preferuję,no ale każdy zrobi co chce)
No to teraz drugie okienko-warunki.Tutaj akurat po najechaniu nad daną opcję wszystko jest ładnie opisane,więc wrócę do tego okna przy tłumaczeniu,jak zrobić własne zadanie"

Teraz 3 zakładka(i ostatnia,którą omawiam,a gdyby ktoś chciał zaktualizować o zakładkę 4,czyli choices to niech pisze w tym temacie)-rozmowa.I tu zaczynają się jaja:P

Dobra no to przechodzimy teraz do konkretów.
F1 służy do przełączania rozmówcy.Możemy wpisać dużo dialogów,ale tak na próbę polecam od 4-6 dialogów podczas 1 opcji dialogowej.
Klikając na "Dodaj czynność do dialogu"dochodzimy do najlepszej funkcji programu,czyli do tworzenia zadań.
Spróbuję w skrócie objaśnić co i jak,a na końcu wkleję swój skrypt(w pełni działający!).
A więc 1 zakładka to "Daj przedmiot".Tutaj jest opcja dawania przedmiotu npc'owi bądź otrzymania od npc'a.Klikając w "..." możemy wybrać jaki przedmiot mamy otrzymać/przekazać oraz jego ilość.Za każdym razem,jeśli chcemy dodać przedmiot to musimy dać "..."i opcję "Dodaj"
Druga zakładka to opcje zadania-tutaj zaczynają się schody,ponieważ po stworzeniu zadania i tak musimy sami przerobić plik.A więc aby zacząć zadanie wybieramy pozycję "Rozpocznij".
W nazwie zadania wpisujemy obojętnie jaką nazwę(bez polskich znaków i odstępów!)czyli np.możemy wpisać Diego_Miecz.Obok jest opcja premia doświadczenia-tutaj polecam odznaczyć tę opcję(przynajmniej przy pierwszym dialogu)bo inaczej za samą rozmowę dostajemy podaną ilość doświadczenia.
Treść wpisu do dziennika-tutaj już możemy użyć polskich znaków,odpowiada za wpis,który się pokazuje po naciśnięciu na nazwę zadania oraz to,co tam jest napisane.
Teraz przejdę do niższej "opcji"czyli "Wpis do LOG_Constants".Tutaj mamy do wyboru między innymi:
Wyświetlana nazwa zadania-czyli jaka będzie pokazana w grze(można używać polskich znaków).Po wpisaniu nazwy generujemy wpis i ręcznie(!)kopiujemy go do LOG_Constants_Mattes.Później klikamy na "Dodaj"i dzięki temu mamy rozpoczęte zadanie.Od razu napiszę co musimy skasować,bo w sytuacji,kiedy to mamy,wyskakuje w cholerę błędów.A więc po stworzeniu zadania mamy takie coś:
var int MIS_Diego_Miecz;
    MIS_Diego_Miecz = LOG_RUNNING;

    Log_CreateTopic            (TOPIC_Diego_Miecz, LOG_MISSION);
    Log_SetTopicStatus       (TOPIC_Diego_Miecz, LOG_RUNNING);
    B_LogEntry                     (TOPIC_Diego_Miecz,"Kapłanka Verssi zleciła mi zadanie znalezienia 10 starych monet.");
Usuwamy "var int MIS_Diego_Miecz oraz MIS_Diego_Miecz= LOG_RUNNING).Po usunięciu tego nie będzie błędów związanych z tworzeniem zadań.
Teraz tworzymy następny dialog,w którym damy zakończenie zadania.Czyli wchodzimy w warunki i:
Wybieramy pozycję "Jeśli z kimś rozmawialiśmy"i tam powinniśmy wpisać opcję dialogową,która zapoczątkowała zadanie(czyli np.Jeśli zadanie zapoczątkowało się w DIA_Diego_HELLO1 to w wolne miejsce wpisujemy DIA_Diego_HELLO1).Jeśli mieliśmy przynieść jakiś przedmiot npc'owi to wybieramy następnie opcję "Jeśli mamy przedmiot"i wybieramy other(czyli bohater musi mieć go w ekwipunku),później wybieramy instancję przedmiotu klikając w "..."bądź wpisując własną(np.ja mam zbroję z gothica 1 i ustawiłem sobie kod na przyzwanie pancerza Ore_Armor_M)a następnie wpisujemy,ile przedmiotów musimy mieć,by zakończyć zadanie.Po wybraniu wszystkiego dajemy dodaj i przechodzimy do panelu głównego,a następnie dajemy dodaj opcję dialogową i zapisujemy skrypt.
I teraz najważniejsze-program "rozwala"skrypty więc musimy sami co nieco pozmieniać(szczególne podziękowania dla Jendrzejsa,ponieważ to on mnie o tym uświadomił).
Teraz wkleję dwa skrypty dialogu-jeden nie powodujący błędów i jeden powodujący błędy.
Najpierw zacznę od tego z błędami:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Ash_EXIT(C_INFO)
{
npc = VLK_1009_Ash;
nr = 999;
condition = DIA_Ash_EXIT_Condition;
information = DIA_Ash_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};

FUNC INT DIA_Ash_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO1
//========================================

INSTANCE DIA_Ash_HELLO1 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 1;
   condition = DIA_Ash_HELLO1_Condition;
   information = DIA_Ash_HELLO1_Info;
   permanent = FALSE;
   description = "Kim jesteś?";
};

FUNC INT DIA_Ash_HELLO1_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_HELLO1_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO1_15_01"); //Kim jesteś?
AI_Output (self, other ,"DIA_Ash_HELLO1_03_02"); //Człowiekiem.
AI_Output (other, self ,"DIA_Ash_HELLO1_15_03"); //A co robisz?
AI_Output (self, other ,"DIA_Ash_HELLO1_03_04"); //Pierdzę.

};

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Ash_HELLO2 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 2;
   condition = DIA_Ash_HELLO2_Condition;
   information = DIA_Ash_HELLO2_Info;
   permanent = FALSE;
   description = "Masz dla mnie jakieś zadanie?";
};

FUNC INT DIA_Ash_HELLO2_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_HELLO2_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO2_15_01"); //Masz dla mnie jakieś zadanie?
AI_Output (self, other ,"DIA_Ash_HELLO2_03_02"); //No pewnie.Przynieś mi piwo.
AI_Output (other, self ,"DIA_Ash_HELLO2_15_03"); //Ok postaram się.
AI_Output (self, other ,"DIA_Ash_HELLO2_03_04"); //Tylko się pośpiesz!
var int MIS_Piwo_Asha;
MIS_Piwo_Asha = LOG_RUNNING;

Log_CreateTopic (TOPIC_Piwo_Asha, LOG_MISSION);
Log_SetTopicStatus   (TOPIC_Piwo_Asha, LOG_RUNNING);
B_LogEntry (TOPIC_Piwo_Asha,"Mam przynieść piwo.");

};

//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Ash_HELLO3 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 3;
   condition = DIA_Ash_HELLO3_Condition;
   information = DIA_Ash_HELLO3_Info;
   permanent = FALSE;
   description = "Mam piwo.";
};

FUNC INT DIA_Ash_HELLO3_Condition()
{
if (Npc_KnowsInfo (other, DIA_Ash_HELLO2))
&& (Npc_HasItems (other, ItFo_Beer) >=1)
{
return TRUE;
};
};


FUNC VOID DIA_Ash_HELLO3_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO3_15_01"); //Mam piwo.
AI_Output (self, other ,"DIA_Ash_HELLO3_15_02"); //To dawaj.
AI_Output (other, self ,"DIA_Ash_HELLO3_15_03"); //Trzymaj.
AI_Output (self, other ,"DIA_Ash_HELLO3_03_04"); //Jednak na coś się przydałeś.

B_GiveInvItems (other, self, ItFo_Beer, 1);
CreateInvItems (self, ItMi_Gold, 50);
B_GiveInvItems (self, other, ItMi_Gold, 50);
B_LogEntry (TOPIC_Piwo_Asha,"Przyniosłem piwo Ashowi.");
Log_SetTopicStatus   (TOPIC_Piwo_Asha, LOG_SUCCESS);
MIS_Piwo_Asha = LOG_SUCCESS;

B_GivePlayerXP (500);
AI_StopProcessInfos (self);

};



// *Script was make in Easy Dialog Maker (EDM)
Po wklejeniu poprawnego napiszę,co powodowało błędy.
Czyli teraz poprawny:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Ash_EXIT(C_INFO)
{
npc = VLK_1009_Ash;
nr = 999;
condition = DIA_Ash_EXIT_Condition;
information = DIA_Ash_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};

FUNC INT DIA_Ash_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO1
//========================================

INSTANCE DIA_Ash_HELLO1 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 1;
   condition = DIA_Ash_HELLO1_Condition;
   information = DIA_Ash_HELLO1_Info;
   permanent = FALSE;
   description = "Kim jesteś?";
};

FUNC INT DIA_Ash_HELLO1_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_HELLO1_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO1_15_01"); //Kim jesteś?
AI_Output (self, other ,"DIA_Ash_HELLO1_03_02"); //Człowiekiem.
AI_Output (other, self ,"DIA_Ash_HELLO1_15_03"); //A co robisz?
AI_Output (self, other ,"DIA_Ash_HELLO1_03_04"); //Pierdzę.

};

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Ash_HELLO2 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 2;
   condition = DIA_Ash_HELLO2_Condition;
   information = DIA_Ash_HELLO2_Info;
   permanent = FALSE;
   description = "Masz dla mnie jakieś zadanie?";
};

FUNC INT DIA_Ash_HELLO2_Condition()
{
return TRUE;
};

FUNC VOID DIA_Ash_HELLO2_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO2_15_01"); //Masz dla mnie jakieś zadanie?
AI_Output (self, other ,"DIA_Ash_HELLO2_03_02"); //No pewnie.Przynieś mi piwo.
AI_Output (other, self ,"DIA_Ash_HELLO2_15_03"); //Ok postaram się.
AI_Output (self, other ,"DIA_Ash_HELLO2_03_04"); //Tylko się pośpiesz!

Log_CreateTopic (TOPIC_Piwo_Asha, LOG_MISSION);
Log_SetTopicStatus   (TOPIC_Piwo_Asha, LOG_RUNNING);
B_LogEntry (TOPIC_Piwo_Asha,"Mam przynieść Ashowi piwo");

};

//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Ash_HELLO3 (C_INFO)
{
   npc = VLK_1009_Ash;
   nr = 3;
   condition = DIA_Ash_HELLO3_Condition;
   information = DIA_Ash_HELLO3_Info;
   permanent = FALSE;
   description = "Mam piwo.";
};

FUNC INT DIA_Ash_HELLO3_Condition()
{
if (Npc_KnowsInfo (other, DIA_Ash_HELLO2))
&& (Npc_HasItems (other, ItFo_Beer) >=1)
{
return TRUE;
};
};


FUNC VOID DIA_Ash_HELLO3_Info()
{
AI_Output (other, self ,"DIA_Ash_HELLO3_15_01"); //Mam piwo.
AI_Output (self, other ,"DIA_Ash_HELLO3_03_02"); //To dawaj.
AI_Output (other, self ,"DIA_Ash_HELLO3_15_03"); //Trzymaj.
AI_Output (self, other ,"DIA_Ash_HELLO3_03_04"); //Jednak na coś się przydałeś.
AI_Output (self, other ,"DIA_Ash_HELLO3_03_05"); //Masz w nagrodę 50 sztuk złota.
B_LogEntry (TOPIC_Piwo_Asha,"Przyniosłem piwo Ashowi");
Log_SetTopicStatus   (TOPIC_Piwo_Asha, LOG_SUCCESS);

   B_GivePlayerXP (500);
B_GiveInvItems (other, self, ItFo_Beer, 1);
CreateInvItems (self, ItMi_Gold, 50);
B_GiveInvItems (self, other, ItMi_Gold, 50);

};
No więc co było problemem w tym pierwszym skrypcie?Pozwólcie,że wymienię:
W HELLO2 problemem były dwie linijki czyli:
var int MIS_Piwo_Asha;
    MIS_Piwo_Asha = LOG_RUNNING;
Tego nie powinno być.
W HELLO3 natomiast problemy sprawiały 2 linijki:
MIS_Piwo_Asha = LOG_SUCCESS;
Oraz na samym końcu // *Script was make in Easy Dialog Maker (EDM)-te linijki uniemożliwiały stworzenie/dodanie dialogów i zadań w grze.Czyli po stworzeniu dialogów,a więc i zadań kasujemy z pliku następujące linijki:
// *Script was make in Easy Dialog Maker (EDM)
MIS_Piwo_Asha = LOG_SUCCESS;
var int MIS_Piwo_Asha;
    MIS_Piwo_Asha = LOG_RUNNING;
Po tym pozostaje skopiować np.na pulpit plik dialogu jakiejś innej osoby(np.harada),skopiować(oczywiście przy otwartym notatniku,zakładając,że go używamy do edycji skryptów itp.)oraz wkleić swój poprawny dialog,a następnie zmienić nazwę np.z DIA_VLK_412_Harad na DIA_VLK_1009_Ash.Teraz podam mój sposób na to,by dialogi wraz z zadaniem były w grze:
Uruchamiamy spacera i dajemy World->Reparse Script i wybieramy plik gothic.src.Jak skończy naprawianie skryptów,to wyłączamy spacera i uruchamiamy go ponownie.Później kasujemy pliki ou.bin i ou.scsl z folderu cutscene i w oknie spacera wybieramy update i czekamy aż skończy aktualizację,po czym dajemy save.Taka mała uwaga(być może u mnie tylko są z tym problemy,ale tak na przyszłość).Mi się zdarza przy aktualizacji zawiesić spacer całkowicie i nic nie można zrobić jak tylko w menadżerze zadań wybrać "Zakończ proces".Więc ja mam na to taki sposób:
Uruchamiam spacera i wybieram repars script(plik gothic.src),a po naprawie wyłączam go i włączam ponownie.Następnie daję update,a jak mi się zatnie to daję "Zakończ proces"i znowu po uruchomieniu spacera daje opcję reparse script i update(i tak dopóki się nie zaktualizuje bez zawieszania).Po wszystkim w programie Gothic VDFS tworzymy paczkę z modem(dodajemy do niej pliki gothic.dat i ou.bin).Po wszystkim uruchamiamy grę z opcją reparse script(oczywiście wybieramy z gothic startera własny mod)i...szukamy npc'a bądź przyzywamy go kodem i się cieszymy z naszych własnych dialogów i zadań:)

Do moderatorów/adminów-jeśli był podobny temat to przepraszam,ale pomyślałem,że napiszę tutorial do tego programu(i od razu jak stworzyć moda^^),ponieważ to jest łatwiejszy sposób na stworzenie dialogów(jedynie wymaga niewielkiej poprawy po stworzeniu skryptu w programie).I jeszcze jedna prośba do was o wielcy moderzy/admini-nie zamykajcie tego tematu,bo jak ktoś będzie miał problemy,to niech tutaj pisze(w tym temacie).
Kopiowanie dozwolone,wpiszcie tylko mnie jako autora/współautora.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Nie musiałeś się wysilać. Każdy dobry modder zna się na takich błędach i dla nich to jest pestka a co do Programu to powiem tak.

Jest tak prosty w obsłudze, że poradnika do tego nie trzeba. A po drugie jeżeli jesteś prawdziwym modderem to potrafisz napisać skrypt własno ręcznie a nie programem. Programy to mi się wydaje, że to są dla dzieci które nie potrafią niczego zrozumieć i w końcu muszą wygenerować ten skrypt w programie. ?_Bez obrazy Bucik ;p _?

Za poradnik 4/10 bo jednak coś tak w końcu napisałeś, ale na pradę nie trzeba było :P

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Ja dopiero próbuję tworzyć mody^^A programik może się przydać w celu poznania"mechanizmu"tworzenia dialogów i zadań:)Później po poznaniu mechanizmu można samemu pisać,ale to dopiero jak się jest pro moderem:p
Edit:Mała dopiska do tutoriala.
Warunek if (Npc_IsDead(nazwa npca))ewentualnie jeśli chcemy np.stworzyliśmy zadanie z zabiciem 10 ścierwojadów to wpisujemy scavenger np:
if (Npc_IsDead(scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
&& (Npc_IsDead(Scavenger))
Następna sprawa to jeśli chcemy,by dialog się pojawił dopiero po wykonaniu zadania(za pomoc jak zwykle jestem wdzięczny Adanosowi).Musimy do story_globals wpisać
var int MIS_Young_Wolfw miejsce Young_Wolf wpisujemy nazwę zadania(np.jak ktoś stworzył zadanie o nazwie Piwo_Menela to wpisuje MIS_Piwo_Menela)
Następnie do B_CloseTopics_Mattes wpisujemy:
B_CloseTopic (Topic_Young_Wolf,MIS_Young_Wolf,0, 6);B_CloseTopic musi być niezmienione.Czyli z przykładu Piwa_Menela powinno to wyglądać tak:
B_CloseTopic (Topic_Piwo_Menela, MIS_Piwo_Menela, 0, 6); najlepiej dać spację między Topic i Mis oraz liczbami).
Aha i nie zapomnijcie po tym wstawić; (średnik).
Edit2:Jeszcze nie próbowałem tego,ale być może to powoduje wpis nie do zadań tylko do informacji ogólnych.
const string Topic_Wrzód_Spotkanie   =   "Spotkanie z Wrzodem";To akurat wklejamy do LOG_Constants_Notes.Jak znajdę jeszcze coś to napiszę.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bucik

Bucik

Użytkownicy
posty182
Propsy128
Profesjabrak
  • Użytkownicy
Starsze wersje Easy Dialog Makera mają kilka błędów - zapraszam do pobierania nowej, poprawionej wersji Easy Dialog Maker 3.2v

Trochę ludzi pobrało programik tzn. że albo mamy samych 'noobów' na TM (nikomu nie ubliżając) albo program się przydaje ;]
 

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o 'Pro Moderach', skoro jak sam przyznałeś nie wiesz jeszcze czym jest modding. Zrozumcie wreszcie, że skryptowanie polega na 'ogarnięciu' myślenia programistycznego, a nie przepisywaniu kodu z tutoriali bez pomyślenia choćby raz co dany fragment kodu oznacza.
 

Jasina

Jasina

Użytkownicy
posty5
  • Użytkownicy
1 pytanie o co chodzi z opcją instancja NPC?
 

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Cytat: Sulejman link=topic=10231.msg114236#msg114236#msg114236#msg114236 date=1286733359
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o #msg114236#msg114236#msg114236#msg114236 date=1286733359]
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o Pro Moderach#msg114236#msg114236#msg114236#msg114236 date=1286733359]
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o , skoro jak sam przyznałeś nie wiesz jeszcze czym jest modding. Zrozumcie wreszcie, że skryptowanie polega na #msg114236#msg114236#msg114236#msg114236 date=1286733359]
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o ogarnięciu#msg114236#msg114236#msg114236#msg114236 date=1286733359]
Powiem dosadniej - pierdolisz Pragasek. Program przyspiesza pracę i jeśli chcesz się dowartościować pisaniem dialogów ręcznie to proszę bardzo, ale nie gadaj, że jak ktoś korzysta z programu, bo nie ma czasu na ręczne przepisywanie to jest marnym skrypterem, bo się grubo mylisz - większość osób, korzystających z Easy Dialog Makera zapewne umie tworzyć dialogi także ręcznie, ale ma na tyle rozumu, żeby zdać sobie sprawę z tego, jak nieopłacalne to jest pod względem czasowym. Bardziej skomplikowane elementy dialogu i tak musisz pisać ręcznie, a jak już mówiłem przepisywanie w kółko tego samego nie czyni z kogoś skryptera. Za ewentualne błędy stylistyczne przepraszam - jest niedziela i mam prawo nie zwracać uwagi na sposób pisania ;)

@BeziHero Proszę Cię bardzo, nie wyjeżdżaj tu z tekstami o  myślenia programistycznego, a nie przepisywaniu kodu z tutoriali bez pomyślenia choćby raz co dany fragment kodu oznacza.
Eee gdzie ja pisałem coś o "Pro moderach"?I nie wiem o co ci chodzi z tym skryptowaniem,ale to dlatego,że jestem mało kumaty;]
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry