moin moin,
ich moechte mit eurer hilfe das bereits existente essorc script veraendern sodass die sorc nicht mehr dazu genoetigt ist act1 abzuklappern
zuerst kam mir in den sinn die stairid auszutauschen was allerdings nicht funktioniert hat ;X
Code:
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(!me.GetState(137))
{
if(!NTM_MoveToStair(108, 8)) //CS entry
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
return;
}
FindShrines();
any sugguestions? ^^
naechste idee waere die function findshrines zu splitten und eine findshrine/hotshrine function zu erstellen
hier die basis functions:
Code:
function FindShrines()
{
var ShrineIds = [2, 83, 85, 86, 93, 96, 97, 109, 116, 120, 123, 124, 133, 134, 135, 136, 150, 151, 172, 173, 184, 190, 191, 197, 199, 200, 201, 226, 231, 232, 260, 275, 276, 277, 278, 279, 282, 299, 300, 303, 325, 361, 414, 415, 421, 422, 423, 427, 428, 464, 465, 472, 479, 483, 484, 488, 491, 492, 495, 497, 499, 503, 509, 512, 520, 521, 522];
var ShrineLocs = [];
var unit = GetPresetUnits(me.areaid);
if(unit)
{
for (var j = 0; j < unit.length; j++)
{
for (var c = 0; c < ShrineIds.length; c++)
{
if (ShrineIds[c] == unit[j].id)
{
ShrineLocs.push([unit[j].roomx*5+unit[j].x + 3,unit[j].roomy*5+unit[j].y])
}
}
}
}
while(ShrineLocs.length > 0)
{
ShrineLocs.sort(SortRoomInt);
var _room = ShrineLocs.shift();
NTM_MoveTo(me.areaid, _room[0], _room[1]);
var shrine = NTC_FindUnit(NTC_UNIT_OBJECT, "shrine");
if(shrine)
{
do
{
if(GetDistance(me.x,me.y,shrine.x,shrine.y)<5)
{
if(shrine.shrinetype == 15)
{
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, shrine);
break;
}
}
}
while(shrine.GetNext());
}
if(me.GetState(137))
break;
}
}
function SortRoomInt(a, b)
{
if(GetDistance(me.x, me.y, a[0], a[1]) < GetDistance(me.x, me.y, b[0], b[1]))
return -1;
return 1;
}
idea1: sorc geht nach seis oder waehrend zum wp und telet richtung cs und dann dort die seals ab um einen es zu suchen, ihn zu nehmen und dann fortzufahren
idea2: sorc sucht waehrend des laufenden main-scripts die shrines , speichert die location, und holt sich den es bei bedarf durch "hotshrine"
bin offen fuer anregungen