All pastes #1886838 Raw Edit

Something

public text v1 · immutable
#1886838 ·published 2010-06-20 03:53 UTC
rendered paste body
function findLead(leader)
{
	var _lead= getUnit(0, leader)
		if(_lead)
		return _lead.area;
	// leader not found look in party
	var area =0;
	 var a = getParty();
	if(!a)
		return false;
		
	   do { 
		  if (a.name==leader){
			area=a.area;	
			}
	   } while(a.getNext()); 
		if (area==0) {
			//sendCopyData(null, "OOG", 0,"Quit:Quit()" );
			return false;

		}
	return area;
}

var _NTLW_timerLastDrink = new Array(5);
	var myself;
	var pause = false;
	var _LifeMax 
	var _ManaMax 
	var _count = 0;
	var _mercHP;
	var _party, _mypartyid;
	var Result =" ";
	var Reason =" ";
var _NTLW_timerLastDrink = new Array(5);
var debugStr;
function main()
{
 Result =" ";
Reason =" ";
	delay(500);
	//text "text",x,y,color,font,alingment
	//var LWHook = new Text("LWHook", 400, 550, 2, 6, 2);
	//var LWHook2 =  new Text("", 400, 540, 2, 6, 2);
	include("common/NTCommon.dbl");
	NTC_IncludeConfig();
	var DrinkHP;
	var DrinkMP;
	var DrinkRV;
	var MercHP;
	var meHP;
	var meMP;
	var DrinkRVm;
	var LastAction =" " ;
	
	var _count = 0;
	var _LifeMax, _ManaMax;
	var _mercHP;
	var _party, _mypartyid;

	print("c3Start ToolsThread script");

	NT_LoadConfig();

	_LifeMax = me.hpmax;
	_ManaMax = me.mpmax;

	if(NTConfig_LifeChicken > 0)
	
		me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10);

	if(NTConfig_ManaChicken > 0)
		me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100,10);

	for(var i = 0 ; i < 5 ; i++)
		_NTLW_timerLastDrink[i] = ((getTickCount())-5000);
		
	//print( _NTLW_timerLastDrink[2] );
myself = copyUnit(me);
	while(me.ingame)
	{
	
		if(!LW_InTown())
		{
			if(_LifeMax != me.hpmax)
			{
				_LifeMax = me.hpmax;

				if(NTConfig_LifeChicken > 0)
					me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10);
			}

			if(_ManaMax != me.mpmax)
			{
				_ManaMax = me.mpmax;

				if(NTConfig_ManaChicken > 0)
					me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);
			}
	/*
	DrinkHP = parseInt((_LifeMax*NTConfig_LifeThresh)/100);
	DrinkMP = parseInt((_ManaMax*NTConfig_ManaThresh)/100,10);
	DrinkRV =parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10);
	DrinkRVm = parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10)
	meHP =me.hp;
	meMP = me.mp;
	debugStr ="Drinking HP at:"+DrinkHP+" Drinking MP at:"+DrinkMP+" Drinking RVhp at:"+DrinkRV +" ManaJuv at:"+DrinkRVm;
	LWHook.text = debugStr;
	LWHook2.text = LastAction + " " + Reason;
	*/
	//me.overhead( LastAction + " " + Reason);
			if(me.hp < parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10) || me.mp < parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10)){
				LastAction="Drink Rejuve";
				if (!NTLW_DrinkPotInt(2)){ //failed to find juvie drink hp/mp
					if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){
						NTLW_DrinkPotInt(0);
						LastAction="Drinking HP";
					}
					if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){
						NTLW_DrinkPotInt(1);
						LastAction="Drinking MP";
					}				
				}				
			}else
			{
				if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){
					NTLW_DrinkPotInt(0);
						LastAction="Drinking HP";
				}
				if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){
					NTLW_DrinkPotInt(1);
					LastAction="Drinking MP";
				}
			}

			_mercHP = getMercHP();

			if(_mercHP > 0)
			{
				if(_mercHP < NTConfig_MercChicken)
				{					
					quit();
					break;
				}

				if(_mercHP < NTConfig_MercRejuvThresh){
					NTLW_DrinkPotInt(4);
					LastAction="Merc Rejuve";
				}
				else if(_mercHP < NTConfig_MercLifeThresh){
					LastAction="Merc HP";
					NTLW_DrinkPotInt(3);
				}
			}
		}

		if(_count++ > 10)
		{
			if(NTConfig_PublicMode)
			{
				var leader;
				_party = getParty();

				if(_party)
				{
					_mypartyid = _party.partyid;
					for (var z = 0 ; z < NT_Leader.length ; z++) {
						if  (findLead(NT_Leader[z])) {
							leader = NT_Leader[z];
							break;
						}
						else sendCopyData(null,"OOG",0,"Leader Not Found -->" +NT_Leader[z]);
					}
					while(_party.getNext())
					{
						if((leader && _party.name == leader) || !leader || me.charname == leader)
							if(_party.partyid == 65535 || _party.partyid != _mypartyid)
							{
								if(_party.partyflag == 2)
								{
									clickParty(_party, 2);
									break;
								}

								if(_party.partyid == 65535 && me.charname == leader)
								{
									if(_party.partyflag == 4)
										break;

									clickParty(_party, 2);
									delay(40);

									if(_party.partyflag == 4 || (_party.partyid != 65535 && _party.partyid == _mypartyid))
										break;
								}
							}
					}
				}
			}

			_count = 0;
		}

		delay(500);
	}
}

// Internal function
function NTLW_DrinkPotInt(type)
{
Reason ="Attempting to drink" +type;
	var _pottype;
	var _potion;
	var _tNow = getTickCount();

	if(type == 2 || type == 4)
	{
	Reason ="timer check"+_NTLW_timerLastDrink[type] ;
		if(_tNow-_NTLW_timerLastDrink[type] < 1000){
			Reason ="Failed Drink Timer";
			//print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type);
			return false;
		}
	}
	else
	{
		Reason ="timer check"+_NTLW_timerLastDrink[type] ;
		if(_tNow-_NTLW_timerLastDrink[type] < 3000){
			Reason ="Failed Drink Timer";
			//print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type);
			return false;
		}
	}
	Reason ="after timer check";
	switch(type)
	{
	case 0:
	case 3:
		_pottype = 76;		
		break;
	case 1:
		_pottype = 77;
		break;
	default:
		_pottype = 78;
		break;
	}
	Reason ="Getting Pot type" +_pottype;
	_potion = NTLW_GetPotionInt(_pottype);

	if(_potion)
	{
	Reason ="Found Pot";
		if(me.mode == 0 || me.mode == 17 || me.mode == 18){
			Reason ="bad Mode Failed";
			return false;
		}
		if(type < 3)
			_potion.interact();
		else
			clickItem(2, _potion);
	
		_NTLW_timerLastDrink[type] = getTickCount();
		Reason ="Success";
		return true;
	}
	Reason ="Failed to find pot";
	return false;
}

function NTLW_GetPotionInt(pottype)
{
	var _items = me.getItems();

	if(!_items)
		return false;

	for(var i = 0 ; i < _items.length ; i++)
	{
		if(_items[i].mode == 2 && _items[i].itemType == pottype){
			//print("pot Found");
			return copyUnit(_items[i]);
			}
	}

	return false;
}
function LW_InTown(who)
{
	
	var _area;

	if(arguments.length < 1)
		who = myself;
	_area = who.area;

	return (_area == NTC_AREA_ID_ACT_1 || _area == NTC_AREA_ID_ACT_2 || _area == NTC_AREA_ID_ACT_3 || _area == NTC_AREA_ID_ACT_4 || _area == NTC_AREA_ID_ACT_5);
}