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
addgold function for vendors
Author Message
Lazarus
Master
**

Posts: 352
Likes Given: 11
Likes Received: 7 in 6 posts
Joined: Jun 2012
Reputation: 1

Hybris Ultima Online

Post: #1
addgold function for vendors
This is right ?


Code:
[FUNCTION addgold]
LOCAL.AMOUNT=<ARGN1>
WHILE <LOCAL.AMOUNT>
IF (<LOCAL.AMOUNT> >= 65000)
SERV.NEWITEM i_gold
NEW.AMOUNT 65000
LOCAL.AMOUNT -= 65000
ELSE
SERV.NEWITEM i_gold
NEW.AMOUNT <LOCAL.AMOUNT>    
LOCAL.AMOUNT=0
ENDIF
IF (0<ARGN2>)
NEW.CONT <ARGN2>
ELSE
BOUNCE <NEW>
ENDIF
ENDWHILE
UPDATE

[PLEVEL 4]
addgold


This is was we are talking in the chat Tongue

Shock

[Image: 2hy9q0y.png]
09-29-2012 01:06 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Extreme
Grandmaster Poster
***

Posts: 1,141
Likes Given: 217
Likes Received: 90 in 77 posts
Joined: May 2012
Reputation: 20

SphereCommunity

Post: #2
RE: addgold function for vendors
PHP Code:
[FUNCTION addgold]
LOCAL.AMOUNT <ARGV[0]>
WHILE <
dLOCAL.AMOUNT> > 0
 
IF (<LOCAL.AMOUNT> > 65000)
  
SERV.NEWITEM i_gold
  
NEW.AMOUNT 65000
  LOCAL
.AMOUNT -= 65000
 
ELSE
  
SERV.NEWITEM i_gold
  
NEW.AMOUNT <dLOCAL.AMOUNT>    
  
LOCAL.AMOUNT 0
 
ENDIF
 IF (<
ARGV[1]>)
  NEW.
CONT <ARGV[1]>
 ELSE
  
BOUNCE <NEW>
 ENDIF
ENDWHILE

[
PLEVEL 4]
addgold 
Try this one.

STEPS BEFORE CREATE A THREAD
- Check the revisions log;
- Use the search button and use the keywords of your problem;
- Check the WIKI;
- Create a thread.
09-29-2012 03:29 AM
Find all posts by this user Like Post Quote this message in a reply
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #3
RE: addgold function for vendors
Instead of a custom function, can't you just modify the GOLD directly? For example, instead of:

SRC.addgold 1000000

...use this instead:

SRC.GOLD += 1000000
09-29-2012 10:30 AM
Find all posts by this user Like Post Quote this message in a reply
Lazarus
Master
**

Posts: 352
Likes Given: 11
Likes Received: 7 in 6 posts
Joined: Jun 2012
Reputation: 1

Hybris Ultima Online

Post: #4
RE: addgold function for vendors
(09-29-2012 10:30 AM)RanXerox Wrote:  Instead of a custom function, can't you just modify the GOLD directly? For example, instead of:

SRC.addgold 1000000

...use this instead:

SRC.GOLD += 1000000


It's for vendors Tongue

Thanks Extreme! I will try it!

[Image: 2hy9q0y.png]
09-29-2012 06:34 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Lazarus
Master
**

Posts: 352
Likes Given: 11
Likes Received: 7 in 6 posts
Joined: Jun 2012
Reputation: 1

Hybris Ultima Online

Post: #5
RE: addgold function for vendors
Undefined Symbol ' ' in line :

IF (<ARGV[1]>)

[Image: 2hy9q0y.png]
09-30-2012 06:07 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Extreme
Grandmaster Poster
***

Posts: 1,141
Likes Given: 217
Likes Received: 90 in 77 posts
Joined: May 2012
Reputation: 20

SphereCommunity

Post: #6
RE: addgold function for vendors
.addgold 1000,<uid of vendor>

STEPS BEFORE CREATE A THREAD
- Check the revisions log;
- Use the search button and use the keywords of your problem;
- Check the WIKI;
- Create a thread.
09-30-2012 06:34 AM
Find all posts by this user Like Post Quote this message in a reply
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #7
RE: addgold function for vendors
Try this built-in function to put gold into the backpack:

SRC.NEWGOLD 100000
09-30-2012 09:29 AM
Find all posts by this user Like Post Quote this message in a reply
Lazarus
Master
**

Posts: 352
Likes Given: 11
Likes Received: 7 in 6 posts
Joined: Jun 2012
Reputation: 1

Hybris Ultima Online

Post: #8
RE: addgold function for vendors
(09-30-2012 09:29 AM)RanXerox Wrote:  Try this built-in function to put gold into the backpack:

SRC.NEWGOLD 100000

That's not the problem Tongue [thanks anyway! Tongue]

the factor of this is; When you retrieve the gold of the vendor that get with the sells, the addfunction works and give to you the money Shock

[Image: 2hy9q0y.png]
(This post was last modified: 09-30-2012 01:18 PM by Lazarus.)
09-30-2012 01:17 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #9
RE: addgold function for vendors
You are the guy with the crashing main loop. The most likely cause of that problem is unsafe "while" constructs. I am just giving you alternative suggestions so you can eliminate this function. If you don't want to use those suggestions, that's fine, I will stop with the suggestions.
10-01-2012 02:42 AM
Find all posts by this user Like Post Quote this message in a reply
Mordaunt
Super Moderator
****

Posts: 1,237
Likes Given: 26
Likes Received: 55 in 43 posts
Joined: Mar 2012
Reputation: 35



Post: #10
RE: addgold function for vendors
It is always better to achieve the end result in the simplest way possible.
If it can be achieved with a single line of code using a built in function, scripting something that is longer and uses loops to acheive the goal is nonsensical.

[Image: 2nis46r.jpg]
10-01-2012 02:48 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


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