using core 100 complied in the last month. Client ver 7.0.75.6 (updated recently as well)
I can create the quest arrow, can even create multiple arrows pointing to different targets, however I do not seem able to remove/cancel the quest arrows.
This is me trying the options I could think of to remove the arrow.
Code: Select all
SendQuestArrow( who, -1, -1, ref );
SendQuestArrow( who, -1 , -1, "" );
SendQuestArrow( who );
Code: Select all
use uo;
program findCorpse( who, text );
var x := GetObjProperty( who, "#x_corpse" );
var y := GetObjProperty( who, "#y_corpse" );
var z := GetObjProperty( who, "#z_corpse" );
var r := GetObjProperty( who, "#r_corpse" );
var serial := GetObjProperty( who, "#serial_corpse" );
var ref := SystemFindObjectBySerial( CInt( serial ) );
var on_off := lower(text);
if ( on_off == "off" )
SendQuestArrow( who, -1, -1, ref );
SendQuestArrow( who, -1 , -1, "" );
SendQuestArrow( who );
return;
endif
if ( on_off == "on" )
SendQuestArrow( who, x , y, ref );
SendSysMessage( who, "Arrow on: Realm = " + r +" at: " +x +" / " +y );
return;
endif
if (( on_off != "on" ) && ( on_off != "off" ))
SendSysMessage( who, "usage is \".findcorpse on\" or \".findcorpse off\" ");
return;
endif
endprogram;
regardsSendQuestArrow(to_whom, x := -1, y := -1, target := "")
Parameters:
Name Type
to_whom Character reference the arrow shows to
x Integer world coordinates
y Integer world coordinates
target Item or Character reference
Explanation
Sends a "quest arrow" to the player that points at x,y
Passing 'x' and 'y' within map bounds will set the Quest Arrow to point at that location.
Passing -1 as 'x' and 'y' (ie. by just called SendQuestArrow(to_whom)) will remove it.
If the client is HSA (client version > 7.0.9), "target" is required. Otherwise it will be ignored.
Return values
1 on success
Errors
"No client attached"
"Invalid parameter"
"No valid target for HSA client"
Related
Character