Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Телепорт по локации мышкой 2,7 Обновленный

-

Боты, скрипты и прочий софт для Aion

- Весь софт по Aion, скрипты и боты для игры

Ответ
 
Опции темы
Старый 21.12.2012, 22:56   #1
Подпольщик Aion
 Сержант
Аватар для altairalentus
 
altairalentus излучает ауруaltairalentus излучает ауруaltairalentus излучает ауруaltairalentus излучает ауруaltairalentus излучает ауруaltairalentus излучает ауру
Регистрация: 22.10.2010
Сообщений: 105
Популярность: 521
Сказал(а) спасибо: 40
Поблагодарили 122 раз(а) в 26 сообщениях
Отправить сообщение для altairalentus с помощью Skype™
 
По умолчанию Телепорт по локации мышкой 2,7 Обновленный

Почти полностью переделал скрипт собрал в нем все что связано с тп :сохранение тп в список, тп мишкой, тп по клику на карте, блик.
Вот список команд скрипта:

Команды .goХ после использования команды делаем 2 шага, .go1 и .go2 чем больше прибежим тем дальше тп
.go1 - перемещает перса вперед
.go2 - перемещает перса назад
.go3 - прыжок очень высоко

Команды .mХ после использования клацаем мишкой на место куда тп (не на карту а на местность горы,лужайки и проч.)
.m1 - перемещает перса в указанную точку сидя и не отнимет хп от падения
.m2 - перемещает перса в указанную точку стоя но при перепаде высоты отнимает хп (сделано для побега от агро или быстрого перемещения по данжам )

.save - сохраняет пекущее положение перса(после использования нужно сделать 1 шаг для записи координат)
.tptosave - перемещает в точку записанную командой .save
.addtolist - записывает в список точку сохраняемую командой .save(в течении 20 сек нужно в общий чат написать имя точки)
.showlist - показывает текущий список тп(в течении 20 сек нужно в общий чат написать номер позиции куда хотим тп, 0 - отмена)
.clist - удаляет все записи с текущего листа
.chengelist - переключения между листами(в течении 20 сек нужно в общий чат написать номер листа, 0 - отмена)
.addlist - добавляет новый лист(в течении 20 сек нужно в общий чат написать имя листа)
.summon - призывает членов группы, необходимо сначала использовать команду .save, всем членам групи будет показан запрос на тп 1 - согласен 0 - отмена(данная функция работает только если в других членов группы установлен и работает такой же скрипт)

Так же есть возможность тп по клику на карте, спасибо С-lavr его скрипт http://zhyk.ru/forum/showthread.php?t=379716. Открываем карту зажимаем контрол и правым кликом указываем место потом в чате дописиваем висоту например так
Код:
Место 200

Код:
//Black_Hole 1.03
//Script by AltairAlentus
var
coordinat:array[0..1,0..3] of integer;
xyzh,pak: array[0..3] of integer;
packet,blick_mode,mouse_mode,action:byte;
blick_start,mouse_start,teleport_start:boolean;
t_pak,list,ps:string;
s,n,v:tstringlist;
Timer:ttimer;
x,y,z:single;
            

procedure init ;
    begin
        packet:=0;
        s:=tstringlist.create; 
        n:=tstringlist.create; 
        v:=tstringlist.create;
        list:='Teleport\teleport.txt';
        s.loadfromfile(list);  
        n.loadfromfile('Teleport\lists.txt'); 
        Timer:=TTimer.Create(nil); 
        Timer.OnTimer:=@TimerOn;  
        Timer.interval:=20000;
        Timer.enabled:=false;
    end;     
                      
procedure TimerOn ;
    begin
        Timer.enabled:=false;
        action:=0;  
    end; 
    
procedure chatmode(mode:byte);
    begin
        if mode=0 then action:=0
        else
        begin
            action:=mode;
            Timer.enabled:=true;
        end;   
    end;    
        
procedure Free ;
    begin
        s.savetofile(list);   
        v.savetofile('1.txt'); 
        Timer.enabled:=false;
    end;    

procedure blick(mode:integer);
var
    i:integer;
    begin  
        if blick_start=true then 
            begin
                xyzh[0]:=readD(6);  
                xyzh[1]:=readD(10);
                xyzh[2]:=readD(14);
                xyzh[3]:=readc(18); 
                if packet=0 then
                     begin 
                        for i:=0 to 3 do coordinat[0,i]:=xyzh[i];
                        packet:=1;
                     end
                else
                    begin
                        for i:=0 to 3 do coordinat[1,i]:=xyzh[i];
                        packet:=0; 
                        case blick_mode of
                            1:
                                begin
                                    pak[0]:=coordinat[1,0]+((coordinat[1,0]-coordinat[0,0])*10);
                                    pak[1]:=coordinat[1,1]+((coordinat[1,1]-coordinat[0,1])*10);  
                                    pak[2]:=coordinat[1,2]+((coordinat[1,2]-coordinat[0,2])*10)+50000;
                                    pak[3]:=coordinat[1,3];
                                end; 
                            2:
                                begin
                                    pak[0]:=coordinat[1,0]-((coordinat[1,0]-coordinat[0,0])*10);
                                    pak[1]:=coordinat[1,1]-((coordinat[1,1]-coordinat[0,1])*10);  
                                    pak[2]:=coordinat[1,2]-((coordinat[1,2]-coordinat[0,2])*10)+50000;
                                    pak[3]:=coordinat[1,3];
                                end;
                            3:
                                begin
                                    pak[0]:=coordinat[1,0]+((coordinat[1,0]-coordinat[0,0]));
                                    pak[1]:=coordinat[1,1]+((coordinat[1,1]-coordinat[0,1]));  
                                    pak[2]:=coordinat[1,2]+((coordinat[1,2]-coordinat[0,2]))+10000000;
                                    pak[3]:=coordinat[1,3];
                                end;
                        end;   
            
                        buf:=hstr('C2 00 57 61 FF 05');
                        for i:=0 to 2 do writed(pak[i]);
                        writec(xyzh[3]); 
                        sendtoserver;
                        buf:='';   
                        blick_start:=false;   
                        blick_mode:=0;
            
                    end; 
             end
        else 
            begin
                blick_start:=true;
                blick_mode:=mode;
            end;  
            
    end;
          
    procedure mouse(mode:integer);   
    var
    i:integer;
    begin
        if mouse_start then 
            begin   
                 if Length(pck)=31 then 
                     begin   
                         xyzh[0]:=readD(20);  
                         xyzh[1]:=readD(24);
                         xyzh[2]:=readD(28);
                         xyzh[3]:=readc(18); 
                         pck:='';
                         buf:=hstr('C2 00 57 61 FF');
                         case mouse_mode of
                            1: writec(4);
                            2: writec(5);
                         end;
                         for i:=0 to 2 do writed(xyzh[i]);  
                         writec(xyzh[3]); 
                         sendtoserver;    
                         buf:='';  
                         mouse_start:=false;   
                         mouse_mode:=0;
                         
                     end
                else 
                    begin
                        message('Не тот пакет ',8);  
                        mouse_start:=false; 
                        mouse_mode:=0;
                    end;  
            end
            else
                begin  
                    mouse_start:=true;
                    mouse_mode:=mode;
                end;
        end;  
        
 procedure message(msg:string;chatID:byte);
    begin                             
         buf:=HStr('16 00 54 D5 FF 00 00 E3 10 37 00 '); 
         writec(chatID,6);
         WriteS('L2ph');
         WriteS(msg);
         SendToClient;
    end;    


procedure teleport_corinat;
var
i:integer;
    begin   
        if teleport_start then 
        begin
            xyzh[0]:=readD(6);  
            xyzh[1]:=readD(10);
            xyzh[2]:=readD(14)+100000;
            xyzh[3]:=readc(18); 
            teleport_start:=false;  
            buf:='';  
            for i:=0 to 2 do writed(xyzh[i]);
            writec(xyzh[3]);   
            t_pak:=buf;   
            buf:='';  
            pck:='';
        end
        else  teleport_start:=true;  
        
    end;    
    
procedure tptosave;                
    begin
        buf:=hstr('C2 00 57 61 FF 04')+t_pak;   
        sendtoserver;   
        buf:='';  
        pck:=''; 
    end; 
    
procedure addtolist(go:boolean);
    begin  
        if go then 
            begin 
                 s.add(reads(7)+'='+t_pak);
                 chatmode(0);  
                 message('Кординати '+reads(7)+' сохранены',8);   
            end
            else
            begin
                if t_pak='' then message('Нет сохранених кординат используйте .save',8)   
                    else
                    begin     
                        message('Введите имя ',8); 
                        chatmode(1);
                    end;     
            end; 
        pck:='';                
    end;
    
    
procedure showlist;
var 
    np:string; 
    i:integer;
    begin
        
        for i:=0 to s.count-1 do
            begin                                                                                                                                                  
                np:=np+HStr('0D 0A')+inttostr(i+1)+' -- '+s.names[i];                              
            end;
        chatmode(2);  
        message(np,7);                    
        np:='';     
        pck:=''; 
    end;     
        
           
procedure tpfromlist(tpid:byte);
    begin
        if tpid<>0 then
            begin
                buf:=hstr('C2 00 57 61 FF 04')+s.values[s.names[tpid-1]];   
                sendtoserver; 
                chatmode(0);     
                pck:=''; 
            end;
    end;   
                
procedure sendpaty(c: array[0..3] of integer);
    begin
        buf:=#$B2#$00#$57#$71#$FF#$05;
        writes('t'+' '+IntToStr(c[0])+' '+IntToStr(c[1])+' '+IntToStr(c[2])+' '+IntToStr(c[3]));
        SendToServer;  
    end; 

procedure tppaty(go:boolean;choise:byte);
    var
        str,tm: string;
        i,c:integer;
    begin
        if go then 
            begin
            if choise=1 then  
                begin 
                    buf:=hstr('C2 00 57 61 FF 04');
                    for i:=0 to 2 do writed(xyzh[i]);
                    writec(xyzh[3]);
                    sendtoserver;   
                    buf:=''; 
                    pck:='';
                     
                end;
            end
            else
            begin
                str:=reads(28);
                if str[1]='t' then
                    begin       
                        i:=pos(' ',str)+1;
                        for c:=0 to 3 do
                            begin
                                tm:='';
                                while (str[i]<>' ') do
                                    begin
                                        tm:=tm+str[i];
                                        inc(i);
                                    end;
                                xyzh[c]:=StrToInt(tm);
                                Inc(i);  
                            end; 
                        message('Вас призывает персонаж '+reads(12)+#$0D#$0A+'1 -- Принять'+#$0D#$0A+'2 -- Отклонить',7);
                        chatmode(5); 
                        pck:='';                
                    end;  
                     
             end; 
            
       
   
end;


procedure chengelist(go:boolean;lid:integer);
    var
        np:string; 
        i:integer;

    begin  
        if go then
            begin
                pck:='';
                s.savetofile(list);
                list:=n.values[n.names[lid-1]];
                s.loadfromfile(list);
            end
            else
            begin
                for i:=0 to n.count-1 do                      
                    begin                                                                                                                                                 
                        np:=np+HStr('0D 0A')+inttostr(i+1)+' -- '+n.names[i];                              
                    end;
                chatmode(3);    
                message(np,7);                    
                np:='';    
                pck:=''; 
            end;
     pck:='';       
    end;  
  
procedure addlist(go:boolean;lname:string);
    begin
        if go then 
            begin
                n.add(lname+'='+'Teleport\'+lname+'.txt'); 
                s.savetofile(list);
                s.clear; 
                list:=n.values[lname];
                s.savetofile(list);
                message('Список '+lname+' сохранен',8);
                pck:='';
            end
            else
            begin
                 message('Введите имя списка',8); 
                 chatmode(4);
            end;
    pck:='';        
    end;             
          
procedure GetPos;
    var
        i:integer;
        tmp:string;
begin
    tmp:='';
    i:=pos(' ',ps)+1;
    while (ps[i]<>' ') do
        begin
            if (ps[i]<>'.') then
                tmp:=tmp+ps[i]
            else
                tmp:=tmp+',';
            inc(i);
        end;
    x:=StrToFloat(tmp);
    tmp:='';
    i:=i+1;
    while (ps[i]<>' ') do
    begin
        if (ps[i]<>'.') then
            tmp:=tmp+ps[i]
        else
            tmp:=tmp+',';
        inc(i);
    end;
    y:=StrToFloat(tmp);
    tmp:='';
    i:=pos(']',ps)+1;
    if (i<>Length(ps)) then
        z:=z+StrToFloat(Copy(ps,i+1,Length(ps)-i));
end;

procedure SendTP;
begin
    buf:=HStr('C2 00 57 61 FF 04 ');
    WriteN(x);
    WriteN(y);
    WriteN(z);
        SendToServer;
          
end;
       
    
begin
    if FromClient  then
        case pck[1] of
             #$9f: 
                 begin   
                    if blick_start then blick(0);
                    if mouse_start then mouse(0);
                    if teleport_start then teleport_corinat ;         
                 end;
                 
             #$c2: if readh(6)in [24596..26645]  then pck:=''; 
                 
             #$b2:
                  case reads(7) of
                    '.go1': blick(1);
                    '.go2': blick(2);
                    '.go3': blick(3);
                    '.m1': mouse(1);
                    '.m2': mouse(2); 
                    '.save':teleport_corinat ; 
                    '.addtolist': addtolist(false);
                    '.showlist': showlist;
                    '.tptosave': tptosave;  
                    '.clist':s.clear;    
                    '.summon': sendpaty(xyzh);  
                    '.addlist': addlist(false,'');
                    '.chengelist': chengelist(false,0);
                   
                    else
                        case action of
                            0:  ;
                            1: addtolist(true);   
                            2: tpfromlist(strtoint(reads(7))); 
                            3: chengelist(true,strtoint(reads(7)));    
                            4: addlist(true,reads(7)); 
                            5: tppaty(true,strtoint(reads(7)));
                        end;   
                  end;         
        end;  
        
        if FromServer and (pck[1]=#$16) then tppaty(false,0);      
        
        if FromClient and (ReadC(1)=$B2) and (ReadC(7)=$5B) and (ReadC(9)=$70) and (ReadC(11)=$6F) and (ReadC(13)=$73) then
        begin
            ps:=ReadS(15);
            GetPos;
            SendTP;
            pck:='';
        end;
    
        if FromClient and (ReadC(1)=$9F) then
            z:=ReadN(14)+10;  
        
      
end.
Так же для работы скрипта нужны файлы с настройками это тхт файлы в который храниться записанные координаты.
В архиве папка она должна быть в корне паки л2пх
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пример работы скрипта [Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Disce, sed а doctis, indoctos ipse doceto
  Ответить с цитированием
Пользователь сказал cпасибо:
$maile (29.07.2015)
Старый 21.12.2012, 23:18   #2
 Разведчик
Аватар для .::SHOT::.
 
.::SHOT::. неизвестен в этих краях.::SHOT::. неизвестен в этих краях
Регистрация: 18.11.2012
Сообщений: 33
Популярность: -143
Сказал(а) спасибо: 192
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для .::SHOT::. с помощью Skype™
 
По умолчанию Re: Телепорт по локации мышкой 2,7 Обновленный

для 3.0 сможешь сделать?)
  Ответить с цитированием
Старый 22.12.2012, 12:02   #3
 Разведчик
Аватар для casmadan
 
casmadan никому не известный тип
Регистрация: 22.12.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Телепорт по локации мышкой 2,7 Обновленный

спасибо
  Ответить с цитированием
Старый 22.12.2012, 20:12   #4
 Разведчик
Аватар для ignall
 
ignall скоро будет известенignall скоро будет известенignall скоро будет известен
Регистрация: 16.02.2011
Сообщений: 13
Популярность: 287
Сказал(а) спасибо: 12
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: Телепорт по локации мышкой 2,7 Обновленный

отлично, всё работает. жалко что ток на 2.7
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Скрипт] Телепорт по локации мышкой 2,7 altairalentus Боты, скрипты и прочий софт для Aion 47 18.08.2012 17:30
[Скрипт] Телепорт по локации + сохранение координат после релога altairalentus Боты, скрипты и прочий софт для Aion 2 05.12.2011 21:04
[Пакеты] Телепорт по локации Люмикс Баги и читы для Aion 9 21.05.2011 16:55

Заявление об ответственности / Список мошенников

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

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net