Рейтинг@Mail.ru
TargetRadar - Форум atms
Главная Мой профиль Регистрация Выход Вход
- Вторник, 14:09:1
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Скриптинг L2PHX "Lineage C4" (Давно заброшенный раздел) » Скрипты L2PHX "для хроник С4" » TargetRadar (Один из мега скриптов)
TargetRadar
ПользовательДата: Вторник, 01 Января 2013, 22:23 | Сообщение # 1
Некто
Группа: Обычный пользователь
Сообщений: 141
Репутация: 19
Статус: Нет на форме
Вести ник своего персонажа в скрипте ниже, "потом выделить себя в таргет(при входе в игру не обязательно)"
Если зайти в игру с включеным скриптом, то выделять себя в таргет не требуется,
то есть можно держать скрипт включеным постоянно, без необходимости перезапуска,
в таких случаях ID запоминается автоматически.

Если вас выделяют в таргет, то на титуле выделившего вас игрока появляется текст "смотрит на тебя"
и стрелка радара показывает на этого игрока и следит за перемещениями этого игрока.

Теперь вам в чате пишутся ники тех кто вас взял в таргет.

Если написать в пати чат цифру 1, то можно увидеть список ников всех кто брал вас в таргет.

Раньше, когда игрок переключал таргет на двугова игрока, у него на титуле был знак "-"
теперь у чаров на титуле ники тех кого они взяли в таргет(если ник не определен, или выделен нпс или моб то на титуле знак "-").

Добавлена кнопка "Последний таргет" - при нажатии на кнопку, в таргет выделяется
последняя цель которая брала вас в таргет, если вас никто в таргет не брал,
то в чат выведется надпись 'тебя пока никто в таргет не выделял'.
Как получить кнопку: создаем макрос, пишем в макросе "/loc" без кавычек, имя макросу
даем какое хотим, переносим макрос на панель и кнопка готова к использованию.

Код

//Автор ATMS_DIFKS
           var oid,MID,md,xr,yr,zr,mvid,oid2,TestID,i,t,chid,stat,t2:integer;
           name,n,chn,nik:string;         
           TGLOG:array[1..1000] of string;
           MSI:array[1..600, 1..600] of string;
procedure Init;                        
begin      
t:=0; mid:=0; md:=0; oid:=0; mvid:=0; TestID:=0; oid2:=0;
              name:='сюда ник';  //ник перса
               SendMsc('выдели себя');      
end;      

procedure SendMsc2(msg:string);      
begin      
       buf:=#$4A;      
       WriteD(0);      
       WriteD(10);      
       WriteS('TGR');      
       WriteS(msg);      
       SendToClientEX(name);      
end;      

procedure SendMsc(msg:string);      
begin      
       buf:=#$4A;      
       WriteD(0);      
       WriteD(2);      
       WriteS('TGR');      
       WriteS(msg);      
       SendToClientEX(name);      
end;      

procedure radar;
begin
buf:=#$EB;      
WriteD(0);      
WriteD(1); //тип радара
WriteD(XR);//X
WriteD(YR); //Y
WriteD(ZR); //Z      
SendToClientEX(name);      
end;

      begin      
           
      If fromclient and (pck=hstr('AA 00 00 00 00')) and (ConnectName=name) then        
       begin
       pck:='';       
             if oid2 > 1 then
             begin
              buf:=#$04;
              WriteD(oid2);
              WriteD(xr);
              WriteD(yr);
              WriteD(zr);
              WriteC(0);
              SendToServerEX(name);      
              end else
              begin
               SendMsc('тебя пока никто в таргет не выделял');
              end;
       end;      
            
         If fromclient and (pck=hstr('38 30 00 00 00 03 00 00 00')) and (ConnectName=name) then        
       begin
       pck:='';      
                    SendMsc('Ник персонажа определить не удалось, потому что вы недавно включили скрипт');
                    SendMsc('или допустимый онлайн в зоне видимости превышает 600 человек, на что нехвалило ячеек в массиве скрипта.');
                    SendMsc('Или вас выделяет МОБ или НПС. Для решения проблемы нужно релогнутся или зайти в игру заново или уйти далеко в другую локацию и вернутся обратно.');
       end;      
           
       If fromclient and (pck=hstr('38 31 00 00 00 03 00 00 00')) and (ConnectName=name) then        
       begin
       pck:='';       
       SendMsc2('Список всех кто выделял тебя в таргет');
           for i:=1 to 1000 do
           begin
           if TGLOG[i] <> '' then SendMsc(TGLOG[i]);
           end;
       end;
           
       if FromServer and (pck[1]=#$03) and (ConnectName=name)  then      
       begin      
       chid:=ReadD(18); chn:=ReadS(22); stat:=0;
          for i:=1 to 600 do
          begin
          if MSI[i,1] = chn then stat := 1;
          end;
          if stat = 0 then      
          begin
           t:=t+1;
           MSI[t,1] := chn;      
           MSI[t,2] := inttostr(chid);      
           if t >= 600 then t:=0;
          end;
       end;
           
        if FromServer and (pck[1]=#$04) and (ConnectName=name)  then      
       begin      
          n := ReadS(22);
          if n = name then
          begin        
            mid := ReadD(18);      
          end;
       end;       
            
       if FromServer and (pck[1]=#$E4) and (ConnectName=name) then      
       begin       
        SendMsc2('Target radar работает');
        SendMsc('Напишите в пати чат цифру "1" что бы посмотреть список всех кто брал вас в таргет.');      
       end;
           
        if FromClient and (pck[1]=#$04) and (ConnectName=name) then      
       begin
       if mid = 0 then      
       begin
       mid := ReadD(2);      
            SendMsc('готово');      
            end;      
                 
       end;
             
       if FromServer and (pck[1]=#$29) and (ConnectName=name)  then      
       begin      
       md := ReadD(6);
       oid := ReadD(2);
       if (md = mid) and (md <> oid) then
       begin       
       oid2:=oid;
               buf:=#$CC;
              WriteD(oid);
              WriteS('[смотрит на тебя]');
              SendToClientEX(name);      
              nik:='';
                   for i:=1 to 600 do
                   begin
                    if MSI[i,2] = inttostr(oid) then nik := MSI[i,1];
                   end;            
                   if nik <> '' then
                   begin
                    SendMsc(nik+'  -  взял тебя в тарет');
                    t2:=t2+1;
                    TGLOG[t2] := nik;
                    if t2 >= 1000 then t2:=0;      
                   end else
                   begin
                  //  SendMsc('ID:'+inttostr(oid)+'  -  взял тебя в тарет.');
                  //  SendMsc('Для подробностей напиши в пати чат "0" без кавычек.');      
               end;        
                        
              xr := ReadD(10);       
              yr := ReadD(14);
              zr := ReadD(18);
               radar;
       end;       
         if md <> mid then
       begin         
                   nik:='';
                   for i:=1 to 600 do
                   begin
                    if MSI[i,2] = inttostr(md) then nik := MSI[i,1];
                   end;
                        
              if nik <> '' then
              begin          
               buf:=#$CC;
              WriteD(oid);
              WriteS('['+nik+']');
               SendToClientEX(name);
             end else      
             begin
              buf:=#$CC;
              WriteD(oid);
              WriteS('[-]');
              SendToClientEX(name);
             end;
       end;
       end;       
            
        if FromServer and (pck[1]=#$2A) and (ConnectName=name)  then       
        Begin
        oid := ReadD(2);
                  buf:=#$CC;
              WriteD(oid);
              WriteS('...');
              SendToClientEX(name);
       end;       
            
          if FromServer and (pck[1]=#$01) and (ConnectName=name)  then       
        Begin
         mvid := ReadD(2);
         if mvid = oid2 then
         begin
              xr := ReadD(6);       
              yr := ReadD(10);
              zr := ReadD(14);
              radar;
         end;
        end;
      end.



Да хранит вас Ctrl+S.
Да убережет вас Alt+F4 от порнобанера.
Админь...
 
Форум » Скриптинг L2PHX "Lineage C4" (Давно заброшенный раздел) » Скрипты L2PHX "для хроник С4" » TargetRadar (Один из мега скриптов)
  • Страница 1 из 1
  • 1
Поиск:

atms 2009 © 2024