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-nmm7 (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-nmm7 (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-nmm7 (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
Looping trough all region
Author Message
Ben
Sphere Developer
*****

Posts: 612
Likes Given: 2
Likes Received: 123 in 70 posts
Joined: Mar 2010
Reputation: 18

SphereCommunity

Post: #10
RE: Looping trough all region
Well, here is a working version (been tested)

PHP Code:
[FUNCTION make_weather]
    
local.map=<dargv[0]> // map, 0
    
local.region_defname=<argv[1]> // your region name you wish that it rain
    
local.weather=<argv[2]> // weather like rain, snow or try
    
local.size=<serv.maplist.<dlocal.map>.sector.size>

    
FOR 
<eval <serv.maplist.<dlocal.map>.sector.qty>-1>
  
    
local.secx = (<local.size>/2) + ((<local._for> % <serv.maplist.<dlocal.map>.sector.cols>) * <local.size>)
    
local.secy = (<local.size>/2) + ((<local._for> / <serv.maplist.<dlocal.map>.sector.cols>) * <local.size>)
    
local.secregion = <SERV.MAP(<dlocal.secx>,<dlocal.secy>,<dlocal.map>).region.defname>

    IF (
STRMATCH("<local.region_defname>*","<local.secregion>"))
        
SERV.MAP.<dlocal.map>.SECTOR.<eval <local._for>+1> <local.weather>
    ENDIF
ENDFOR 

The problem was the location was not calculated properly

Now I do see potential issues with this... if a region is very small, it could be skiped over since it's only testing every sector.size tiles (64 in this case)

AxisII's current version: 2.0.4j
AxisII SourceCode on Github
AxisII up to date changelog
(This post was last modified: 03-18-2013 10:50 AM by Ben.)
03-18-2013 10:45 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Messages In This Thread
Looping trough all region - admin phoenix - 03-14-2013, 07:43 PM
RE: Looping trough all region - Skul - 03-15-2013, 09:20 PM
RE: Looping trough all region - Mordaunt - 03-17-2013, 08:07 AM
RE: Looping trough all region - Ben - 03-17-2013, 10:54 PM
RE: Looping trough all region - Mordaunt - 03-18-2013, 03:45 AM
RE: Looping trough all region - Ben - 03-18-2013 10:45 AM
RE: Looping trough all region - Kurita - 03-19-2013, 06:09 PM

Forum Jump:


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