 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
| Author |
Message |
Firedancer
Joined: 03 Feb 2006 Posts: 104 Location: Austria
|
Posted: Wed May 24, 2006 6:38 am Post subject: |
|
|
I agree with Yukiko... and maybe someone might want to answer this real simple question? Just one line of code after all!
@kylee: I asume you use the default vital functions. In that case, simply create a new file, e.g. pol/scripts/textcmd/player/healme.src and copy in the following content... then compile it and it should work for all players and staff alike. (just copy it into the corresponding command level's folder that you want)
| Code: |
use uo;
use os;
include "/scripts/include/attributes";
program healme(who)
//sets the player's (who's) HP to the maximum he can have
SetHp( who,GetMaxHp( who ));
//feedback for the player:
Sendsysmessage(who,"you've been healed");
endprogram
|
in case you got no pol/scripts/include/attributes.inc you can make one adding this content:
| Code: |
const VITALID_LIFE := "Life";
function GetMaxHp( who )
return GetVitalMaximumValue( who, VITALID_LIFE ) / 100;
endfunction
function SetHp( who, hp )
return SetVital( who, VITALID_LIFE, hp * 100 ) && RecalcVitals( who );
endfunction
|
I didn't test it, so there might be a typo, but I'd be surprised if it wouldn't work. (once it's compiled just type .healme in game and it should max your hp. |
|
 |
|
|
 |
 |
|
 |
 |
| Author |
Message |
Firedancer
Joined: 03 Feb 2006 Posts: 104 Location: Austria
|
Posted: Wed May 24, 2006 3:41 pm Post subject: |
|
|
| Marilla wrote: |
Umm.. all respect, and all, Firedancer, but the original poster's question was:
| kylee wrote: | | a .heal me script.. that like clicks the bandies and targets you.. automaticly | |
Hmm maybe I understood him wrong, but does this not mean, that he wants a .command that does the same as some bandages applied to himself would do? Ahh ok, maybe he wants it to consume bandages from the players backpack then....
Maybe that one is better then?
| Code: |
use uo;
use os;
include "/scripts/include/attributes";
const BANDAGE_OBJTYPE:=0xe20;
const HP_HEALED_BY_BANDAGES:=25;
program healme(who)
//look for bandages -> search backpack
foreach item in (EnumerateItemsInContainer( who.backpack))
//is it a bandage?
if(item.objtype==BANDAGE_OBJTYPE);
//yes? -> consume one
if(item.amount>1)
SubtractAmount(item,1);
else
destroyitem(item);
endif
//now heal the player
if((GetHP(who)+HP_HEALED_BY_BANDAGES)>GetMaxHp( who ))
SetHp( who,GetMaxHp( who ));
else
SetHP(who,GetHP(who)+HP_HEALED_BY_BANDAGES);
endif
//report success
Sendsysmessage(who,"you've been healed");
return; //healed & done -> abort script
endif
endforeach
//---------------------------------------
//still here? then no bandages were found!
Sendsysmessage(who,"you donot have any bandages");
endprogram
|
plus this /scripts/include/attributes.inc:
| Code: |
const VITALID_LIFE := "Life";
function GetMaxHp( who )
return GetVitalMaximumValue( who, VITALID_LIFE ) / 100;
endfunction
function GetHp( who )
return GetVital( who, VITALID_LIFE ) / 100;
endfunction
function SetHp( who, hp )
return SetVital( who, VITALID_LIFE, hp * 100 ) && RecalcVitals( who );
endfunction
|
|
|
 |
|
|
|