Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server > Flyff PServer Guides & Releases
You last visited: Today at 19:00

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Source]How to add new NPC Dialog's

Discussion on [Source]How to add new NPC Dialog's within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #1
 
elite*gold: 2
Join Date: Jul 2009
Posts: 1,447
Received Thanks: 922
[Source]How to add new NPC Dialog's

So, Hallo erstmal an alle, die hier in der Flyff welt ihre Seele verloren haben

Ich will euch heute mal zeigen wie man eigene NPC Dialoge via WorldDialog.dll + WorldDialog.txt Addet in paar einfach Schritten, damit es auch 100% jeder Kapiert.

Als erstes brauchen wie folgende daten:

- WorldDialog.txt
- character.txt.txt
- character.inc
- WorldDialog.dll (Besser: Source)
- Mathe Kenntnisse

So dann fangen wir mal an


Als erstes öffnen wir mal die "character.inc" dann sieht das am anfang so aus:
PHP Code:
//이 파일 수정 시에 절대 EditPlus를 사용하시지 마십시요.
//유니코드 부분에 충돌이 있습니다.
//메모장을 사용하여 주십시요.

/*
국가별 NPC 출력 설정 방법
SetLang( 국가 디파인 )
SetLang( 국가 디파인, 국가 서브 디파인 )
SetOutput( truth )

setLang으로 국가 설정. SetOutput으로 설정된 국가에만 NPC를 출력 할지(ture), 출력 안할지(false) 설정.
기본값은 truth임
*/

/*
국가별 MMI 출력 설정 방법
AddMenuLang( LANG_KOR, 0, MMI_XXXX )
가운데 0은 SUB LANG 
여러국가에서 나와야 하는경우엔 여러개 써야함 

AddVendorSlotLang

    설명    : AddVendorSlot( 0, IDS_CHARACTER_INC_000022 );의 확장입니다.
    사용법    : AddVendorSlotLang( LANG_JAP, 0, 0, IDS_CHARACTER_INC_000022 );
    // 뒤 2개 인자는 AddVendorSlot과 동일 하고 앞의 두개는
    // 국가 디파인, 국가 서브 디파인입니다.
... usw 
dort scrollen wir mal ganz runter, und adden einen neuen NPC mit diesem Code:
PHP Code:
MaFi_TUT_CRASY
{
    
setting
    
{
        
SetOutputfalse );
        
AddMenuMMI_DIALOG );
        
SetImage
        
(            
            
IDS_CHARACTER_INC_000864
        
);
        
m_szDialog"MaFl_Herold.txt";
    }

    
SetName
    
(
        
IDS_CHARACTER_INC_000865
    
);

So, das "MaFi_Herold.txt" könnt ihr erstmal ignorieren, das zeig ich euch in meinem nächsten tut.

Wichtig ist im moment nur:
Name = "MaFi_TUT_CRASY"
Figur = "IDS_CHARACTER_INC_000864" (könnt z.b. auch ihn als Aibatt hin haun)
IG Name = "IDS_CHARACTER_INC_000865"

als nächstes addet ihr in der "Character.txt.txt" folgendes ganz unten:

PHP Code:
IDS_CHARACTER_INC_000864    Crasy Tut NPC!
IDS_CHARACTER_INC_000865    char_Bill.tga 
Wichtig ist, das die ID hinter "INC_" genau überein stimmt mit der ID in der Character.inc, so nun habt ihr eigentlich schon die Hälfte geschafft, aber zu hauptteil kommen wir erst jetzt.

Und zwar öffnet ihr nun mal die Source, btw nicht nur ihrgend eine Source sondern die "WorldDialog71.sln" diese findet ihr im Ordner "WORLDDIALOG" in der Source, wenn ihr dies getan habt öffnet ihr an der seite (bei mir rechts) die 2 dateien "NpcScript.cpp" und die dazugehörende ".h" datei, als erstes kommen wir zu der "NpcScript.cpp" datei wenn ihr die offen habt steht am anfang erstmal nur sowas:

PHP Code:
#include "stdafx.h"
#include "NpcScript.h"

/////////////////////////////////////////////////////////////////////////////
// extern functions
/////////////////////////////////////////////////////////////////////////////
extern        void InitFunctions();
extern        PFN GetFunction( const charszFunction );

/////////////////////////////////////////////////////////////////////////////
// global variable

usw.. 
Das ist für uns aber im moment nicht wichtig.
Geht nun in dieser datei ans ende bis zu "//Script End" addet vor dem "//Script End" folgenden code:

PHP Code:
void CNpcScript::mafl_Crasy_0()
{
    
SpeakNpcId(), 1267 );
    
SetScriptTimer15 );
}

void CNpcScript::mafl_Crasy_1()
{
}

void CNpcScript::mafl_Crasy_2()
{
    
AddKey);
    
AddKey10 );
}

void CNpcScript::mafl_Crasy_3()
{

}

void CNpcScript::mafl_Crasy_4()
{
    
SayZEILE );
}

void CNpcScript::mafl_Crasy_5()
{
            
}

void CNpcScript::mafl_Crasy_6()
{

}

void CNpcScript::mafl_Crasy_7()
{

}

void CNpcScript::mafl_Crasy_8()
{

}

void CNpcScript::mafl_Crasy_9()
{
    
SayZEILE );
}

void CNpcScript::mafl_Crasy_10()
{
    
SpeakNpcId(), 1268 );
    Exit();

So, dort seht ihr "Say( ZEILE );" dies ist momentan noch nicht wichtig, dazu kommen wir später, nun ist nur wichtig das ihr in der "NpcScript.h" datei folgendes addet ganz unten vor dem "};":

PHP Code:
    void mafl_Crasy_0();
    
void mafl_Crasy_1();
    
void mafl_Crasy_2();
    
void mafl_Crasy_3();
    
void mafl_Crasy_4();
    
void mafl_Crasy_5();
    
void mafl_Crasy_6();
    
void mafl_Crasy_7();
    
void mafl_Crasy_8();
    
void mafl_Crasy_9();
    
void mafl_Crasy_10(); 
so nun öffnet ihr mal die "WorldDialog.txt" datei und addet ganz unten das, was euer NPC sagen soll, ich nehme nun mal einfach "Hallo, mein Name ist: Crasy" und als 2. adde ich darunter "Wie lautet dein Name?" dann sollte das einfach mal so aussehen:
PHP Code:
Hallomein Name istCrasy
Wie lautet dein Name

ihr dürft es nicht hinter einander schreiben!

Okay, jetzt geht ihr auf den text "Hallo, mein Name ist: Crasy" oder einfach euern 1. Text, wenn ihr das habt macht ihr mal "STRG + G" dann bekomt ihr eine Zeile angezeigt, in meinem Fall sind das die "1251" und "1252", jetzt gehen wir mit diesen 2 zeilen wieder zurück zu unserer "NpcScript.cpp" und da seht ihr, das ich 2x "Say( ZEILE)" addet habe, diese ersetzt ihr nun durch:
PHP Code:
Say(1251und Say(1252
So, ihr habt es eigentlich geschafft, alles speichern und die WorldDialog Compilen, ihr den Res ordner ziehen und fertig, schon kann euer NPC Reden

Hier noch paar Codes, für die, die nicht auf den lw text stehen:

PHP Code:
#b = Ihr schreibt Fett
#FarbCode = Farbig schreiben, format: Hex
#i = Euer Text ist unterstrichen 
Wer noch, will, das der NPC den text wo ihr wollt öfters Say't dann müsst ihr
PHP Code:
SetScriptTimer15 ); 
zu 
SetScriptTimer
10 ); 
ändern, und der NPC ist schneller

Wer Probleme o. Fragen hat, kann die hier o. per PN stellen.

Ich werde bald auch ein Tut schreiben wo wir "Speak, AddKey" behandeln, bin im moment zu Müde dafür

Öhm ja, hier noch Credits:

Found + Geschrieben von: Crasy 100%
Wachhalten + Unterhaltung: Cross, danke auch dafür

So, das wars erstmal bis später.

Mfg euer Crasy
.Crasy is offline  
Thanks
9 Users
Old 03/11/2011, 04:36   #2

 
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
nice tut
auch wenns auf dauer an die nerven geht die agnzen v16 dialoge zu adden^^

greetings
©ross is offline  
Old 03/11/2011, 07:24   #3
 
elite*gold: 0
Join Date: Feb 2011
Posts: 28
Received Thanks: 9
Quote:
Originally Posted by ©ross View Post
nice tut
auch wenns auf dauer an die nerven geht die agnzen v16 dialoge zu adden^^

greetings
Sollte kein Problem sein mit etwas Ausdauer und verlust zur Realität dürfte es schon schnell gehen

@Topic: Nice TuT weiter so!


Gruß Die [Banane]
[Banane] is offline  
Old 03/11/2011, 09:22   #4

 
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
@Crasy: die unterscheidung, ob WorldShout oder im Dialog fenster solltest du hervorheben/erklären (ganz vergessen^^)

und auch wie zb
Speak( NpcId(), 1267 );

diese 1267 zustande kommt.

Klar kann mans sehn aber gehört zu nem Tut dabei^^
©ross is offline  
Old 03/11/2011, 09:33   #5
 
Tbyte's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 190
Received Thanks: 46
gut erklärt, verständlich und übersichtlich
Tbyte is offline  
Old 03/11/2011, 14:24   #6
 
elite*gold: 0
Join Date: Mar 2010
Posts: 96
Received Thanks: 17
sehr interessant...
habs getestet und leuft gut
Funnny94 is offline  
Old 03/11/2011, 14:45   #7

 
Flyff_Service's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 680
Received Thanks: 337
Gutes tut, aber wenn du nur AddKey(9); AddKey(10); schreibst ist mehr als die hälfte der Funktionen unnötig^^
Flyff_Service is offline  
Old 03/11/2011, 15:43   #8



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
Einiges hast du vergessen =)

Zb wann welcher dialog auftritt, welche bedingung wo wie gesetzt wird.
Im Source part zu schreiben ist easy, doch diesen ingame richtig darzustellen, ist mancham nicht so.
Sedrika is offline  
Old 03/11/2011, 20:01   #9
 
elite*gold: 2
Join Date: Jul 2009
Posts: 1,447
Received Thanks: 922
Quote:
Originally Posted by ©ross View Post
@Crasy: die unterscheidung, ob WorldShout oder im Dialog fenster solltest du hervorheben/erklären (ganz vergessen^^)

und auch wie zb
Speak( NpcId(), 1267 );

diese 1267 zustande kommt.

Klar kann mans sehn aber gehört zu nem Tut dabei^^
Das ist tut 1 von 3 zu WorldDialog :s

Und auserdem war ich da Müde und hab es durch Zufall gefunden und schnell halt das tut geschrieben

Klar mach ich noch Speak und so, aber alles nach dem anderen :S
.Crasy is offline  
Old 09/12/2012, 23:42   #10
 
miguelmig's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 113
Received Thanks: 44
Anyone could translate that into English?
miguelmig is offline  
Old 09/13/2012, 15:12   #11



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
Arrow Flyff PServer - Discussions / Questions -> Flyff PServer Guides & Releases

#moved
Sedrika is offline  
Old 09/19/2012, 21:49   #12
 
'P!nkBeatzz''s Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 1,489
Received Thanks: 255
Gutes TuT
'P!nkBeatzz' is offline  
Reply


Similar Threads Similar Threads
[TuT]Dialoge ändern
01/04/2011 - Flyff Private Server - 19 Replies
Hayy liebe E*pvpers, in diesem TuT zeige ich euch wie Ihr die Dialoge von NPC ändern könnt. Dialog in der Sprechblase Als erstes startet Ihr euren Server und sucht euch einen NPC, dessen Dialog ihr ändern wollt.
[TuT]NPC Dialoge ändern
12/14/2010 - Flyff Private Server - 2 Replies
Hallo Leute, Ich werde euch heute mal etwas nicht wirklich besonderes schweres zeigen. Und zwar werde ich euch zeigen wie man zum Beispiel vom Buff Pang den Ingame Text ändert! Standart sagt der glaube ich: "Neulinge,kommt bitte zu mir!" oda so ähnlich!"
[How To]Metin2 Npc Dialoge/Quests Übersetzen
07/29/2010 - Metin2 PServer Guides & Strategies - 44 Replies
Hi, Ich zeige euch hier wie man die Quests auf seinem eigenen Server übersetzt und Dialaoge auch. Ihr geht in eure Serverfiles, da müsste ein Ordner Namens Quest da sein geht da rein. Also ich mache hier mal ein beispiel quest fisher begin state start begin when 9009.chat."¨Ï¥Î°Ó©±" begin npc.open_shop() setskin(NOWINDOW)
Alle Quests+Npc Dialoge weg oO
11/06/2009 - Metin2 Private Server - 13 Replies
Ich habe meinen Objektordner gelöscht jetzt sind alle Npcdialoge und Quests weg wie kann ich die wiederherstellen?
Windows-Standard Dialoge
02/02/2008 - Technical Support - 3 Replies



All times are GMT +2. The time now is 19:00.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.