Outfits and Cashmount

skyundersea

New member
Messages
39
Points
0
Github
skyundersea
Hi guys,

How can i enable usage of skills and attack for these jobs:

SC_WEDDING

SC_XMAS

SC_SUMMER

SC_HANBOK

does anyone know? i went to (pc.c) (status.c) and (battle.c) but found nothing... 

If its possible to enable skills and attack, i'll make then Costume outifits to equip in armor slotsc_hanbok.jpg

Also, does anyone know why 2 of my cashmounts look like they are floating? look the difference

cashmount.jpg

 
those are statuses and what looks like the cool summer outfit/wedding dress etc 

{
    Id: 2776
    AegisName: "Cool_Towel"
    Name: "Adventurer's Trusty Towel"
    Type: "IT_ARMOR"
    Buy: 20
    Weight: 100
    Loc: "EQP_ACC"
    Refine: false
    OnEquipScript: <" sc_start SC_SUMMER,-1,0; ">
    OnUnequipScript: <" sc_end SC_SUMMER; ">
},


does this not work for you or is this not the same item

 
those are statuses and what looks like the cool summer outfit/wedding dress etc 

{
    Id: 2776
    AegisName: "Cool_Towel"
    Name: "Adventurer's Trusty Towel"
    Type: "IT_ARMOR"
    Buy: 20
    Weight: 100
    Loc: "EQP_ACC"
    Refine: false
    OnEquipScript: <" sc_start SC_SUMMER,-1,0; ">
    OnUnequipScript: <" sc_end SC_SUMMER; ">
},


does this not work for you or is this not the same item
Yea, this works... but still can't use skills and attack...

Someone said i can change the job options at source to make it able to use skills, but i didn't find where...

 
Yea, this works... but still can't use skills and attack...

Someone said i can change the job options at source to make it able to use skills, but i didn't find where...
AUGHH i dont have these in my client for some reason and cant test it but this should work :

status.c

case SC_WEDDING:
case SC_XMAS:
case SC_SUMMER:
case SC_HANBOK:
case SC_OKTOBERFEST:
case SC_DRESS_UP:
if (vd == NULL)
return 0;
// Store previous values as they could be removed.
unit->stop_attack(bl);
break;




this is the same as sc_hiding... chasewalk... all those skills that disable attacking, so im sure all you gotta do is delete this and recompile,.

Also if you still want your original equipment to show i think all you need to do is play with this 

case SC_WEDDING:
case SC_XMAS:
case SC_SUMMER:
case SC_HANBOK:
case SC_OKTOBERFEST:
case SC_DRESS_UP:
if (vd == NULL)
break;
clif->changelook(bl, LOOK_BASE, vd->class);
clif->changelook(bl, LOOK_WEAPON, 0);
clif->changelook(bl, LOOK_SHIELD, 0);
clif->changelook(bl, LOOK_CLOTHES_COLOR, vd->cloth_color);
clif->changelook(bl, LOOK_BODY2, 0);
break;
case SC_KAAHI:
val4 = INVALID_TIMER;
break;
}
}


it says it locks to specific look, just remove from list and i bet youd see your bow 

You have to recompile your server after making changes in the src folder where this is located 

 
Last edited by a moderator:
case SC_WEDDING:

case SC_XMAS:

case SC_SUMMER:

case SC_HANBOK:

case SC_OKTOBERFEST:

case SC_DRESS_UP:

if (vd == NULL) return 0; // Store previous values as they could be removed.

unit->stop_attack(bl);

break;
i delete this but nothing happens...

the visual things for weapon works, but i still can't attack/cast skills...

i think we need to change the Job things...

is there any other way you know?

 
i delete this but nothing happens...

the visual things for weapon works, but i still can't attack/cast skills...

i think we need to change the Job things...

is there any other way you know?
no unfortunately i cant test it without downloading a bunch of stuff, but ive looked over it and thats the only thing i can see anyways

try deleting that entire block i mentioned

if its job related i have no idea

few other things :

sc_config.txt

// Unremovable
SC_WEIGHTOVER50, 207
SC_WEIGHTOVER90, 207
SC_WEDDING, 77
SC_XMAS, 77
SC_SUMMER, 77
SC_NOCHAT, 205
SC_FUSION, 77


thats probably 64 + 8 + 4 + 1 or something but doubt it matters

sorry, but youve given me a sweet idea though  :otl:

 
no unfortunately i cant test it without downloading a bunch of stuff, but ive looked over it and thats the only thing i can see anyways

try deleting that entire block i mentioned

if its job related i have no idea

few other things :

sc_config.txt

// Unremovable
SC_WEIGHTOVER50, 207
SC_WEIGHTOVER90, 207
SC_WEDDING, 77
SC_XMAS, 77
SC_SUMMER, 77
SC_NOCHAT, 205
SC_FUSION, 77


thats probably 64 + 8 + 4 + 1 or something but doubt it matters

sorry, but youve given me a sweet idea though  :otl:
Thanks anyway, i'll try to play with sc_config....

lets wait until someone help us to solve this !

sorry, but youve given me a sweet idea though  :otl:
Go for it ^^ tell me if you find something !

 
well you can try this

case SC_WEDDING:
case SC_XMAS:
case SC_SUMMER:
case SC_HANBOK:
case SC_OKTOBERFEST:
case SC_DRESS_UP:
if (vd == NULL)
return 0;
// Store previous values as they could be removed.
unit->stop_attack(bl);
break;


now just delete the line that says

unit->stop_attack(bl);

recompile and try 

 
src/map/clif.c | 17 +----------------
src/map/pc.c | 2 --
2 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/src/map/clif.c b/src/map/clif.c
index a037d3436..8bc5a24f8 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -959,10 +959,6 @@ static void clif_get_weapon_view(struct map_session_data *sd, int *rhand, int *l
nullpo_retv(sd);
nullpo_retv(rhand);
nullpo_retv(lhand);
- if(sd->sc.option&OPTION_COSTUME) {
- *rhand = *lhand = 0;
- return;
- }

#if PACKETVER < 4
*rhand = sd->status.look.weapon;
@@ -3638,9 +3634,6 @@ static void clif_changelook(struct block_list *bl, int type, int val)
if (val == INVISIBLE_CLASS) /* nothing to change look */
return;

- if (sd->sc.option & OPTION_COSTUME)
- vd->weapon = vd->shield = 0;
-
if (!vd->cloth_color)
break;

@@ -3760,6 +3753,7 @@ static void clif_changetraplook(struct block_list *bl, int val)
/// 01d7 <id>.L <type>.B <value>.L (ZC_SPRITE_CHANGE2)
static void clif_sendlook(struct block_list *bl, int id, int type, int val, int val2, enum send_target target)
{
+ ShowDebug( "type: %d val: %d\n", type, val );
struct PACKET_ZC_SPRITE_CHANGE p;
p.packetType = sendLookType;
p.AID = id;
@@ -11061,9 +11055,6 @@ static void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action
if( pc_cant_act(sd) || pc_issit(sd) || sd->sc.option&OPTION_HIDE )
return;

- if( sd->sc.option&OPTION_COSTUME )
- return;
-
if (!battle_config.sdelay_attack_enable && pc->checkskill(sd, SA_FREECAST) <= 0 && (skill->get_inf2(sd->ud.skill_id) & (INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) == 0) {
if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
clif->skill_fail(sd, 1, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
@@ -12199,9 +12190,6 @@ static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill
}
}

- if (sd->sc.option & OPTION_COSTUME)
- return;
-
if (sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id))
return; // On basilica only caster can use Basilica again to stop it.

@@ -12327,9 +12315,6 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
}
}

- if( sd->sc.option&OPTION_COSTUME )
- return;
-
if( sd->sc.data[SC_BASILICA] && (skill_id != HP_BASILICA || sd->sc.data[SC_BASILICA]->val4 != sd->bl.id) )
return; // On basilica only caster can use Basilica again to stop it.

diff --git a/src/map/pc.c b/src/map/pc.c
index ea18715bb..3285e58cd 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -2066,8 +2066,6 @@ static int pc_disguise(struct map_session_data *sd, int class)
// We need to update the client so it knows that a costume is being used
if( sd->sc.option&OPTION_COSTUME ) {
clif->changelook(&sd->bl, LOOK_BASE, sd->vd.class);
- clif->changelook(&sd->bl,LOOK_WEAPON,0);
- clif->changelook(&sd->bl,LOOK_SHIELD,0);
clif->changelook(&sd->bl,LOOK_CLOTHES_COLOR,sd->vd.cloth_color);
}



there is a reason why we disable this server-side,
because I remember long time ago, during eathena times, having wedding sprite or xmas sprite can crash the client

just tested again today, although it doesn't crash my 20180621 client,
but it doesn't seems like can update the weapon/shield sprite properly
not really sure its server or client side restriction though,
I couldn't find any thing seems to block it from server side, since ShowDebug() shows the value properly ...

cash mount sprite problem,
yup, I can't move this topic into graphic support, because you asking multiple questions in 1 topic

download act editor and fix it yourself

 
Last edited by a moderator:
download act editor and fix it yourself
You can close this topic, i found something for now, "Equip: changebase Job_Xmas;" "UnEquip: changebase Class;" and so....

and for mounts i just changed my data.grf sprites to jRO data.grf sprites and fix it.

i'll try that sprite and act editor thank you for help !!!

 
Last edited by a moderator:
You can close this topic, i found something for now, "Equip: changebase Job_Xmas;" "UnEquip: changebase Class;" and so....
I knew that, but this doesn't show the weapon sprite

although its a bit off when enable it

screen2019Hercules036.jpg
screen2019Hercules037.jpg


hmm ... I just re-read the topic, you only want to enable attack/skill on these job sprite,
not enabling the weapon sprite ... it was from lllaaazzz suggestion

 
Last edited by a moderator:
Back
Top