Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 13:52

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

Advertisement



[Text Tutorial] Neuer Tauschhändler

Discussion on [Text Tutorial] Neuer Tauschhändler within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #1
 
rädsun's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 443
Received Thanks: 170
[Text Tutorial] Neuer Tauschhändler

Hallo ePvPers,
ich möchte Euch heute mal zeigen, wie man einen neuen Tauschhandel NPC einfügt.

Quote:
Was alles beschrieben wird in dem Tutorial:
- Wie man einen NPC aufstellt
- Wie man diesem einen Namen gibt
- Wie man diesem NPC das Tauschhandelsmenü zuordnet
- Wie man den Inhalt der Tausche definiert (ja das Wort Tausche ist der Plural von Tausch XD)
Quote:
Was wir benötigen:

- dyoManager []
- Exchange_Script.txt
- character.inc
- character.txt.txt
- textClient.inc
- propMover.txt
- propMover.txt.txt
- defineObj.h
- propItem.txt
- propitem.txt.txt
Wir beginnen, indem wir einen neuen X-beliebigen NPC aufstellen.
Dazu öffnen wir unseren DyoManager und und gehen auf "File" und dann auf "Open". Wir gehen in den Resource Ordner (!! Wichtig !! dass es der Resource Ordner und nicht der Client ist, NPCs sind Serverside!)> World und öffnen den "Wd Ordner" der jeweiligen Welt. Dort wird sich eine Datei namens "WdXYZ.dyo" befinden.
Diese öffnen wir durch einen Doppelklick.
Möglicherweise sind dort (je nach World) schon einige NPCs eingetragen, das macht aber nichts.
Das Ganze könnte so aussehen:

Quote:
5
180
0
0
0
6947
100
3217
0
1
1
5
984
-1
0
2
MaFl_TestNPC
1
0
----------
5
0
0
0
0
7940,799
159,0761
2405,927
1
1
1
5
220
-1
0
2
MaFl_DrEstern
1
0
----------
-1
Die "-1" muss ganz zum Schluss unter dem Bindestrichen des letzten definierten NPCs der Map stehen, ohne diese werden die NPCs nicht gespawnt.

Wir nehmen uns zur Definition der Zahlen mal einen NPC, d.h. bis zum "----------" vor.

Quote:
5
180
0
0
0
6947
100
3217

0
1
1
5
984
-1
0
2
MaFl_TestNPC
1
0
----------
Die °Zahl, bzw. die Richtung, in die der NPC schaut.
Die Koordinaten des NPCs, bzw. wo er sich auf der Map befinden soll
Die Model ID des NPCs (wo man diese findet, später mehr)
Der Definitionsname des NPCs (nicht der inGame Name)
Zeigt an, dass hier die Definition des NPCs endet, darunter beginnt die eines Anderen.

So, da wir das nun wissen, gehen wir in FlyFF inGame, suchen uns den Standort des NPCs heraus und drücken 1x die Taste "9". Damit ist die jetzige Position in der Datei "Postion.txt" gespeichert, welche sich im Client finden lässt.
Jetzt müssen wir uns überlegen, wie der NPC ausschauen soll.
In meinem Beispiel möchte ich einen NPC, der wie ein Giant Aibatt aussieht. Dazu öffne ich nun die Datei "propMover.txt.txt" und suche nach
Quote:
Giant Aibatt
und kopiere mir den nebenstehenden Code:
Quote:
IDS_PROPMOVER_TXT_000012
Danach öffne ich die propMover.txt und suche nach der kopierten ID.
Ich finde dann
Quote:
MI_AIBATT4
Dieses "MI_AIBATT4" kopiere ich mir wiederum und gehe in die Datei "defineObj.h" und suche danach.
Quote:
#define MI_AIBATT4 71
Model ID

Die Model ID des Giant Aibatts ist also 71.

Nun öffnen wir wieder unseren DyoManager und darin die jeweilige "WdMAPNAME".dyo Datei.
und tragen alles ein.

Quote:
5
180
0
0
0
6947
100
3217

0
1
1
5
71
-1
0
2
MaFl_Tauschhandel
1
0
----------
Einen Namen können wir uns aussuchen. Ich nehme "MaFl_Tauschhandel", die ID des Models haben wir bereits gefunden und die Koordinaten finden wir in der Datei "Postion.txt". Bei der °Zahl rate ich Euch auszuprobieren, da man dafür logisch denken muss um von vorne rein die "richtige" °Zahl hinzubekommen. Man kann diese ja immer noch ändern.

Wir speichern alles ab. Damit steht der NPC schonmal "dumm und doof" ohne irgendetwas zu können.

Da wir dies ändern wollen, machen wir uns nun an die Datei "Exchange_Script.txt"
Sobald wir diese geöffnet haben, sieht das eventuell so aus
(Ich nehme einfach das erste Tauschevent mit dem ersten Tausch als Beispiel

Quote:
MMI_EVENT_MAY //5¿ù À̺¥Æ®
{
// À̺¥Æ® ¼³¸í
DESCRIPTION
{
TID_GAME_EVENT_MAY_TEXT01
TID_GAME_EVENT_MAY_TEXT02
TID_GAME_EVENT_MAY_TEXT03

}

// ¸®½ºÆ® ¼³¸í
SET TID_GAME_EVENT_MAY_COND01
{
//¸Þ½ÃÁö ³»¿ë
RESULTMSG
{
TID_GAME_EVENT_MAY_COND01_SUCCESS // ¼º°ø
TID_GAME_EVENT_MAY_COND01_FAIL // ½ÇÆÐ

}
//Á¶°Ç
CONDITION
{
//¾ÆÀÌÅÛ ID °¹¼ö
II_SYS_SYS_EVE_HAPPYMONEY01 30000
}
//»èÁ¦
REMOVE
{
II_SYS_SYS_EVE_HAPPYMONEY01 30000
}
//Áö±Þ Áö±Þ°¹¼ö
PAY 1
{
//¾ÆÀÌÅÛ ID °¹¼ö È®·ü(n/1000000)
II_RID_RID_STI_BIKE2 1 1000000
}
}
Eventname (wichtig, um das Event für den jeweiligen NPC einzustellen)
Eventbeschreibung, die in einem extra Textfensterabschnitt beim Öffnen des "Tauschhandelsladens" angezeigt wird
Beschreibung für den ersten Tausch; hier beginnen die Tauschoptionen für den 1ten Tausch
Hier wird beschrieben, welcher Text angezeigt werden soll, wenn der 1. der Tausch erfolgreich war / 2. der Tausch fehlschlug.
Hier wird beschrieben, was benötigt wird um den Tausch durchzuführen (Definitionsitemname), die Zahl dahinter ist die Itemanzahl
Hier wird beschrieben, was aus dem Inventar bei dem Tausch entfernt wird, die Zahl dahinter ist die Itemanzahl
Hier wird beschrieben, was von dem Npc ausgezahlt wird, um den Tausch zu begleichen
Die "1" steht für "Das Item wird 1x ausgezahlt"
Die Zahl 1MIO (1000000) steht für "Wird zu 100% ausgezahlt" - Man kann dies auch verstellen, das ist einem selbst überlassen, die jeweiligen Wahrscheinlichkeiten für 20, 50% oder X-Prozent kann man sich ja selbst ausrechnen.


So, wir beginnen:
Zunächst einmal möchten wir den Text für den Tauschhandelsladen definieren. Dazu kopieren wir uns den Textclient Code:
Quote:
TID_GAME_EVENT_MAY_TEXT01
Mit diesem im Gepäck suchen wir in der Datei "textClient.inc" danach.
Wir finden:
Quote:
TID_GAME_EVENT_MAY_TEXT01 0xffffffff
{
IDS_TEXTCLIENT_INC_001706
Farbe des Anzeigetextes in HTML
Die Stelle für die textClient.txt.txt

Wir kopieren uns den IDS_TEXTCLIENT Code und suchen in der Datei "Textclient.txt.txt" danach. Wir können den hier beschrieben Text nun beliebig umändern. Beispielsweise so:
Quote:
Hallo und Willkommen in meinem Tauschhandelsladen, viel Spaß beim Einkaufen!
Wir speichern ab und sind damit fertig (Die anderen Texte können wir natürlich nach dem gleichen Verfahren auch bearbeiten).

Nun zu dem "Namen" für das erste Handelsangebot. Dieses definieren wir nach dem gleichen Prinzip wie bei der "Willkommensnachricht" des Tauschhandelsladens.
- SET TID_GAME_EVENT_MAY_COND01 kopieren
- in der Datei textClient.inc danach suchen
- IDS_TEXTCLIENT Code kopieren
- in der Datei "textClient.txt.txt" danach suchen
- Beliebig ersetzen

Und dreimal darf man raten, das selbe gilt auch für die Fail / Succes Nachrichten.

Kommen wir nun zum Bearbeiten des eigentlichen Handels.
Vorab: Ich möchte das ganze als Beispeil so einstellen, dass man für 100 Fire B Karten zu einer 100%tigen Wahrscheinlichkeit eine Fire A Karte bekommt. Ihr könnt natürlich in jeglicher Art und Weise kreativ sein mit Euren Tauschangeboten^^

Als erstes bearbeiten wir die CONDITION. D.h., was wir benötigen für den Handel. In meinem Fall 100 Fire B Karten.
Wir öffnen die propitem.txt.txt und suchen nach "Fire Card (B)" und finden hierzu den IDS_PROPITEM Code
Quote:
IDS_PROPITEM_TXT_009462
Mit diesem nun ab in die "Propitem.txt". Wir suchen danach und finden die Definition des Items "Fire Card (B)":
Quote:
II_GEN_MAT_ELE_CANDLEC
Dieser wird an der CONDITION Stelle natürlich eingefügt, dahinter die Mengenzahl, in meinem Fall "100".

Soweit so gut. Weiter mit dem, was bei dem Handel aus dem Inventar genommen werden soll. In diesem Fall eben auch wieder "100 Fire Card (B)". Das Ganze schaut also so aus:
Quote:
REMOVE
{
II_GEN_MAT_ELE_CANDLEC 100
}
Zu guter Letzt wird definiert, was der nette NPC auszahlen soll, in diesem Fall eine Fire Card A. Um den "Definitionscode" dieses Items zu erfahren, verwenden wir wieder das selbe Prinzip:
- Propitem.txt.txt öffnen
- Suche nach "Fire Card (A)"
- IDS_PROPITEM Code kopieren
- In der Datei "Propitem.txt danach suchen"
- Definitionscode kopieren

In diesem Fall sieht dieser so aus:
Quote:
II_GEN_MAT_ELE_CANDLEB
Wir fügen den Salat in das Exchange_script.txt ein:
Quote:
PAY 1
{
//¾ÆÀÌÅÛ ID °¹¼ö È®·ü(n/1000000)
II_GEN_MAT_ELE_CANDLEB 1 1000000
}
Kleiner Überblick darüber, was wir nun bereits hinter uns haben:
Quote:
- NPC ins Spiel eingefügt
- Exchange Script (in meinem Beispiel nur den ersten Handel) "vorbereitet"
So, wir wollen jetzt aber noch, dass unser vorhin ins Spiel eingefügt NPC die tolle Aufgabe bekommt, diesen Tausch anzubieten.
Dazu öffnen wir die Datei "character.inc" und scrollen ganz nach unten, um einen neuen Eintrag zu machen.
Ohne Schnickschnack, wie beispielsweise ein Dialogtext, den der NPC in einem seperaten Menü anzeigen soll, sieht das ganze dann so aus:

Quote:
MaFl_Tauschhandel
{
setting
{
AddMenu( MMI_EVENT_MAY );
}

SetName
(
IDS_CHARACTER_INC_001011
);
}
NPC Name, den wir in die vorhin in die .dyo Datei eingetragen haben
Option AddMenu bedeutet, dass der NPC ein Menü bekommt, welches, wird im Anschluss definiert. In unserem Fall soll er das Tauschevent "MMI_EVENT_MAY" ausführen.
Dies ist der Name, den der NPC inGame überm' Kopf stehen hat

Um diesen einzustellen, ganz simpel in die Datei "Character.txt.txt" und ganz nach unten scrollen. Wir machen einen neuen Eintrag, mit einer Zahl, die noch nicht in Verwendung, logischer Weise macht man die "danachkommende" Zahl:

Quote:
IDS_CHARACTER_INC_001011 Dickes Aibatt
Nun noch ganz Wichtig:
Wir gehen in unseren Resource Ordner und starten die "Merge2.exe"
Damit werden die Resdateien in den Resclient kopiert. Diese nehmen wir von dort aus und transferieren diese in unseren Client.
Wenn wir nun inGame schauen, sehen wir an der jeweiligen Stelle unseren tollen kleinen Selfmade NPC.

Soo, das wars. Unser NPC steht, hat ein schickes Aussehen und weis, was er zu tun hat.
In meinem Beispiel habe ich nur eine Tauschoption bearbeitet, ihr könnt natürlich X-beliebig viele hinzufügen, oder auch streichen.
Die anderen Events die in der Exchange_script.txt stehen könnt ihr logischerweise auch verwenden, ich habe nur der Übersicht zu Gute das Erste verwendet.

Edit.: Hier ein kleines Beispiel mit Behemoth Waffen, was ich gemacht habe:


Quote:
Credits:
5% Sedrika für die Verlinkung zum dyoManager
95% Ich, für das Verfassen des Textes
rädsun is offline  
Thanks
14 Users
Old 02/19/2011, 19:35   #2
 
elite*gold: 30
Join Date: Oct 2010
Posts: 1,509
Received Thanks: 849
Sehr guter Guide. Alles schön übersichtlich gestaltet, Farben verwendet usw.

Ganz klar 10/10.
Fullscreen is offline  
Old 02/19/2011, 20:09   #3
 
_DEFiNiTiON_'s Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 634
Received Thanks: 116
Sehr gut erklärt , sehr übersichtlich ne lockere 1+
Weiter so !!
_DEFiNiTiON_ is offline  
Old 02/19/2011, 20:48   #4


 
flyffmen's Avatar
 
elite*gold: 24
Join Date: Jan 2011
Posts: 1,093
Received Thanks: 129
1+ mit stern es ist alles drin was seien soll und das hilft mir auch wen ich dan vieleicht mal nen neuen NPC erstelle.
flyffmen is offline  
Old 02/20/2011, 08:53   #5
 
elite*gold: 0
Join Date: Feb 2011
Posts: 993
Received Thanks: 308
Wirklich gut gelunden dein TuT ;DD Weiter so.
.[S]hexx*... is offline  
Old 02/20/2011, 10:24   #6
 
Achileus's Avatar
 
elite*gold: 74
Join Date: Apr 2009
Posts: 5,908
Received Thanks: 2,386
Respekt muss man sagen,das TuT ist wieder mal einer der besten!
Achileus is offline  
Old 02/20/2011, 11:39   #7
 
elite*gold: 0
Join Date: May 2009
Posts: 40
Received Thanks: 10
Sehr gut ausführlich gute Fabwahl. Einfach Tip-Top.
Knot94 is offline  
Old 02/27/2011, 21:37   #8
 
elite*gold: 0
Join Date: Dec 2010
Posts: 160
Received Thanks: 46
Sehr gut, hast ein Thanks.

Was du noch reinmachen könntest wäre, wie man diese Texte ändert wenn man den NPC anklickt.
z.B wenn du [Juwel Verwalter] Peach anklickst kommt
Dialog
Handel
Shining Oricalcum herstellen
...
usw.

Das man das auch in der TextClient.inc bestimmen kann.
Man schreibt also z.B bei Peach in der Character.inc
Quote:
MaFl_Peach // [보석 전문가] 피치
{
setting
{
AddMenu( MMI_DIALOG );
AddMenu( MMI_TRADE );
AddVendorItem( 0, IK3_SCROLL, -1, 190, 190, 100 );
AddMenu( MMI_SMELT_EXTRACTION ); // 보석 추출

AddMenu( MMI_SMELT_MIXJEWEL ) // 빛나는 오리칼쿰 생성
AddMenu( MMI_SMELT_JEWEL ); // 얼터멋 웨폰 보석 합성
AddMenu( MMI_LVREQDOWN_CANCEL ); // 착용 레벨 하락 취소
AddMenu( MMI_BLESSING_CANCEL ); //여신의 축복 취소
Das rot markierte ist ingame "Shining Oricalcum herstellen", wenn man das jetzt kopiert und in die TextClient.inc geht findet man

Quote:
TID_MMI_SMELT_MIXJEWEL 0xffffffff
{
IDS_TEXTCLIENT_INC_001633
}
Wir kopieren das blaue und gehn in die TextClient.txt und finden

Quote:
IDS_TEXTCLIENT_INC_001633 Shining Oricalkum herstellen
Das können wir jetzt einfach beliebig ändern

und ingame heißt es dann genauso wie wir es wollen.
Dreatmaster is offline  
Old 02/27/2011, 23:43   #9
 
rädsun's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 443
Received Thanks: 170
Das habe ich ja mit Absicht weggelassen, da ich ein Dialogtext oder sonstiges unnötig finde. Wenn man möchte kann man ja ein zweites Menü noch adden, beispielsweise Buffen oder whatever. So kann man den NPC anklicken und hat direkt das Tauschhandelsmenü.
Finde ich ehrlich gesagt praktischer.
rädsun is offline  
Old 02/28/2011, 17:25   #10
 
elite*gold: 0
Join Date: Dec 2010
Posts: 160
Received Thanks: 46
Ja gut oke praktischer ja aber sobald es mehrere Menüs sind sollte man die Menüs auch benennen können...ist ja auch ehrlich gesagt nicht schlimm, trotzdem Respekt für den Guide gut gemacht
Dreatmaster is offline  
Reply

Tags
exchange, kartenmeister, tausch, tauschhandel, tauschhändler


Similar Threads Similar Threads
[Tutorial] 3D-Text
03/20/2011 - Artist Tutorials - 7 Replies
Hey, wollte euch mal zeigen wie man einen schönen 3D-Text hinbekommt. Ist mein erstes Tutorial, also seit nicht so streng ;) Ergebnisse: http://img413.imageshack.us/img413/5566/tasubeatz schrift.png http://img15.imageshack.us/img15/458/chasehawk.pn g http://img101.imageshack.us/img101/2447/idul.png
Tauschhändler einbauen?
01/24/2011 - Flyff Private Server - 6 Replies
Hallo EPVPers, ich wollte mal fragen, ob jemand einen guten Guide kennt, in dem erklärt wird, wie man einen komplett neuen Tauschhändler, beispielsweise für Oris oder Moons, einbauen kann. Würde mich sehr über hilfreiche Antwort freuen. Danke
[Video Tutorial] Anim. Text
09/10/2010 - Artist Tutorials - 1 Replies
Moin, mein 1. Tutorial&1. Camtasia versuchD: es zeigt nur wie ihr denn text "fliegen" lassen könnt, auf anfrage lade ich noch mehr hoch, wie man video sigs macht und co es basiert aber auf das gleiche system! YouTube - Adobe Photoshop CS5 Animationen Tutorial Hf vorschläge zu tutorials die ich machen könnte bitte per PM oder hier im thread ;)
[Tutorial]Creating a notepad app[Lot of Text]
11/23/2008 - CO2 Programming - 15 Replies
Create a Notepad App In this tutorial I will show you how you can create your own Notepad like Application. Start by creating a new Windows Forms Application. Now we can add some controls. The first control will be a MenuStrip. After that right click on the newly created menustrip, Select Insert Standard Items. Delete the Tools menu and the Help menu. Delete the Redo menu item from the Edit menu. Now drag and drop a TextBox onto the form.



All times are GMT +1. The time now is 13:54.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.