Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 20.09.2010, 17:23   #1
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию Рисунок пути

Скрипт должен расчитывать и рисовать путь, который он узнает из пакета MoveToLocation, выбрасывая вещи.

x21 - х начала пути.
x11 - х конца пути.

по аналогии устроены другие переменные.

GetTimeFromPath - получение длинны пути.

dropitem - выброс вещи, который шлется на клиент.

delphi Код:
procedure PaintMyWay(x11,y11,z11,x21,y21,z21:integer); // объявление процедуры begin // начало 1 if ((Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)=0) then // не равняется ли длинна пути 0? begin //начало 2 exit; // если да - выходим дабы избежать вылета end; // конец 2 // если же длинна нашего пути не равна 0 то //Описание 1: вычесляем разницу между координатами, вычитаем из нее длинну пути dx1:=(x21 - x11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)// Описание 1 для x dy1:=(y21 - y11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для y dz1:=(z21 - z11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)// Описание 1 для z while (dx1>0) or (dx1<0) or (dy1>0) or (dy1<0) or (dz1>0) or (dz1<0) do // начинаем цикл, который выполняется при // условии что разница между разностью начальной и конечной координат x y z не равна 0. begin // начало 3 x11:=x11+dx1;  // прибавляем к начальному x разницу y11:=y11+dy1; // прибавляем к начальному y разницу z11:=z11+dz1;  // прибавляем к начальному z разницу dropItem(x11,y11,z11); // выкидываем вещь в эти координаты if ((Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10)=0) then //проверяем новые координаты, не равен ли путь с них 0? begin //начало 4 exit; //если это так то выходим дабы избежать ошибки end; //конец 4 dx1:=(x21 - x11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для x dy1:=(y21 - y11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10);// Описание 1 для y dz1:=(z21 - z11) div Round(Round(GetTimeFromPath(x21,y21,z21,x11,y11,z11,'path')) div 10); // Описание 1 для z end; // конец 3 end; // конец 1  

В чем заключается ПРОБЛЕМА - при непонятно каких обстоятельствах, рисованый путь искривляется.
__________________
Начало.

Последний раз редактировалось supernewbie, 20.09.2010 в 20:36. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
 

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:42.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!