tokenacc001 Posted August 10, 2020 Posted August 10, 2020 (edited) hello! Anyone can help me make a command that will hide all player's headgear (only on the side of player who use the command), but still equipped? Thanks a lot!! Edit: not sure if this is allowed but: willing to pay for it... really need this feature Edited August 11, 2020 by tokenacc001 Quote
1 Patskie Posted August 11, 2020 Posted August 11, 2020 20 hours ago, TheKingDino said: This would be a lot of work and unless it's already been done I doubt someone is gonna do it for free. I've looked around a lot for something like this in the past and never found it. This would require client-side modification on top of the c++ coding to install the AT command, which is the easier part. I know this isn't really helpful. But there is a costume item called Invisible Hat, Invisible Sunglasses, and Invisible Mask(dont remember the real name).https://www.divine-pride.net/database/item/31292/unknown-item-31292 So at the very least you could make an NPC or command that hands these out so a single player has the freedom to hide their own headgears. But it's hardly a solution. I don't think it will be hard as per your claim @tokenacc001 Go to src/map/clif.cpp and change below from // prevent leaking the presence of GM-hidden objects if( sc && sc->option&OPTION_INVISIBLE ) target = SELF; to // prevent leaking the presence of GM-hidden objects if( (sc && sc->option&OPTION_INVISIBLE) || !val ) target = SELF; Recompile and re-test the script given by @Poring King . above change will work globally so use at your own risk. 1 Quote
0 TheKingDino Posted August 10, 2020 Posted August 10, 2020 This would be a lot of work and unless it's already been done I doubt someone is gonna do it for free. I've looked around a lot for something like this in the past and never found it. This would require client-side modification on top of the c++ coding to install the AT command, which is the easier part. I know this isn't really helpful. But there is a costume item called Invisible Hat, Invisible Sunglasses, and Invisible Mask(dont remember the real name).https://www.divine-pride.net/database/item/31292/unknown-item-31292 So at the very least you could make an NPC or command that hands these out so a single player has the freedom to hide their own headgears. But it's hardly a solution. Quote
0 tokenacc001 Posted August 11, 2020 Author Posted August 11, 2020 10 hours ago, TheKingDino said: This would be a lot of work and unless it's already been done I doubt someone is gonna do it for free. I've looked around a lot for something like this in the past and never found it. This would require client-side modification on top of the c++ coding to install the AT command, which is the easier part. I know this isn't really helpful. But there is a costume item called Invisible Hat, Invisible Sunglasses, and Invisible Mask(dont remember the real name).https://www.divine-pride.net/database/item/31292/unknown-item-31292 So at the very least you could make an NPC or command that hands these out so a single player has the freedom to hide their own headgears. But it's hardly a solution. do you have idea on how to do that? willing to pay... really need this feature. Quote
0 Poring King Posted August 11, 2020 Posted August 11, 2020 Try this //Simple HG Hiding by crazyarashi - script Invisible -1,{ OnAtCommand: .@npc$ = "["+ strnpcinfo(1) +"]"; mes .@npc$; mes "Hello, "+strcharinfo(0); mes "Which headgear do you want to hide?"; next; setarray .@hgmenu$, "Top Headgear", "Middle Headgear", "Lower Headgear"; .@menu$ = implode(.@hgmenu$, ":"); .@i = select( .@menu$ ) - 1; .@equip = getequipid(.location$[.@i]); if( .@equip != getequipid(.location$[.@i])) { mes .@npc$; mes "You're not wearing any headgear"; close; } else { atcommand "@"+ .looks$[.@i]; dispbottom .@hgmenu$[.@i] +" is now hidden"; end; } OnInit: setarray .location$, "EQI_HEAD_TOP", "EQI_HEAD_MID", "EQI_HEAD_LOW"; setarray .looks$, "changelook 1 0", "changelook 2 0", "changelook 3 0"; bindatcmd "hidehg",strnpcinfo(0)+"::OnAtCommand"; } Quote
0 tokenacc001 Posted August 12, 2020 Author Posted August 12, 2020 9 hours ago, Patskie said: I don't think it will be hard as per your claim @tokenacc001 Go to src/map/clif.cpp and change below from // prevent leaking the presence of GM-hidden objects if( sc && sc->option&OPTION_INVISIBLE ) target = SELF; to // prevent leaking the presence of GM-hidden objects if( (sc && sc->option&OPTION_INVISIBLE) || !val ) target = SELF; Recompile and re-test the script given by @Poring King . above change will work globally so use at your own risk. didn't work it just work like a regular changelook, other players can't see the command user's headgear, and the command user can still see other player's headgear Quote
0 Patskie Posted August 12, 2020 Posted August 12, 2020 18 minutes ago, tokenacc001 said: didn't work it just work like a regular changelook, other players can't see the command user's headgear, and the command user can still see other player's headgear Did you recompile your server? Quote
0 tokenacc001 Posted August 12, 2020 Author Posted August 12, 2020 4 minutes ago, Patskie said: Did you recompile your server? yes i did Quote
0 agamanaros Posted February 14, 2021 Posted February 14, 2021 On 8/11/2020 at 11:36 PM, Poring King said: Try this //Simple HG Hiding by crazyarashi - script Invisible -1,{ OnAtCommand: .@npc$ = "["+ strnpcinfo(1) +"]"; mes .@npc$; mes "Hello, "+strcharinfo(0); mes "Which headgear do you want to hide?"; next; setarray .@hgmenu$, "Top Headgear", "Middle Headgear", "Lower Headgear"; .@menu$ = implode(.@hgmenu$, ":"); .@i = select( .@menu$ ) - 1; .@equip = getequipid(.location$[.@i]); if( .@equip != getequipid(.location$[.@i])) { mes .@npc$; mes "You're not wearing any headgear"; close; } else { atcommand "@"+ .looks$[.@i]; dispbottom .@hgmenu$[.@i] +" is now hidden"; end; } OnInit: setarray .location$, "EQI_HEAD_TOP", "EQI_HEAD_MID", "EQI_HEAD_LOW"; setarray .looks$, "changelook 1 0", "changelook 2 0", "changelook 3 0"; bindatcmd "hidehg",strnpcinfo(0)+"::OnAtCommand"; } Hi Sir @Poring King,I tried your script and it works perfectly however Im just wondering if its possible that instead of choosing which headgear to disable, once @hidehg is called all of the headgear views will be 0? Thank you sir and more power! Quote
0 abdol Posted May 9, 2022 Posted May 9, 2022 On 8/11/2020 at 11:36 PM, Poring King said: Try this //Simple HG Hiding by crazyarashi - script Invisible -1,{ OnAtCommand: .@npc$ = "["+ strnpcinfo(1) +"]"; mes .@npc$; mes "Hello, "+strcharinfo(0); mes "Which headgear do you want to hide?"; next; setarray .@hgmenu$, "Top Headgear", "Middle Headgear", "Lower Headgear"; .@menu$ = implode(.@hgmenu$, ":"); .@i = select( .@menu$ ) - 1; .@equip = getequipid(.location$[.@i]); if( .@equip != getequipid(.location$[.@i])) { mes .@npc$; mes "You're not wearing any headgear"; close; } else { atcommand "@"+ .looks$[.@i]; dispbottom .@hgmenu$[.@i] +" is now hidden"; end; } OnInit: setarray .location$, "EQI_HEAD_TOP", "EQI_HEAD_MID", "EQI_HEAD_LOW"; setarray .looks$, "changelook 1 0", "changelook 2 0", "changelook 3 0"; bindatcmd "hidehg",strnpcinfo(0)+"::OnAtCommand"; } it uses the command but still show the hg Any help on this Quote
0 kalabasa Posted September 18, 2022 Posted September 18, 2022 if you unequipped any item that you already hide it will show up again upon re-equipping it Quote
0 DevilingKing Posted February 17, 2024 Posted February 17, 2024 who can help me... off Costume ROBE changelook LOOK_ROBE,getlook(LOOK_ROBE); changelook LOOK_ROBE,0; i load show again this costume Quote
Question
tokenacc001
hello!
Anyone can help me make a command that will hide all player's headgear (only on the side of player who use the command), but still equipped?
Thanks a lot!!
Edited by tokenacc001Edit: not sure if this is allowed but: willing to pay for it... really need this feature
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.