Jump to content

Eigenes NPC Sprite einfügen


Pysk

Recommended Posts


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Hallo zusammen.

Ich wollte gerne einen eigene NPC einbringen. Es geht natürlich nicht um das Script sondern um das Sprite.

Serverseitig:

db/const.txt

Die sieht bei mir am ende der NPC's so aus:

4_M_4THPRIN1	989
4_M_4THPRIN2	990
4_M_5THPRIN1	991
4_M_5THPRIN2	992
4_M_6THPRIN1	993
4_M_6THPRIN2	994
4_M_CASMAN1	995
4_M_CAVE1	996
4_M_MOCASS1	997
4_M_MOCASS2	998
4_M_MUT1	999
4_TOWER_14	10001
4_TOWER_15	10002
4_TOWER_16	10003
4_TOWER_17	10004
4_TREASURE_BOX	10005
ACADEMY_MASTER	10006
PORTAL	10007
THANATOS_BATTLE	10008
THANATOS_KEEP	10009

Früher wahren zwischen 500 und 600 einige freien ID's die ich gerne genutzt habe. Der weile sind diese aber echt alle belegt.

So mit @disguise 999 geht noch alle. Wenn ich aber drüber komme also wie hier 10001 kommt das es nicht geht weil der die ID nicht finden kann.

Natürlich geht mein NPC mit der ID 10010 auch nicht. Kommt die selbe Meldung.

In den Lua Files habe ich meinen NPC natürlich auch eingetragen, was aber nichts mit dem Problem zu tun hat.

Gibt es im SRC oder so eine grenze die erst aufgehoben werden muss die bei 999 endet? Ich wunde mich halt das bei den NPC's die ja schon eingetragen sind die über 999 sind der selbe Fehler kommt.

Soweit ich weis ist ja 1000 - 2999 Monster reserviert und 3000 - 3999 für Clone oder so was. Drüber kommt halt wieder der Fehler mit Disguise fehlgeschlagen da die ID nicht gefunden wurde.

Entweder habe ich was vergessen und es gibt mehr als nur die Lua Files und die const.txt oder es gibt einen anderen Weg.

Früher ging es halt so habe es ja immer so gemacht nur wie gesagt gabs da noch ein paar freie ID's im 500 und 600 Bereich.

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  83
  • Topics Per Day:  0.02
  • Content Count:  248
  • Reputation:   1
  • Joined:  06/27/12
  • Last Seen:  

Du musst in der src die Kapazität der Sprites erweitern. Fast dasselbe wie bei selbstgemachten Custom Boxen. Leider weiß ich gerade nicht wo man es genau verändern muss >_>

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Das einzige was ich finden konnte ist das

#define MAX_NPC_CLASS 1000
//Checks if a given id is a valid npc id. [skotlex]
//Since new npcs are added all the time, the max valid value is the one before the first mob (Scorpion = 1001)
#define npcdb_checkid(id) ( ( (id) >= 46 && (id) <= 125) || (id) == HIDDEN_WARP_CLASS || ( (id) > 400 && (id) < MAX_NPC_CLASS ) || (id) == INVISIBLE_CLASS )

zu finden in npc.h

Das ändern auf z.b 4000 bewirkt zwar das ich mich in die ID 4000 disguisen kann jedoch kommt immer ein Poring raus, egal welches Sprite ich drin habe. Ich denke mal das im Client selber doch was geändert werden müsste.

Ich habe es so gelöst das ich mir 600 und 601 frei gemacht habe da die NPCs bei mir sowiso zum error geführz haben.

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  48
  • Reputation:   0
  • Joined:  12/07/11
  • Last Seen:  

Naja ich denke mal das war meist so bei den ganzen Sprite Zeugs:

46 - 999 => NPC's

999 - xxxx => Monster

Das xxxx ist halt das letzte Monster von der Datenbank.

Das bei dir, wenn du die ID auf 4000 erhöhst und dich dann in eine ID die dazwischen liegt verwandelst, ein Poring erscheint ist deshalb, weil diese ID von Monstern normalerweise genutzt wird.

Soweit ist zumindest meine Theorie, wer es besser weis, kann mich eines besseren belehren.

Ansonsten hast du noch recht viele ID's frei soweit ich weis. Kannst es mit denen ja mal ausprobieren obs funktioniert.

126 - 138 frei

140 - 399 frei

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Danke für die Info.

Ich habe geschaut, die Freien ID's sind mir zuvor garnicht aufgefallen.

Aber stimmt da ist noch genug Platz.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  48
  • Reputation:   0
  • Joined:  12/07/11
  • Last Seen:  

Wie gesagt, einfach mal ausprobieren ob die ID's die noch "frei" sind wirklich funktionieren. Sollte dem nicht so sein, poste es bitte^^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

ID 200 versucht.

Leider kommt hier die Meldung das kein NCP mit dieser ID da ist.

Ich belasse es jetzt auf 600 und 601 die NPCs gingen ja sowiso nicht bei mir.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  48
  • Reputation:   0
  • Joined:  12/07/11
  • Last Seen:  

Im Source auch die Zeile geändert?

#define npcdb_checkid(id) ( ( (id) >= 46 && (id) <= 125) || (id) == HIDDEN_WARP_CLASS || ( (id) > 400 && (id) < MAX_NPC_CLASS ) || (id) == INVISIBLE_CLASS )

Muss dann in:

#define npcdb_checkid(id) ( ( (id) >= 46 && (id) <= 138) || (id) == HIDDEN_WARP_CLASS || ( (id) > 139 && (id) < MAX_NPC_CLASS ) || (id) == INVISIBLE_CLASS )

geändert werden wenn mich nicht alles täuscht.

MfG

Hismoon

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Geht nicht kommt wieder ein Poring raus :)

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  48
  • Reputation:   0
  • Joined:  12/07/11
  • Last Seen:  

Mhh... okay mehr fällt mir nicht dazu ein^^

Habe bisher nur die Originalen NPC Sprites eingefügt bei denen man ein Gravity Error bekommt.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Danke trotzdem für den Hilfeversuch.

Wie gesagt ich habe mir jetzt etwas Platz. geschaffen und fertig.

Ich vermute das man im Client irgntwo noch was ändern müsste. also in der exe selber.

Wie mit der Headgear view ID die ging ja Damals nur bist 2000. Jetzt gehts ja glaube ich bis 30000. Meine geht bis 5000, da ich einen etwas älteren Client nutze habe ich das diff angepasst. Aber beim NPC keine Idee

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  796
  • Reputation:   101
  • Joined:  05/23/12
  • Last Seen:  

Ich hatte das Problem wo ich mal Beginner eAthena v4 durchgetestet hatte. Das ist zwar schon etwas her, aber da hatte ich auch nur Porings als NPC(statt Custom NPCs). Später bemerkte ich das es an der Exe lag und habe die ersetzt. Klappte dann wunderbar.

Rynbef~

Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  43
  • Reputation:   2
  • Joined:  02/11/12
  • Last Seen:  

Kannst du mir eventuell sagen, welche Exe du dann benutzt hast? 

Es ist schon ziemlich doof keine custom sprites verwenden zu können, ohne vorhandene NPC's zu ersetzen.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  141
  • Reputation:   33
  • Joined:  05/30/12
  • Last Seen:  

also ich hab nie irgendetwas in der db verändert. einfach nur die sprites in die luafiles eingetragen und fertig (und funktionierten auch wunderbar)

 

lua/lub ist in datainfo\npcidentity.lua und jobname.lua (oder eben lub files)

die sprites kommen dann in data\sprite\npc

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  43
  • Reputation:   2
  • Joined:  02/11/12
  • Last Seen:  

das habe ich auch soweit eingefügt,  bei den Zahlen zwischen 139 und 400 sogar in der cons.txt allerdings zeigt er trotzdem nur einen Poring an und das obwohl alles einwandfrei eingefügt ist, ersetze ich mit demselben sprite einen anderen NPC zeigt er mir diesen Problemlos aus.

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  547
  • Reputation:   270
  • Joined:  11/08/11
  • Last Seen:  

Welche ID hast du denn genau gewählt?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  43
  • Reputation:   2
  • Joined:  02/11/12
  • Last Seen:  

139, nachdem ich in der const.txt sie als Hidden NPCs delisted habe.

Dennoch zeigt er mir nur ein Poring Sprite an. Wenn ich das aber auf der ID 650 z.b einfüge ersetzt er den NPC erfolgreich mit dem von mir gewollten NPC Sprite

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  764
  • Reputation:   220
  • Joined:  11/14/11
  • Last Seen:  

Ob du das in der const.txt änderst oder nicht spielt keine Rolle. Softwareintern ist 139 trotzdem noch unsichtbar:

enum actor_classes
{
	WARP_CLASS = 45,
	HIDDEN_WARP_CLASS = 139,
	WARP_DEBUG_CLASS = 722,
	FLAG_CLASS = 722,
	INVISIBLE_CLASS = 32767,
};

 

Dein Fehler ist irgendwo clientseitig zu suchen...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...