Jump to content
  • 0

How/Where to get custom mounts that could be added as items


Pink Guy

Question


  • Group:  Members
  • Topic Count:  131
  • Topics Per Day:  0.03
  • Content Count:  371
  • Reputation:   3
  • Joined:  11/14/11
  • Last Seen:  

Where can I get mounts that I can add to my server and how would I do it? I want to put like a "mount suit". If someone can help me then that would be really lovely.

Link to comment
Share on other sites

20 answers to this question

Recommended Posts

  • 1

  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  33
  • Reputation:   0
  • Joined:  11/14/11
  • Last Seen:  

i suggest you use Rental Mounts @ 3ceam

it works perfectly

i recommend it to other devs

http://3ceam.googlecode.com/svn/trunk/Patches/Alpha%20And%20Beta%20Testing/Rental_Mounts.diff

Hello,

I am using 3ceAm and i followed the Code given in Rental_mounts.diff

When i try to Compiled the Server

i got this 2 errors

eqcpvk.jpg

But when i checked the codes in every line

Line 3914

2dgp1sm.jpg

and line 5241 2ptz1uf.jpg

Kindly help me for this kind of error :o

(Sorry for my Bad English)

thanks for the help !

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

You can try the previous Topic from eAthena Job-Based-Mount by Trojal

SC_MISC_RIDE method

Diff File : http://ro.trojal.net/mount_sc.diff

Tested it with a usable item with the following script, equip_script, unequip_script:

An Example for 30 Minutes Mount..

sc_start SC_MISC_RIDE,18000000,0;

Just a 30 minutes status change to mount if not mounted, or else end mount status. Note that this way there is no need to use a change to the SpeedRate, as that is part of the SC.

Credits : Trojal

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  37
  • Topics Per Day:  0.01
  • Content Count:  126
  • Reputation:   6
  • Joined:  11/18/11
  • Last Seen:  

Emistry I've placed all the code at their place and I get this Error

[Error]: pc_skill: Skill with id 0 does not exist in the skill database

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  967
  • Reputation:   53
  • Joined:  11/13/11
  • Last Seen:  

Emistry I've placed all the code at their place and I get this Error

[Error]: pc_skill: Skill with id 0 does not exist in the skill database

i suggest you use Rental Mounts @ 3ceam

it works perfectly

i recommend it to other devs

http://3ceam.googlecode.com/svn/trunk/Patches/Alpha%20And%20Beta%20Testing/Rental_Mounts.diff

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  109
  • Reputation:   19
  • Joined:  11/14/11
  • Last Seen:  

I'm still working on trying to get all the 3rd class ones to work with trojal's patch. I haven't quite figured out if maybe its something clientside and the exe that i'm using isn't new enough or what yet to display them all properly but when i do figure it out I plan on releasing it especially since the official method of the mounts seems to be actual job class id's which is why there listed within the client atleast most of them are according to the jobinheritlist.lub

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  2244
  • Reputation:   182
  • Joined:  11/19/11
  • Last Seen:  

yea, i didn't really like 3ceam's implementation. Trojal's patch is better in my opinion. All third mounts and those lion mounts work as well.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  186
  • Reputation:   51
  • Joined:  11/14/11
  • Last Seen:  

When i try to Compiled the Server

i got this 2 errors

You need to define the function.

Just put the following line

void clif_status_change_single(struct block_list *dst, struct block_list *bl, int type, int flag, unsigned int tick, int val1, int val2, int val3);

in your clif.h, above

#endif /* _CLIF_H_ */

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  297
  • Reputation:   15
  • Joined:  11/17/11
  • Last Seen:  

When i try to Compiled the Server

i got this 2 errors

You need to define the function.

Just put the following line

void clif_status_change_single(struct block_list *dst, struct block_list *bl, int type, int flag, unsigned int tick, int val1, int val2, int val3);

in your clif.h, above

#endif /* _CLIF_H_ */

cool. it's working good. but, won't there be any status icon for this one? like, for when knight mounts peco, there's a status icon indicating that it's mounting a peco, falcon for hunter/sniper.

and, i noticed that the warlock's kyuubi ride is windwalking. it's a bit elevated from the floor, is it some sort of error or is it just how it is? ;p

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/11/12
  • Last Seen:  

Pls Help, Im a newbie, i cannot understand the http://3ceam.googlec...tal_Mounts.diff .. how can i use this?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  318
  • Topics Per Day:  0.07
  • Content Count:  931
  • Reputation:   13
  • Joined:  12/20/11
  • Last Seen:  

need help guys

2>d:serverroserversrcmapclif.c(197): error C2371: 'clif_sendbgemblem_area' : redefinition; different basic types
2>		  d:serverroserversrcmapclif.h(547) : see declaration of 'clif_sendbgemblem_area'
2>d:serverroserversrcmapclif.c(198): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(200): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(202): error C2059: syntax error : '}'
2>d:serverroserversrcmapclif.c(204): error C2059: syntax error : 'case'
2>d:serverroserversrcmapclif.c(205): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(205): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(205): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(205): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(208): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(210): error C2143: syntax error : missing ')' before '&'
2>d:serverroserversrcmapclif.c(210): error C2143: syntax error : missing '{' before '&'
2>d:serverroserversrcmapclif.c(210): error C2059: syntax error : '&'
2>d:serverroserversrcmapclif.c(210): error C2059: syntax error : ')'
2>d:serverroserversrcmapclif.c(211): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(213): error C2059: syntax error : '}'
2>d:serverroserversrcmapclif.c(215): error C2059: syntax error : 'case'
2>d:serverroserversrcmapclif.c(216): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(216): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(216): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(216): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(257): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(257): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(257): error C2059: syntax error : '-'
2>d:serverroserversrcmapclif.c(257): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(257): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(261): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(264): error C2059: syntax error : 'if'
2>d:serverroserversrcmapclif.c(267): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(267): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(267): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(267): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(277): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(277): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(277): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(277): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(287): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(287): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(287): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(287): error C2018: unknown character '0x40'
2>d:serverroserversrcmapclif.c(16479): fatal error C1004: unexpected end-of-file found
2>  date.c
2>  duel.c
2>  guild.c
2>  intif.c
2>  itemdb.c
2>  log.c
2>  mail.c
2>  map.c
2>  mapreg_sql.c
2>  homunculus.c
2>  instance.c
2>  mercenary.c
2>  mob.c
2>  npc.c
2>  npc_chat.c
2>  party.c
2>  path.c
2>  pc.c
2>  pet.c
2>d:serverroserversrcmappc.c(8205): error C2059: syntax error : 'if'
2>d:serverroserversrcmappc.c(8213): error C2059: syntax error : 'else'
2>d:serverroserversrcmappc.c(8215): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8215): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8215): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8215): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8226): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8226): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8226): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8226): error C2018: unknown character '0x40'
2>d:serverroserversrcmappc.c(8236): fatal error C1004: unexpected end-of-file found
2>  quest.c
2>  script.c
2>  searchstore.c
2>  skill.c
2>  status.c
2>d:serverroserversrcmapstatus.c(7856): error C2065: 'SC_CURSED_SOIL' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7856): error C2057: expected constant expression
2>d:serverroserversrcmapstatus.c(7856): error C2466: cannot allocate an array of constant size 0
2>d:serverroserversrcmapstatus.c(7856): error C2065: 'SI_CURSED_SOIL' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7856): error C2099: initializer is not a constant
2>d:serverroserversrcmapstatus.c(7857): error C2065: 'SC_UPHEAVAL' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7857): error C2057: expected constant expression
2>d:serverroserversrcmapstatus.c(7857): error C2466: cannot allocate an array of constant size 0
2>d:serverroserversrcmapstatus.c(7857): error C2374: 'StatusIconChangeTable' : redefinition; multiple initialization
2>		  d:serverroserversrcmapstatus.c(69) : see declaration of 'StatusIconChangeTable'
2>d:serverroserversrcmapstatus.c(7857): error C2065: 'SI_UPHEAVAL' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7857): error C2099: initializer is not a constant
2>d:serverroserversrcmapstatus.c(7859): error C2065: 'SC_ALL_RIDING' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7859): error C2057: expected constant expression
2>d:serverroserversrcmapstatus.c(7859): error C2466: cannot allocate an array of constant size 0
2>d:serverroserversrcmapstatus.c(7859): error C2374: 'StatusIconChangeTable' : redefinition; multiple initialization
2>		  d:serverroserversrcmapstatus.c(69) : see declaration of 'StatusIconChangeTable'
2>d:serverroserversrcmapstatus.c(7859): error C2065: 'SI_ALL_RIDING' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7859): error C2099: initializer is not a constant
2>d:serverroserversrcmapstatus.c(7862): error C2369: 'StatusChangeFlagTable' : redefinition; different subscripts
2>		  d:serverroserversrcmapstatus.h(18) : see declaration of 'StatusChangeFlagTable'
2>d:serverroserversrcmapstatus.c(7862): error C2075: 'StatusChangeFlagTable' : array initialization needs curly braces
2>d:serverroserversrcmapstatus.c(7863): error C2369: 'StatusChangeFlagTable' : redefinition; different subscripts
2>		  d:serverroserversrcmapstatus.h(18) : see declaration of 'StatusChangeFlagTable'
2>d:serverroserversrcmapstatus.c(7863): error C2075: 'StatusChangeFlagTable' : array initialization needs curly braces
2>d:serverroserversrcmapstatus.c(7864): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7864): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7864): error C2059: syntax error : '-'
2>d:serverroserversrcmapstatus.c(7864): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7864): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7866): error C2065: 'SC_EXTRACT_SALAMINE_JUICE' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7866): error C2057: expected constant expression
2>d:serverroserversrcmapstatus.c(7866): error C2466: cannot allocate an array of constant size 0
2>d:serverroserversrcmapstatus.c(7866): error C2143: syntax error : missing '{' before '|='
2>d:serverroserversrcmapstatus.c(7866): error C2059: syntax error : '|='
2>d:serverroserversrcmapstatus.c(7868): error C2065: 'SC_ALL_RIDING' : undeclared identifier
2>d:serverroserversrcmapstatus.c(7868): error C2057: expected constant expression
2>d:serverroserversrcmapstatus.c(7868): error C2466: cannot allocate an array of constant size 0
2>d:serverroserversrcmapstatus.c(7868): error C2143: syntax error : missing '{' before '|='
2>d:serverroserversrcmapstatus.c(7868): error C2059: syntax error : '|='
2>d:serverroserversrcmapstatus.c(7870): error C2059: syntax error : 'if'
2>d:serverroserversrcmapstatus.c(7872): error C2059: syntax error : '}'
2>d:serverroserversrcmapstatus.c(7873): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7873): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7873): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7873): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7875): error C2059: syntax error : 'if'
2>d:serverroserversrcmapstatus.c(7877): error C2059: syntax error : 'if'
2>d:serverroserversrcmapstatus.c(7881): error C2059: syntax error : 'if'
2>d:serverroserversrcmapstatus.c(7882): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7882): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7882): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7882): error C2018: unknown character '0x40'
2>d:serverroserversrcmapstatus.c(7884): error C2059: syntax error : ','
2>d:serverroserversrcmapstatus.c(7884): error C2143: syntax error : missing ')' before '-'
2>d:serverroserversrcmapstatus.c(7884): error C2143: syntax error : missing '{' before '-'
2>d:serverroserversrcmapstatus.c(7884): error C2059: syntax error : '-'
2>d:serverroserversrcmapstatus.c(7884): error C2059: syntax error : ')'
2>d:serverroserversrcmapstatus.c(7885): error C2059: syntax error : 'break'
2>d:serverroserversrcmapstatus.c(7886): error C2059: syntax error : 'case'
2>d:serverroserversrcmapstatus.c(7887): warning C4002: too many actual parameters for macro 'pc_isriding'
2>d:serverroserversrcmapstatus.c(7889): error C2059: syntax error : 'if'
2>d:serverroserversrcmapstatus.c(7894): error C2059: syntax error : 'break'
2>d:serverroserversrcmapstatus.c(7895): error C2059: syntax error : '}'

i followed this one

http://3ceam.googlec...tal_Mounts.diff

here is my cliff.c

http://pastebin.com/aL3Pyvby

here is my cliff.h

http://pastebin.com/pzvR3Q1n

here is my pc.c

http://pastebin.com/DSet8wAq

here is my status.c

http://pastebin.com/APdr6kD7

here is my status.h

http://pastebin.com/BCzuZjwM

can you edit it for me or tell me what to do so i can fix it by my self thank you

here is my item_db2.txt

// Purchase Shop Items
//6377,Buy_Stall_Permit,Buy Stall Permit,3,200,,10,,,,,,,,,,,,,{},{},{}
//12548,Buy_Shabby_Stall_Permit,Buy Shabby Stall Permit,11,500,,10,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "ALL_BUYING_STORE",1; },{},{}
// Reins
12622,Reins_Of_Mounts,Reins Of Mounts,2,500,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ALL_RIDING,-1,1; },{},{}

Edited by glemor123
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  2244
  • Reputation:   182
  • Joined:  11/19/11
  • Last Seen:  

you applied the patch alredy, if so I think you added it in wrong. I think i still see lines that should have been removed -

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/11/12
  • Last Seen:  

Judas, Hi Sir! if you dont mind, can you explain where to put this scrips and the meaning of --- and +++ on so on? thanks you very much:

Index: db/const.txt
===================================================================
--- db/const.txt (revision 650)
+++ db/const.txt (working copy)
@@ -1226,6 +1226,7 @@
SC_TIDAL_WEAPON_OPTION  764
SC_ROCK_CRUSHER   765
SC_ROCK_CRUSHER_ATK  766
+SC_ALL_RIDING   767
e_gasp 0
e_what 1
Index: db/item_db2.txt
===================================================================
--- db/item_db2.txt (revision 650)
+++ db/item_db2.txt (working copy)
@@ -400,3 +400,7 @@
// Purchase Shop Items
//6377,Buy_Stall_Permit,Buy Stall Permit,3,200,,10,,,,,,,,,,,,,{},{},{}
//12548,Buy_Shabby_Stall_Permit,Buy Shabby Stall Permit,11,500,,10,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "ALL_BUYING_STORE",1; },{},{}
+
+
+// Reins
+12622,Reins_Of_Mounts,Reins Of Mounts,2,500,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ALL_RIDING,-1,1; },{},{}
No newline at end of file
Index: src/map/clif.c
===================================================================
--- src/map/clif.c (revision 650)
+++ src/map/clif.c (working copy)
@@ -1172,6 +1172,8 @@
   clif_sendbgemblem_area(sd);
  if( sd->sc.count && sd->sc.data[sC_BANDING] )
   clif_status_change(&sd->bl,SI_BANDING,1,9999,sd->sc.data[sC_BANDING]->val1,0,0);
+   if( sd->sc.count && sd->sc.data[sC_ALL_RIDING] )
+    clif_status_change(&sd->bl,SI_ALL_RIDING,1,9999,sd->sc.data[sC_ALL_RIDING]->val1,sd->sc.data[sC_ALL_RIDING]->val2,0);
 }
 break;
case BL_MOB:
@@ -3909,7 +3911,9 @@
  if( tsd->state.bg_id && map[tsd->bl.m].flag.battleground )
   clif_sendbgemblem_single(sd->fd,tsd);
  if( tsd->sc.count && tsd->sc.data[sC_BANDING] )
-    clif_display_banding(&sd->bl,&tsd->bl,tsd->sc.data[sC_BANDING]->val1);
+    clif_status_change_single(&sd->bl,&tsd->bl,SI_BANDING,1,9999,tsd->sc.data[sC_BANDING]->val1,tsd->sc.data[sC_BANDING]->val2,tsd->sc.data[sC_BANDING]->val3);
+   if( tsd->sc.count && tsd->sc.data[sC_ALL_RIDING] )
+    clif_status_change_single(&sd->bl,&tsd->bl,SI_ALL_RIDING,1,9999,tsd->sc.data[sC_ALL_RIDING]->val1,tsd->sc.data[sC_ALL_RIDING]->val2,0);
 }
 break;
case BL_MER: // Devotion Effects
@@ -5230,29 +5234,30 @@

/*==========================================
- * Display Banding when someone under this
- * status change walk into your view range.
+ * Display a status change when someone
+ * under this status change walk into your
+ * view range.
 *------------------------------------------*/
-void clif_display_banding(struct block_list *dst, struct block_list *bl, int val1)
+void clif_status_change_single(struct block_list *dst, struct block_list *bl, int type, int flag, unsigned int tick, int val1, int val2, int val3)
{
unsigned char buf[32];
nullpo_retv(bl);
nullpo_retv(dst);
- if( battle_config.display_status_timers )
+ if( flag && battle_config.display_status_timers )
 WBUFW(buf, 0) = 0x043f;
else
 WBUFW(buf, 0)= 0x0196;
- WBUFW(buf, 2) = SI_BANDING;
+ WBUFW(buf, 2) = type;
WBUFL(buf, 4) = bl->id;
- WBUFB(buf, 8) = 1;
- if( battle_config.display_status_timers )
+ WBUFB(buf, 8) = flag;
+ if( flag && battle_config.display_status_timers )
{
-  WBUFL(buf, 9) = 0;
+  WBUFL(buf, 9) = tick;
 WBUFL(buf,13) = val1;
-  WBUFL(buf,17) = 0;
-  WBUFL(buf,21) = 0;
+  WBUFL(buf,17) = val2;
+  WBUFL(buf,21) = val3;
}
clif_send(buf,packet_len(WBUFW(buf,0)),dst,SELF);
}
@@ -9467,6 +9472,9 @@
  (sd->sc.data[sC_VOICEOFSIREN] && sd->sc.data[sC_VOICEOFSIREN]->val2 == target_id) )
  return;
+  if( sd->sc.data[sC_ALL_RIDING] )
+   return;
+
 if (!battle_config.sdelay_attack_enable && pc_checkskill(sd, SA_FREECAST) <= 0) {
  if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
   clif_skill_fail(sd, 1, 4, 0, 0);
@@ -10400,6 +10408,9 @@
if( sd->sc.data[sC__MANHOLE] )
 return;
+ if( sd->sc.data[sC_ALL_RIDING] )
+  return;
+
if( sd->menuskill_id )
{
 if( sd->menuskill_id == SA_TAMINGMONSTER )
@@ -10492,6 +10503,9 @@

if( sd->sc.data[sC__MANHOLE] )
 return;
+
+ if( sd->sc.data[sC_ALL_RIDING] )
+  return;
if( sd->menuskill_id )
{
@@ -10567,6 +10581,9 @@
if( sd->sc.data[sC__MANHOLE] )
 return;
+ if( sd->sc.data[sC_ALL_RIDING] )
+  return;
+
if( pc_cant_act(sd) )
{
 sd->menuskill_id = sd->menuskill_val = 0;
Index: src/map/itemdb.h
===================================================================
--- src/map/itemdb.h (revision 650)
+++ src/map/itemdb.h (working copy)
@@ -28,6 +28,7 @@
#define ITEMID_MAKEUPBRUSH 6121
#define ITEMID_PAINTBRUSH 6122
#define ITEMID_SURFACEPAINTS 6123
+#define ITEMID_REINS 12622
//The only item group required by the code to be known. See const.txt for the full list.
#define IG_FINDINGORE 6
Index: src/map/pc.c
===================================================================
--- src/map/pc.c (revision 650)
+++ src/map/pc.c (working copy)
@@ -559,7 +559,9 @@
 if( sd->status.inventory[i].expire_time <= time(NULL) )
 {
  clif_rental_expired(sd->fd, sd->status.inventory[i].nameid);
-   pc_delitem(sd, i, sd->status.inventory[i].amount, 0, 0);
+   if( sd->status.inventory[i].nameid == ITEMID_REINS )
+    status_change_end(&sd->bl, SC_ALL_RIDING, -1);
+   pc_delitem(sd, i, sd->status.inventory[i].amount, 1, 0);
 }
 else
 {
@@ -4089,8 +4091,8 @@
 clif_useitemack(sd,n,amount,1);
else
{
-  if( sd->status.inventory[n].expire_time == 0 )
-  {
+  if( sd->status.inventory[n].expire_time == 0 && nameid != ITEMID_REINS )
+  { // Don't remove Reins.
  clif_useitemack(sd,n,amount-1,1);
  //Logs ©onsumable items [Lupus]
@@ -7218,6 +7220,9 @@
nullpo_ret(sd);
p_type = sd->sc.option;
+ if( (p_type&(OPTION_RIDING|OPTION_RIDING_DRAGON|OPTION_RIDING_WUG|OPTION_MADO)) && sd->sc.data[sC_ALL_RIDING] )
+  return 0; // Already mounted.
+
if( p_type&OPTION_MADO && p_type&OPTION_CART) // Don't remove cart when you're removing your mado.
 type |= (p_type&OPTION_CART);
Index: src/map/status.c
===================================================================
--- src/map/status.c (revision 650)
+++ src/map/status.c (working copy)
@@ -756,6 +756,8 @@
StatusIconChangeTable[sC_CURSED_SOIL] = SI_CURSED_SOIL;
StatusIconChangeTable[sC_UPHEAVAL] = SI_UPHEAVAL;
+ StatusIconChangeTable[sC_ALL_RIDING] = SI_ALL_RIDING;
+
//Other SC which are not necessarily associated to skills.
StatusChangeFlagTable[sC_ASPDPOTION0] = SCB_ASPD;
StatusChangeFlagTable[sC_ASPDPOTION1] = SCB_ASPD;
@@ -850,6 +852,8 @@
StatusChangeFlagTable[sC_VITATA_500] |= SCB_REGEN;
StatusChangeFlagTable[sC_EXTRACT_SALAMINE_JUICE] |= SCB_ASPD;
+ StatusChangeFlagTable[sC_ALL_RIDING] |= SCB_SPEED;
+
if( !battle_config.display_hallucination ) //Disable Hallucination.
 StatusIconChangeTable[sC_HALLUCINATION] = SI_BLANK;
}
@@ -4693,6 +4697,8 @@
   val = max( val, sc->data[sC_GT_REVITALIZE]->val2 );
  if( sc->data[sC_WIND_STEP_OPTION] )
   val = max( val, sc->data[sC_WIND_STEP_OPTION]->val2 );
+   if( sc->data[sC_ALL_RIDING] )
+    val = max( val, sc->data[sC_ALL_RIDING]->val2 );
  //FIXME: official items use a single bonus for this [ultramage]
  if( sc->data[sC_SPEEDUP0] ) // temporary item-based speedup
@@ -6352,6 +6358,15 @@
 status_change_end(bl, SC_GT_ENERGYGAIN, INVALID_TIMER);
 status_change_end(bl, SC_GT_CHANGE, INVALID_TIMER);
 break;
+ case SC_ALL_RIDING:
+  if( !sd || pc_isriding(sd,OPTION_RIDING|OPTION_RIDING_DRAGON|OPTION_RIDING_WUG|OPTION_MADO) )
+   return 0;
+  if( sc->data[type] )
+  { // Already mounted, just dismount.
+   status_change_end(bl, SC_ALL_RIDING, -1);
+   return 0;
+  }
+  break;
}
//Check for overlapping fails
Index: src/map/status.h
===================================================================
--- src/map/status.h (revision 650)
+++ src/map/status.h (working copy)
@@ -575,6 +575,8 @@
SC_ROCK_CRUSHER,
SC_ROCK_CRUSHER_ATK,
+ SC_ALL_RIDING,
+
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;
@@ -1194,7 +1196,7 @@
// SI_SPIRITS_SAVEINFO2 = 610,
// SI_MAGIC_CANDY = 611,
// SI_SEARCH_STORE_INFO = 612,
-// SI_ALL_RIDING = 613,
+ SI_ALL_RIDING = 613,
// SI_ALL_RIDING_REUSE_LIMIT = 614,
// SI_MACRO = 615,
// SI_MACRO_POSTDELAY = 616,

Edited by Arcenciel
Codeboxed
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

--- mean remove the following line...

+++ mean add the following line

for Diff Guide...you can refer this

http://rathena.org/wiki/Diff

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/11/12
  • Last Seen:  

Thanks Emistry for the info!!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  318
  • Topics Per Day:  0.07
  • Content Count:  931
  • Reputation:   13
  • Joined:  12/20/11
  • Last Seen:  

help about my problem please

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  08/01/12
  • Last Seen:  

Im with the same problem .... Help glemor !!! Help me !! =(

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

why not just switch to rAthena ? rAthena have all these mount work by default...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  54
  • Reputation:   1
  • Joined:  02/21/12
  • Last Seen:  

@emistry im using rathena so how i can use all job mounts ? please give me some ideal :D

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

Join the conversation

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

Guest
Answer this question...

×   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...