EOSERV Forum > EO Server Building > Connecting Permissions with Item ID's
Page: << 1 2 >>
Connecting Permissions with Item ID's
Author Message
Post #203855 Connecting Permissions with Item ID's

Is there any way to par an item with admin command capabilities? Or perhaps, allow someone to acquire a skill or item that can trigger the hide command when activated. Expanding on that idea, say I wanted to make an item allow teleportation, but only to certain towns or locations? 

Example 1: Completing a near-end game quest that rewards an item, which gives you the capability to warp to safe areas in the previous locations.

Example 2: Obtaining an item that would allow a player to go invisible to sneak past a specific area, or use a stealth spell to trigger it?

A difficult question to word properly, but hopefully the gist of what I was getting at is understood. 


EDIT: For my second example, I suppose things like scrolls work the same way with the teleport command, but I was more or less trying to put across the ability to actually "$warp x x x"  to a certain location, but not be allowed to warp to other coordination that you haven't unlocked permissions for.

6 years, 24 weeks ago
Post #203856 Re: Connecting Permissions with Item ID's

Yup. Just copy the admin warp command and tie it to # rather than the admin $. Add conditional branches for town map id's and item tokens for warping. You want to give this a shot or want it done for you? 

6 years, 24 weeks ago
Post #203857 Re: Connecting Permissions with Item ID's
Apollo posted: (7th Nov 2017, 06:27 pm)

Yup. Just copy the admin warp command and tie it to # rather than the admin $. Add conditional branches for town map id's and item tokens for warping. You want to give this a shot or want it done for you? 

Does that work the same with the $hide command? Perhaps by causing it to trigger via use of a certain spell?

Also, I will try my hand at setting it up myself, but if you wouldn't be too bothered with providing some support / guideline to any extent, it would definitely be appreciated. 



6 years, 24 weeks ago
Post #203858 Re: Connecting Permissions with Item ID's

The hide command doesn't work well with the admin player rank (0). There is some manipulation that can be done to bypass this client limitation but it is pretty ugly and involves some packet blocking trickery. Not sure why you would want to hide regular players.

6 years, 24 weeks ago
Post #203859 Re: Connecting Permissions with Item ID's

I think he has some kind of stealth quest in mind where you need to get through a minefield similar to that of the maze to apozen? 

if that's the case you could (in theory) just set a flag in the character class for like IsStealthed as a boolean, and flag it on when they use an item, and if you can track down in the NPC logic where the Monsters agro to your player when it's in range, just and another condition for the agroing if (player->InRange && !player->IsStealthed) aught to do the trick. I haven't worked with EOSERV in a little while but maybe that'll put you on the right path for that kind of functionality.

---
If money doesn't grow on trees, then why do banks have branches?
6 years, 24 weeks ago
Post #203860 Re: Connecting Permissions with Item ID's

This is indeed possible, but will require some WELCOME packet fuckery to trick player clients into thinking they're admins. You'd also have to do a full revamp of your backend hide system most likely.

I can think of a lot of ways that players being in a quasi-hide mode can be useful. For instance, on BU I have Spectator Mode for events. It's a very neat feature and an underexplored concept. Just be prepared to put the technical work in to get it working properly.


NOTE: The only ugly thing for my method is that the clients of the players in "hide" mode believe the player is an admin when I send that fudged WELCOME packet. If players type #nowall while in this mode, the client will happily act like it's working because it's basically a pure clientside feature. Of course, the server rejects admin walk packets from players, so it's a non-issue in terms of exploitation.

---
Want to learn to pixel?
Pixelsource.org
6 years, 24 weeks ago
Post #203862 Re: Connecting Permissions with Item ID's
Apollo posted: (7th Nov 2017, 08:34 pm)

The hide command doesn't work well with the admin player rank (0). There is some manipulation that can be done to bypass this client limitation but it is pretty ugly and involves some packet blocking trickery. Not sure why you would want to hide regular players.


Dan sort of answered this one, but my initial idea is in the lines of a sort of Rogue class ability. I've seen other people's take on the concept but none really advocate stealth, more or less evasion and whatnot. When you $hide you are, among other things, invisible to monster aggro, and I was hoping to implement that idea to the Rouge class set; allow them a class-specific spell that allows for the invisibility to toggle ($hide) once the spell is activated for a certain period of seconds, the length of which can be upgraded, in order to pass through certain rooms or dungeons. I'm going to fidget around with the code, if it is initially possible to tie the command in with a spell it shouldn't be hard to replicate it for certain upgrades.

@Dan / @Cirras / @Apollo: These are each interesting ideas. The common trait among them seems to be a bit of "messy" work for lack of a better word. I'm going to try my best - that is with what limited knowledge I have - to see what I can come up with. Appreciate the feedback, if anything else comes to mind do tell whenever you get the chance

6 years, 24 weeks ago
Post #203863 Re: Connecting Permissions with Item ID's

Sounds like you could fool the NPC aggression into ignoring you rather than exploiting the hide packet. Could be done with a conditional branch in NPC::Act() and adding a Character stealth attribute.

6 years, 24 weeks ago
Post #203864 Re: Connecting Permissions with Item ID's
Apollo posted: (9th Nov 2017, 06:27 pm)

Sounds like you could fool the NPC aggression into ignoring you rather than exploiting the hide packet. Could be done with a conditional branch in NPC::Act() and adding a Character stealth attribute.


I figured that, but then it would seem like you're just walking around and nothing was paying attention, there isn't exactly a crouch feature that makes silently walking feasible. The aspect wouldn't really carry much weight aside from assuming that they were "sneaking around quietly" but I'm looking for more of a visual cloaking ability. Is there a way of making your character transparent, such as when in $hide, when not actually toggled?
6 years, 24 weeks ago
Post #203868 Re: Connecting Permissions with Item ID's
Holystone posted: (9th Nov 2017, 06:38 pm)

Apollo posted: (9th Nov 2017, 06:27 pm)

Sounds like you could fool the NPC aggression into ignoring you rather than exploiting the hide packet. Could be done with a conditional branch in NPC::Act() and adding a Character stealth attribute.


I figured that, but then it would seem like you're just walking around and nothing was paying attention, there isn't exactly a crouch feature that makes silently walking feasible. The aspect wouldn't really carry much weight aside from assuming that they were "sneaking around quietly" but I'm looking for more of a visual cloaking ability. Is there a way of making your character transparent, such as when in $hide, when not actually toggled?

Uh... Yes. The method I mentioned, but it takes *work*, which a lot of people are averse to.

You're not going to find a clean way of doing this without some work. This is not one of those easy "add a function, add 2 checks, done!" features.

---
Want to learn to pixel?
Pixelsource.org
6 years, 24 weeks ago
Post #203882 Re: Connecting Permissions with Item ID's

Why not just make the items consumables so players can click the hide potion and become stealth for a timed period or until clicked again. Could literally copy the commands into a if(itemid==X) and change the froms to character->

I haven’t really looked at the new hide commands but I believe there flags now? Could always add a new flag for stealth hide too

6 years, 23 weeks ago
Post #203884 Re: Connecting Permissions with Item ID's
callum posted: (18th Nov 2017, 08:54 am)

Why not just make the items consumables so players can click the hide potion and become stealth for a timed period or until clicked again. Could literally copy the commands into a if(itemid==X) and change the froms to character->

I haven’t really looked at the new hide commands but I believe there flags now? Could always add a new flag for stealth hide too


That would work for the stealth mechanic in terms of hiding from NPCs, but wouldn't make the player transparent like he wanted.


Also, just realized I never responded to your example 1. That's super do-able, for instance we have a "Magic Flute" item on BU that ses a quest window and displays warp locations. Works like a charm. Making different places unlockable and stuff is surely possible, it would just require some smart backend design. (It's easy to make "tempquest" type features super messy.) 

If you didn't want to mess around with quest windows and all that, you could just have a player command that looks like this. (Simplistic/dirty. Not configurable, doesn't allow spaces in location names, etc.)


if (character->HasItem(ITEM_ID) == 0)
{
     character->ShowHint("You feel like you need a special item to do this...");
     return;
}

if (args.empty())
     return;

std::string location = args[0];

if (location == "exampletown")
{
     character->Warp(MAP_ID, MAP_X, MAP_Y);
}
else if (location == "spookydungeon")
{
     character->Warp(MAP_ID, MAP_X, MAP_Y);
}
else
{
     character->ShowHint("Sorry, /"" + location + "/" is not a valid location!");
}


---
Want to learn to pixel?
Pixelsource.org
6 years, 22 weeks ago
Post #203897 Re: Connecting Permissions with Item ID's

Hey guys maybe there's an armour someone can pixel that when equipped, is the graphic of a character in hide. (the armour would have to make person's skin gray so that race differences aren't noticed) Hero plate covers all parts of a character except the head right so I have hope a new armour can take care of all parts, maybe the armour needs a hat to go with it.

And if someone has those items equipped your NPCs can not aggro that person.

---
I not hacker

“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its
whole life believing that it is stupid.” - Albert Einstein : Really Great Quote Ramy!
6 years, 22 weeks ago
Post #203898 Re: Connecting Permissions with Item ID's
Hacker_Alex posted: (23rd Nov 2017, 06:17 pm)

Hey guys maybe there's an armour someone can pixel that when equipped, is the graphic of a character in hide. (the armour would have to make person's skin gray so that race differences aren't noticed) Hero plate covers all parts of a character except the head right so I have hope a new armour can take care of all parts, maybe the armour needs a hat to go with it.

And if someone has those items equipped your NPCs can not aggro that person.


The graphic of a character in hide is just the character, but transparent. That can't be replicated with an armour, unfortunately. He could do like a ninja outfit or something, at least that'd make sense for the function I suppose.
---
Want to learn to pixel?
Pixelsource.org
6 years, 22 weeks ago
Post #203899 Re: Connecting Permissions with Item ID's
Cirras posted: (24th Nov 2017, 02:54 am)

Hacker_Alex posted: (23rd Nov 2017, 06:17 pm)

Hey guys maybe there's an armour someone can pixel that when equipped, is the graphic of a character in hide. (the armour would have to make person's skin gray so that race differences aren't noticed) Hero plate covers all parts of a character except the head right so I have hope a new armour can take care of all parts, maybe the armour needs a hat to go with it.

And if someone has those items equipped your NPCs can not aggro that person.


The graphic of a character in hide is just the character, but transparent. That can't be replicated with an armour, unfortunately. He could do like a ninja outfit or something, at least that'd make sense for the function I suppose.

You're saying you can't make an armour that looks tran.............. of course you can!

what I mean by that is that of course we can't make the character transparent but we can pixel an armour that looks transparent itself as if it was partly showing the character's skin as well, and the skin will have to be gray ish so that it doesnt look funky on different skin tones (hope to heck your server doesnt have fish tone)
---
I not hacker

“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its
whole life believing that it is stupid.” - Albert Einstein : Really Great Quote Ramy!
6 years, 22 weeks ago
Page: << 1 2 >>

EOSERV Forum > EO Server Building > Connecting Permissions with Item ID's