Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Закрытая тема
 
Опции темы Опции просмотра
Старый 20.08.2008, 05:54   #1
Новичок
 
Регистрация: 01.02.2008
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
4uTePoK
По умолчанию Скрипт на аугментацию

delphi Код:
под T0 скрипт но ошибка при проверки синтаксиса const   Name='Mamy'; // ник   ItemID=6608; // пуха   LifeID=8762; // лайфстон   GemsID=2131; // гемстон   GemsAmount=25; //кол-во гемов   max=100// инвентарь var  LifeBase:array[1..max] of integer;     ColvoLife,ColvoGems,Life,Item,Gems,SocialID,augid:integer; procedure Init; var i:integer; begin  buf:=hstr('19');  SendToServerEx(Name); end; procedure Free; var i:integer; begin  for i:=1 to max do   LifeBase[i]:=0; end; function StrToHex(packet: string):string; var   i:integer;   tmp:byte;   function ByteToHex(b: byte): Char;   begin     if b<10 then result:=chr(b+$30)       else result:=chr(b+$37);   end; begin   result:='';   for i:=1 to length(packet) do begin     tmp:=ord(packet[i]) div 16;     result:=result+ByteToHex(tmp);     tmp:=ord(packet[i]) - tmp*16;     result:=result+ByteToHex(tmp)+' ';   end; end; function inttohex(n:integer):string; var i:integer;     t:string;     a:array[0..15] of char; begin  a[0]:='0';  a[1]:='1';  a[2]:='2';  a[3]:='3';  a[4]:='4';  a[5]:='5';  a[6]:='6';  a[7]:='7';  a[8]:='8';  a[9]:='9';  a[10]:='A';  a[11]:='B';  a[12]:='C';  a[13]:='D';  a[14]:='E';  a[15]:='F';  result:='';  t:='';  i:=0;  while n<>0 do begin   if (i mod 2=0)and(i>0) then begin    result:=result+t+' ';    t:='';   end;   t:=a[n mod 16]+t;   n:=n div 16;   inc(i);  end;  result:=result+t; end; procedure Say; var i:integer;     s:string; begin   s:='<tr><td>LS='+inttostr(ColvoLife)+' (*'+inttostr(GemsAmount)+'='+inttostr(ColvoLife*GemsAmount)+')</td></tr>';   s:=s+'<tr><td>Gems='+inttostr(ColvoGems)+' (/'+inttostr(GemsAmount)+'='+inttostr(ColvoGems div GemsAmount)+')</td></tr>';   s:=s+'<tr><td>---</td></tr>';   if Item=0 then    s:=s+'<tr><td>No Weapon</td></tr>'   else if augid>0 then    s:=s+'<tr><td>Augmented ('+inttohex(augid)+')</td></tr>'   else    s:=s+'<tr><td>Not augmented</td></tr>';   buf:=hstr('19 01 00 00 00');   WriteS('<html><body><br><table width=100%>'+s+'</table><br><br><br><br><br><br>'+    '"Social Yes" - Cancel Augment(if augmented) and Augment(if you have enough gems and LSs)<br>'+    '"Social No" - Show this help<br><br>'+    'Sometimes client dont get packet InventoryUpdate and you see "Not augment" when weapon is augmented.'+    ' Simply press [Tab] twice or wear weapon.<br><br>'+    '(c) raid aka Mamy</body></html>'); //   '(c) raid aka Mamy<br>'+strtohex(pck)+'</body></html>');   WriteD(0);   SendToClientEx(Name); end; procedure CreateItemBase; var i,ss,j,ObjID,ItmID,ListCount,count,aug:integer; begin   Item:=0;   ss:=1;   j:=4;   ListCount:=ReadH(j);   if ListCount>max then ListCount:=max;   j:=8;   for i:=1 to ListCount do begin      ObjID:=ReadD(j);         ItmID:=ReadD(j);         Count:=ReadD(j);      j:=j+14;      aug:=ReadD(j);      case ItmID of         LifeID: begin             LifeBase[ss]:=ObjID;             inc(ss);         end;         ItemID: begin             Item:=ObjID;             augid:=aug;         end;         GemsID: begin             Gems:=ObjID;             ColvoGems:=Count;         end;      end;     j:=j+6;   end;   ColvoLife:=ss-1;   Say; end; procedure UpdateItemBase; var i,ii,j,ObjID,ItmID,ListCount,Count,UpdType,aug: integer; begin   ListCount:=ReadH(2);   j:=4;   for i:=1 to ListCount do begin     UpdType:=ReadH(j);     j:=j+2;     ObjID:=ReadD(j);     ItmID:=ReadD(j);     Count:=ReadD(j);     j:=j+14;     aug:=ReadD(j);     case UpdType of       1:case ItmID of           ItemID: begin             Item:=ObjID;             augid:=aug;           end;           LifeID: begin             for ii:=1 to max do              if LifeBase[ii]=0 then begin               LifeBase[ii]:=ObjID;               ColvoLife:=ColvoLife+1;               break;              end;           end;         GemsID: begin             Gems:=ObjID;             ColvoGems:=Count;         end;       end;       2:case ItmID of         ItemID: begin           Item:=ObjID;           augid:=aug;         end;         GemsID: begin             Gems:=ObjID;             ColvoGems:=Count;         end;       end;       3:case ItmID of         ItemID:           Item:=0;         GemsID: begin             Gems:=ObjID;             ColvoGems:=Count;         end;         LifeID: begin           for ii:=1 to max do             if LifeBase[ii]=ObjID then begin              LifeBase[ii]:=0;              ColvoLife:=ColvoLife-1;             end;         end;       end;     end;     j:=j+6;   end;  Say; end; function GetNextLife: integer; var i:integer; begin   Result:=-1;   for i:=1 to max do begin     if (LifeBase[i]<>0) then begin       Result:=LifeBase[i];       exit;     end;   end; end; procedure Augment; begin  buf:=hstr('D0 29 00');  WriteD(Item);  SendToServerEx(Name);  delay(100);  buf:=hstr('D0 2A 00');  WriteD(Item);  WriteD(Life);  SendToServerEx(Name);  delay(100);  buf:=hstr('D0 2B 00');  WriteD(Item);  WriteD(Life);  WriteD(Gems);  WriteD(GemsAmount);  SendToServerEx(Name);  delay(100);  buf:=hstr('D0 2C 00');  WriteD(Item);  WriteD(Life);  WriteD(Gems);  WriteD(GemsAmount);  SendToServerEx(Name); end; procedure DisAugment; begin  buf:=hstr('D0 2D 00');  WriteD(Item);  SendToServerEx(Name);  buf:=hstr('D0 2E 00');  WriteD(Item);  SendToServerEx(Name); end; begin   if pck='' then exit;   if FromClient and (ConnectName=Name) and (pck[1]=#$34) then begin     SocialID:=ReadD(2);    pck:='';     case SocialID of       7: begin  buf:=hstr('B0 2A A0 00 00 80 84 1E 00 0A 00 00 00 00 00 00 00 00 00 00 00');  SendToServerEx(Name);  buf:=hstr('B0 29 A0 00 00 40 0D 03 00 FA 00 00 00 00 00 00 00 00 00 00');  SendToServerEx(Name);         exit;        end;       6: begin        if augid>0 then begin         DisAugment;         delay(300);        end;        Life:=GetNextLife;        if (Life=-1)or(ColvoGems<GemsAmount)or(ColvoLife<1) then         exit;        Augment;        exit;       end;       5: begin        Say;        exit;       end;     end;   end;   if FromServer then   case pck[1] of     #$34: CreateItemBase;     #$21: UpdateItemBase;   end; end.
в phx пишет Ошибка: Identifier redeclared: 'StrToHex'

Последний раз редактировалось QaK, 20.08.2008 в 07:10.
4uTePoK вне форума  
Старый 20.08.2008, 07:12   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Во-первых, научись правильно код оформлять.Во-вторых, скачай последнюю версию пнх от NLObP.
QaK вне форума  
Старый 20.08.2008, 14:37   #3
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Identifier redeclared означает что StrToHex уже есть в программе а ты её снова определяеш...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума  
Старый 20.08.2008, 14:57   #4
Новичок
 
Регистрация: 01.02.2008
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
4uTePoK
По умолчанию

Цитата:
Сообщение от QaK Посмотреть сообщение
Во-первых, научись правильно код оформлять.Во-вторых, скачай последнюю версию пнх от NLObP.
Я ей и запускал l2phx3214_by_NLObP

Добавлено через 35 секунд
Цитата:
Сообщение от xkor Посмотреть сообщение
Identifier redeclared означает что StrToHex уже есть в программе а ты её снова определяеш...
xkor я в паскале не шарю помоги подправить скрипт)

Последний раз редактировалось 4uTePoK, 20.08.2008 в 14:57. Причина: Добавлено сообщение
4uTePoK вне форума  
Старый 20.08.2008, 16:08   #5
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

В последних версия уже изначально определена функция StrToHex, так что смело можно убирать ее оттуда. Но вообще разве она там используется? Единственное упоминание о ней в строке
delphi Код:
//   '(c) raid aka Mamy<br>'+strtohex(pck)+'</body></html>');  
Breadfan вне форума  
Старый 20.08.2008, 16:29   #6
Новичок
 
Регистрация: 01.02.2008
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
4uTePoK
По умолчанию

StringToHex
function StrToHex(packet: string):string; здесь зделал StringToHex скрипт не ругаеться но когда включаю в phx http://coderx.ru/attachment.php?atta...1&d=1219231728
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 209
Размер:	122.0 Кб
ID:	109  
4uTePoK вне форума  
Старый 20.08.2008, 16:29   #7
Новичок
 
Регистрация: 01.02.2008
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
4uTePoK
По умолчанию

в чём проблема?
4uTePoK вне форума  
Старый 20.08.2008, 18:04   #8
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Проблема хотя бы в том, что клиент не запущен, судя по инфе из скрина. Запускается сначала пнх, а только потом - клиент

Последний раз редактировалось Breadfan, 20.08.2008 в 18:07.
Breadfan вне форума  
Старый 20.08.2008, 18:45   #9
Новичок
 
Регистрация: 01.02.2008
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
4uTePoK
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
Проблема хотя бы в том, что клиент не запущен, судя по инфе из скрина. Запускается сначала пнх, а только потом - клиент
Окей сейчас проверю отпишу

Добавлено через 11 минут
Серовно при запуске в игре такая же ошибка

Последний раз редактировалось 4uTePoK, 20.08.2008 в 18:45. Причина: Добавлено сообщение
4uTePoK вне форума  
Старый 20.08.2008, 20:20   #10
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

1.Качай версию 3.3.х
2.Какие хроники
3.Есть отдельная тема "Аугментация в одно нажатие"
Breadfan вне форума  
Закрытая тема

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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