The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Accessing a region coordinates
Author Message
Samba
Apprentice
*

Posts: 9
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jan 2014
Reputation: 0



Post: #1
Accessing a region coordinates
Hello, I'd like to spawn some creatures in a region i've defined like this:
Code:
[ROOMDEF a_dragonspawn]
NAME=Dragonspawn
FLAGS=region_flag_nobuilding|region_flag_underground
P=1484,1627,20
RECT=1479,1632,1488,1623,0

Is there a way I could make a function that takes a ROOMDEF name as a parameter and do stuff in its rectangle?

Thanks
(This post was last modified: 02-09-2014 03:05 AM by Samba.)
02-09-2014 03:05 AM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #2
RE: Accessing a region coordinates
If you want to retrieve its coordinates to work with them <room.rect> will give you back the amount of RECT defined in the script, <room.rect.n> will give you the coords of the N specified RECT number (This works with areas too).

If you only want to call something to happen on the room just use room.yourfunction or <room.yourfunction>.
02-09-2014 03:56 AM
Find all posts by this user Like Post Quote this message in a reply
Samba
Apprentice
*

Posts: 9
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jan 2014
Reputation: 0



Post: #3
RE: Accessing a region coordinates
Yes, I've read that on the wiki, thanks.
My problem is that I don't know how to work on a RECT, I couldn't find any example, sorry! Sad

I'd like to know if something like RECT.NorthPoint and RECT.SouthPoint would exist... thanks!
(This post was last modified: 02-09-2014 04:24 AM by Samba.)
02-09-2014 04:22 AM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #4
RE: Accessing a region coordinates
Code:
[Function yourfunction]
local.oldargs=<args>//needed only if you pass args to your function
for <room.rect>
args=<room.rect.<dlocal._for>>
local.x_low=<argv[0]>
local.y_low=<argv[1]>
local.x_high=<argv[3]>
local.y_high=<argv[4]>
local.map_<dlocal._for>=<argv[5]>
//so now you have in locals the values like this from your example RECT=1479(is now local.x_low),1632(local.y_low),1488(local.x_high),1623(local.y_high),0(local.map​):
//this will loop through all RECT you have, hence the FOR loop.
endfor
args=<local.oldargs>//only needed if you have args, like the first line.
02-09-2014 05:20 AM
Find all posts by this user Like Post Quote this message in a reply
Samba
Apprentice
*

Posts: 9
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jan 2014
Reputation: 0



Post: #5
RE: Accessing a region coordinates
I will be testing it soon! Thanks a lot! Smile
I've still got loads of question, I just feel like I asked too much for today =P
Thanks again! Smile

p.s. now I understand what you meant on rect.N, sorry Smile
(This post was last modified: 02-09-2014 07:51 AM by Samba.)
02-09-2014 05:38 AM
Find all posts by this user Like Post Quote this message in a reply
Samba
Apprentice
*

Posts: 9
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jan 2014
Reputation: 0



Post: #6
RE: Accessing a region coordinates
Uhm, it finds the room only if i use this trick:
<serv.map(<eval 1451>,<eval 1725>,<eval 0>).room>

BUT
It doesn't find any rect in there, even though I defined it (as you can see up in my first post...)

By wiki, there is no .RECT variable available when you access a ROOM (but, of course the rect exists, since if I go where I specified the rect and say .where in-game, it answers me that i'm in the dragonspawn Shock )
02-09-2014 08:27 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 3 Guest(s)