Bypass the Range value in Return Scrolls.

Welcome in the osRose emulator Project.

Moderators: osRose dev team, ospRose dev team, osiRose dev team, Moderators

Bypass the Range value in Return Scrolls.

Postby kismetbecomes on Fri Nov 16, 2012 12:12 am

DevRev4
RoseZa Client 437

Hello OsRose.
I'm trying to implement an interplanetary scroll system - but the range (or the planet restriction) is not allowing me to teleport from Adventurer Plains to Xita as they are different planets. It will sendPm "This cannot be used at this zone." I have tried playing with the RANGE value in the SKILLS stb that corresponds to the scrolls skill-call, but no luck there - tried 0 and 9 - still nothing. I believe this is server sided - or maybe not. But anyway... please help me on this. Thanks. :)
RoseZa v437 - HueRose Test Project -- http://hueroseonline.no-ip.biz
kismetbecomes
Rackie
Rackie
 
Posts: 299
Joined: Mon Feb 06, 2012 12:41 am

Re: Bypass the Range value in Return Scrolls.

Postby PurpleYouko on Fri Nov 16, 2012 3:12 pm

Just search the source code for where "This cannot be used at this zone." appears in the server so you can find out what is preventing it.

It is possible that there is also a limitation on the client side though.

The "range" value in the skills stb appears to be a planet number so chances are you won't be able to use it unless that number matches the planet you are currently on. This will likely be a client side limitation that will prevent a packet even being sent to the server.
All interplanetary warping is done by QSD scripts as far as I can tell.
Not really sure how you would go about accessing a QSD from a scroll. :?

The following suggestion should work but it would be a pain in the ass to make it :lol:
Possibly you might be able to make a new version of the scroll that would activate a skill that summons a custom monster in the form of a portal that will use a custom AI to call a custom QSD which will warp you wherever you want to go.
Lots of custom files to make.
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Bypass the Range value in Return Scrolls.

Postby kismetbecomes on Fri Nov 16, 2012 5:24 pm

I did searched the "This cannot be used at this zone." haven't found it - or maybe I just did a sloppy search. Anyway, My real problem is that Alphonso does not teleport players to LUNA or Eldeon - or any other TP npcs. Something wrong with the lua/con/cxe/qsd? Or packets.
RoseZa v437 - HueRose Test Project -- http://hueroseonline.no-ip.biz
kismetbecomes
Rackie
Rackie
 
Posts: 299
Joined: Mon Feb 06, 2012 12:41 am

Re: Bypass the Range value in Return Scrolls.

Postby Toxyc on Fri Nov 16, 2012 6:54 pm

Image
Do the quest to travel *-*
User avatar
Toxyc
Smoulie
Smoulie
 
Posts: 38
Joined: Wed Feb 08, 2012 10:56 pm

Re: Bypass the Range value in Return Scrolls.

Postby Circa on Fri Nov 16, 2012 7:26 pm

I tried looking for where the return scrolls get handled, but I don't see anything that checks if a player is in a certain planet, and trying to use a scroll meant for another planet. I tried searching for that msg info many different ways, and nothing exist like it. So I guess it is handles it in the client only, which doesn't really makes sense. I guess that's why injecting packets to teleport were so easy since the server doesn't really handle it at all. Of course, i may have missed it or didn't look through every possible code that could handle it, but from everything that I saw nothing checks for the player being in a certain planet, to be able to teleport to a map on a different planet. So it is possible to teleport between planets, have you tried leaving the scroll skill-call blank?

Edit: Does the game even separate the planets by ID in any way?

I've also haven't checked how the QSD handles it either.
Circa
Clown
Clown
 
Posts: 404
Joined: Sun Aug 23, 2009 5:52 am
Location: CA

Re: Bypass the Range value in Return Scrolls.

Postby PurpleYouko on Fri Nov 16, 2012 8:20 pm

I think the message you are getting is from the client.

I've just thought of a way it could be worked with custom scrolls.
You would need to make a new scroll in LIST_USEITEMS.STB but leave all the data entries in the STB pretty much blank except for the type (313).
That way it should avoid client side tests. We don't actually need it to call a skill since the server doesn't use the skill anyway. It uses a case command.

Then you can simply make a special case for your scroll in extrafuntions.cpp under case 313: in function CUseInfo* CWorldServer::GetUseItemInfo(CPlayer* thisclient, unsigned int slot )

just add a new case for your scroll or modify the original one. The original cases are all there already.
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Bypass the Range value in Return Scrolls.

Postby kismetbecomes on Sat Nov 17, 2012 3:27 am

Toxyc wrote:Image
Do the quest to travel *-*


Of course I did. :?
RoseZa v437 - HueRose Test Project -- http://hueroseonline.no-ip.biz
kismetbecomes
Rackie
Rackie
 
Posts: 299
Joined: Mon Feb 06, 2012 12:41 am

Re: Bypass the Range value in Return Scrolls.

Postby kismetbecomes on Sat Nov 17, 2012 3:34 am

Circa wrote:I tried looking for where the return scrolls get handled, but I don't see anything that checks if a player is in a certain planet, and trying to use a scroll meant for another planet. I tried searching for that msg info many different ways, and nothing exist like it. So I guess it is handles it in the client only, which doesn't really makes sense. I guess that's why injecting packets to teleport were so easy since the server doesn't really handle it at all. Of course, i may have missed it or didn't look through every possible code that could handle it, but from everything that I saw nothing checks for the player being in a certain planet, to be able to teleport to a map on a different planet.



I've also haven't checked how the QSD handles it either.


So it is possible to teleport between planets, have you tried leaving the scroll skill-call blank?

Yes, but the NULL value itself is considered another zone. Still getting the "This cannot be used in this zone."

Edit: Does the game even separate the planets by ID in any way?

Yes the game separates the planet by ID. I've looked it up at LIST_ZONE.stb - there is a column for a planet number.
This handles what world map should be displayed in the clients map. The item restrictions like (of course) the scrolls
RoseZa v437 - HueRose Test Project -- http://hueroseonline.no-ip.biz
kismetbecomes
Rackie
Rackie
 
Posts: 299
Joined: Mon Feb 06, 2012 12:41 am

Re: Bypass the Range value in Return Scrolls.

Postby Circa on Sat Nov 17, 2012 6:35 am

Okay, well like we said, that's only handled in the client, so the server cares less about what planet you're on for scrolls. So do as PY said to make a new scroll item with all fields blank and declare a case for it where he specified, and presto you have your restrict-less scroll, is basically like using the /go command.
Last edited by Circa on Sat Nov 17, 2012 9:39 am, edited 1 time in total.
Circa
Clown
Clown
 
Posts: 404
Joined: Sun Aug 23, 2009 5:52 am
Location: CA

Re: Bypass the Range value in Return Scrolls.

Postby kismetbecomes on Sat Nov 17, 2012 8:44 am

Circa wrote:Okay, well like we said, that's only handled in the client, so the server cares less about what planet you're on for scrolls. So do as PY said to make a new scroll item with all fields blank and declare a case for it where she specified, and presto you have your restrict-less scroll, is basically like using the /go command.


Yes. thanks to all your help. :D I'm working on it now. :D
RoseZa v437 - HueRose Test Project -- http://hueroseonline.no-ip.biz
kismetbecomes
Rackie
Rackie
 
Posts: 299
Joined: Mon Feb 06, 2012 12:41 am

Next

Return to Support - OsRose Emulator

Who is online

Users browsing this forum: No registered users and 10 guests

cron