Написание подобных скриптов вызвано тем что поставить крест не могут из-за кривых рук. Хотя ситуация когда некогда думать где нужно встать для того чтобы поставить крест бывает часто.
Ориентация стенки зависит от взаимного расположения чара и прицела. На основании этого сервер вычисляет, как ее поставить. То, что вычисляет сервер, можем и мы….
Вот кусок отвечающий за ориентацию с сервера.
Code: Select all
int dx = Caster.Location.X - p.X;
int dy = Caster.Location.Y - p.Y;
int rx = (dx - dy) * 44;
int ry = (dx + dy) * 44;
bool eastToWest;
if ( rx >= 0 && ry >= 0 )
{
eastToWest = false;
}
else if ( rx >= 0 )
{
eastToWest = true;
}
else if ( ry >= 0 )
{
eastToWest = true;
}
else
{
eastToWest = false;
}
А вот скрипт на ….
Code: Select all
sub PField()
var X = UO.GetSerial('laststatus.0x0E75')
if UO.FindCount() then
UO.Cast('Paralyze Field', X)
else
UO.Sound(63)
endif
endsub
Он поставит Paralyze Field, далее нужно вычислить ориентацию, если нужно переместить чара и поставить WS и запалить