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
Archery ARGN o.o
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
Archery ARGN o.o
Hi! First, sry for my english.

I was trying to do a double hit archery, in the trigger ON=@hit...
I add the macefighting [works nice], swords [nice too], fencing [too]
but i can't do works the archery special [Doble hit, the second hits it's a half of the dmg]

I try this:

Code:
[FUNCTION F_ARCHER]
IF ((<ARCHERY> >= 100.0) && (<TACTICS> >= 90.0) && (Rand(2) = 1))
ACT.SOUND=1314
SYSMESSAGE @30 "Le das un doble flechazo a <ACT.NAME>"
ACT.SYSMESSAGE @30 "<NAME> Te da un doble flechazo."
ACT.EFFECT=3,i_fx_curse,16,16,0
argn1 += (<argn1> / 2)
say <argn1>
ENDIF

And too with the argn1 = <argn1> + (<argn1> / 2)
but doesn't works...

I just put the SAY <ARGN1> and tryhit with it and the say is 0... ARGN2 too, and argn3 too o.o... [everytime when i hit this ^_^].
The effect works, the sound too, the messages too, the IF too. That works flawless...


The question is: How can I change the archery dmg?
[I have the default damage system]

And: How can I desactivate the ORIGINAL SOUND of ARCHERY when I hit this special attack? .NOSOUND? or something else? xD


Thank you very much Smile

[Image: 2hy9q0y.png]
07-31-2012 06:35 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #2
RE: Archery ARGN o.o
Did you put <argn1> as parameter's function in the @hit ?
07-31-2012 07:31 AM
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: #3
RE: Archery ARGN o.o
try

ON=@HIT
F_ARCHER <ARGN1>

and change the <argn1> in your F_ARCHER function to <args>

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.
07-31-2012 07:45 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: Archery ARGN o.o
(07-31-2012 07:45 AM)Extreme Wrote:  try

ON=@HIT
F_ARCHER <ARGN1>

and change the <argn1> in your F_ARCHER function to <args>


like this:
Code:
ON=@HIT
....
ELIF (<ACTION>==SKILL_ARCHERY)
  F_ARCHER <ARGN1>
SKILLGAIN ARCHERY 1
ENDIF
return 0

[FUNCTION F_ARCHER]
IF ((<ARCHERY> >= 100.0) && (<TACTICS> >= 90.0) && (Rand(2) = 1))
ACT.SOUND=1314
SYSMESSAGE @30 "Le das un doble flechazo a <ACT.NAME>"
ACT.SYSMESSAGE @30 "<NAME> Te da un doble flechazo."
ACT.EFFECT=3,i_fx_curse,16,16,0
args += (<args> / 2)
say <args>
ENDIF

I'm using the say args and the number is changing o.o
This doesn't works fine =( don't changes the damage.

i need return something like:
return <args> at the final?

Thanks!

[Image: 2hy9q0y.png]
07-31-2012 08:53 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #5
RE: Archery ARGN o.o
Why it's better to use args instead of argn1 in the function-body Shock ?


Btw yes, you have to return the args
(This post was last modified: 07-31-2012 09:13 AM by darksun84.)
07-31-2012 09:12 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: #6
RE: Archery ARGN o.o
(07-31-2012 09:12 AM)darksun84 Wrote:  Why it's better to use args instead of argn1 in the function-body Shock ?


Btw yes, you have to return the args

Thanks! i will try it, if it don't works, i will repost here ^_^
[i can't now Tongue]
tyyyyy people ^_^

[Image: 2hy9q0y.png]
07-31-2012 11:47 AM
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: #7
RE: Archery ARGN o.o
At final, had see that the ARGN1 has the HALF value of the TOTAL DAMAGE [because the default bonus of dmg of sphere ^_^] and not is the incoming damage...

And i use this:

src.hits = <src.hits> - <argn1>

But! the problem is that the number that AoS combat System shows me, is the true damage, and not the new damage... but... i guess.. this works now... It's just a new advice for the players Sad

[Image: 2hy9q0y.png]
07-31-2012 01:04 PM
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: #8
RE: Archery ARGN o.o
Code:
ON=@HIT
....
ELIF (<ACTION>==SKILL_ARCHERY)
  F_ARCHER <ARGN1>
SKILLGAIN ARCHERY 1
ENDIF
return 0

[FUNCTION F_ARCHER]
IF ((<ARCHERY> >= 100.0) && (<TACTICS> >= 90.0) && (Rand(2) = 1))
ACT.SOUND=1314
SYSMESSAGE @30 "Le das un doble flechazo a <ACT.NAME>"
ACT.SYSMESSAGE @30 "<NAME> Te da un doble flechazo."
ACT.EFFECT=3,i_fx_curse,16,16,0
args += (<args> / 2)
ACT.DAMAGE <EVAL <ARGS>> 01 <UID>
SAY <EVAL <ARGS>>
ENDIF

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.
07-31-2012 01:26 PM
Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #9
RE: Archery ARGN o.o
I see a "design" problem in that script , he is using sphere original damage and with damage flag 01(divine damage) most of time the 2nd arrow hit will do more damage than the first arrow hit(this is especially true if the enemy has a very high armor value), so i suggest you to use dam_physical(02)

i mean : act.damage <eval <args>> 02 <UID> Big Grin
(This post was last modified: 08-01-2012 12:04 AM by darksun84.)
08-01-2012 12:03 AM
Find all posts by this user Like Post Quote this message in a reply
sco
Apprentice
*

Posts: 38
Likes Given: 0
Likes Received: 3 in 1 posts
Joined: Mar 2012
Reputation: 7

Elantharil

Post: #10
RE: Archery ARGN o.o
This is my talent for doubleshot. It is not really a doubleshot as you think of it, it is more an ability to shoot twice and to do that very fast.

You will have to tweak it according to what you want and need - yet, it is tested and works on my shard.

Code:
[events e_doubleshot_talent]
on=@hit
if (<tag0.secshot> == 0)
    tag.secshot = 1
else
    //do only half the damage
    argn1 -= <argn1>/2
    tag.secshot =
endif

on=@hitmiss
if (<tag0.secshot> == 0)
    tag.secshot = 1
else
    tag.secshot =
endif


on=@hittry
if (!<weapon>)
    return 0
elif (<weapon.type> != t_weapon_bow)
    return 0
else
    if (<tag0.secshot> == 0)
        //if first shot: slow down a bit - thats specific to my ability and can be revised to whatever
        argn1=<eval <argn1> + ((<argn1>/4)*3)>
    else
        //setting this to 1 means: on tenth of a second then secondary shot goes off
        argn1=1
    endif
endif
08-01-2012 01:11 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: 1 Guest(s)