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
This conditional is wrong?
Author Message
XuN
Sphere Developer
*****

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



Post: #4
RE: This conditional is wrong?
First: SRC WILL NEVER have VARS, since vars are server handled and var.test1 will be the same to every item/player/gm/npc/house/whatever, so there's no reason to use src.var*.

Second: You have to compare one string at each time, 150,110 (in example) are 2 so you can separate them and compare in 2 checks or use str* intrinsic functions.

Using STR*:
if (strcmpi("<var0.test1>","<p.x>,<p.y>")==0)// == 0 means, in a simple explanation, 0 differences ... so a total match.
if (strmatch("<var0.test1>","<p.x>,<p.y>")==1)// this one should work too

Separating args:
You first need a function to get each argument
Code:
[FUNCTION argvx]
//Usage: <argvx 0,110,120,150>
//First number = arg number to retrieve, 0 = first one in this case
//the rest is the real args
local.string=<argv0>//argv0 = first number (the one telling what arg to retrieve)
args=<streat <args>>//removing first arg ( the number )
if (<isempty <args>>)//just a check to avoid problems with empty args
serv.log Error: empty args
return -1 //this is what will return, feel free to change
elseif (<argv <args>> < <local.string>)//check if the given id is higher than the real amount of args.
serv.log Error: Too few arguments.
return 0
endif
return <argv<dlocal.string>>

Then you have to use it in your code like this:

if (<argvx 0,<var0.test1>>==<p.x> && <argvx 1,<var0.test1>>)
04-09-2015 04:54 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Messages In This Thread
This conditional is wrong? - pushim - 04-07-2015, 08:12 PM
RE: This conditional is wrong? - azmanomer - 04-07-2015, 09:14 PM
RE: This conditional is wrong? - pushim - 04-08-2015, 08:26 PM
RE: This conditional is wrong? - XuN - 04-09-2015 04:54 PM
RE: This conditional is wrong? - pushim - 04-13-2015, 02:02 AM

Forum Jump:


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