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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.03.2009, 14:46   #1
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию ПРОФА над чаром

Здравствуйте помогите переделать скрипт чтобы над чаром писалась его профа .Сам скрипт:
№ 1

delphi Код:
var m:TMemo; frm:TForm; ClassID, i,j,k, ms,ps,mc,cc: Integer; Message, Name, Class,t: String; //...................................... //*************************************************************** procedure Init; begin //ShowTab;   frm := TForm.Create(nil);   frm.Caption := 'Char Info!';   frm.BorderStyle := bsSizeable;   frm.Position := poScreenCenter;   frm.Width:=320;   frm.Height:=600;   m:=TMemo.Create(frm);   m.parent:=frm;   m.align:=alClient;   m.ReadOnly:=true;   m.ScrollBars:=ssBoth;   frm.Show; end; //...................................... //*************************************************************** procedure Free; begin   m.Free;   frm.Free;   //HideTab; end; begin   if FromServer and (pck[1]=#$03) then begin {CharInfo: 22=s(Name) i=i+116 i=d(MSpeed) i=d(PSpeed) i=i+84 i=s(Title) i=i+27 i=h(cubics:For.0001) i=i+cubics*2 i=i+8 i=d(classID:Get.ClassID) i=d(maxCP) i=d(curCP) }     i:=22;     Name:=ReadS(i);     i:=i+116;     ms:=readD(i);     ps:=readD(i);     i:=i+84;     j:=i;     t:=reads(i);     k:=i;     i:=i+27;     mc:=ReadH(i);     i:=i+mc*2+8;     classid:=readD(i);     mc:=readD(i);     cc:=readD(i);     case ClassID of       88:class:='hDT';       89:class:='hDN';       90:class:='hPhK';       91:class:='hHK';       93:class:='hAD';       92:class:='hSG';       94:class:='hAM';       95:class:='hST';       96:class:='hAL';       97:class:='hCD';       98:class:='hHPh';       99:class:='eET';       101:class:='eWR';       102:class:='eMlS';       103:class:='eMM';       104:class:='eEM';       105:class:='eEvS';       33:class:='dShK';       106:class:='dShT';       107:class:='dSD';       108:class:='dGH';       37:class:='dPhR';       109:class:='dGS';       110:class:='dStS';       111:class:='dSM';       112:class:='dShS';       113:class:='oTitan';       114:class:='oGK';       115:class:='oDM';       116:class:='oDC';       117:class:='gFS';       118:class:='gMO';     end;     m.Lines.Add(Name+': "'+t+'" '+class+', cp:'+inttostr(ms)+'/'+inttostr(ps)+', cp:'+inttostr(mc)+'/'+inttostr(cc));     Message:=class+'='+inttostr(ms)+'/'+inttostr(ps);       buf:=copy(pck,1,j-1);       WriteS(Message);       j:=length(buf);       buf:=buf+copy(pck,k,length(pck)-k+1);       pck:='';       SendToClient;   end; end.

Последний раз редактировалось TAMBIK, 03.04.2009 в 15:10.
TAMBIK вне форума   Ответить с цитированием
Старый 13.03.2009, 14:58   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

TAMBIK, ты бы хоть переменный по-нормальному назвал или прокоментировал бы их по-человечески
З.Ы. для оформления кода используй теги [ HIGHLIGHT = "delphi" ]тут код[ /HIGHLIGHT ] без пробелов.

Добавлено через 1 минуту
если не отрисовывается, значит что-то со смещением накосячил.

Последний раз редактировалось QaK, 13.03.2009 в 14:58. Причина: Добавлено сообщение
QaK вне форума   Ответить с цитированием
Старый 14.03.2009, 11:48   #3
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Скрипт я нашел в инете там наверно ошибка с определением ClassID но он
выводит:ms,ps над чаром.Вот еще скрипт найден
№ 2
delphi Код:
// Скрипт для вывода информации об игроках на сервере // в User Tab: ник, раса, пол, класс. // Автор: Furious // Версия: 0.3 var m:TMemo; frm:TForm; RaceID, SexID, ClassID, i: Integer; Message, Name, Sex, Race, Class: String; procedure Init; begin //ShowTab; frm := TForm.Create(nil); frm.Caption := 'Char Info!'; frm.BorderStyle := bsSizeable; frm.Position := poScreenCenter; frm.Width:=400; frm.Height:=600; m:=TMemo.Create(frm); m.parent:=frm; m.align:=alClient; m.ReadOnly:=true; m.ScrollBars:=ssBoth; frm.Show; end; procedure Free; begin m.Free; frm.Free; //HideTab; end; begin if FromServer and (pck[1]=#$03) then   begin    i:=22;    Name:=ReadS(i);    RaceID:=ReadD(i);    SexID:=ReadD(i);    ClassID:=ReadD(i);    case RaceID of     0:race:='Люди';     1:race:='Светлые эльфы';     2:race:='Темные эльфы';     3:race:='Орки';     4:race:='Гномы';     end;    case SexID of     0:sex:='Мужской';     1:sex:='Женский';     end;    case ClassID of     0:class:='H_Fighter';     1:class:='H_Warrior';     2:class:='H_Gladiator';     88:class:='H_Duelist';     3:class:='H_Warlord';     89:class:='H_Dreadnought';     4:class:='H_Knight';     5:class:='H_Paladin';     90:class:='H_PhoenixKnight';     6:class:='H_DarkAvenger';     91:class:='H_HellKnight';     7:class:='H_Rogue';     8:class:='H_TreasureHunter';     93:class:='H_Adventurer';     9:class:='H_Hawkeye';     92:class:='H_Sagittarius';     10:class:='H_Mage';     11:class:='H_Wizard';     12:class:='H_Sorceror';     94:class:='H_Archmage';     13:class:='H_Necromancer';     95:class:='H_Soultaker';     14:class:='H_Warlock';     96:class:='H_ArcanaLord';     15:class:='H_Cleric';     16:class:='H_Bishop';     97:class:='H_Cardinal';     17:class:='H_Prophet';     98:class:='H_Hierophant';     18:class:='E_Fighter';     19:class:='E_Knight';     20:class:='E_TempleKnight';     99:class:='E_EvaTemplar';     21:class:='E_SwordSinger';     22:class:='E_Scout';     23:class:='E_PlainsWalker';     101:class:='E_WindRider';     24:class:='E_SilverRanger';     102:class:='E_MoonlightSentinel';     25:class:='E_Mage';     26:class:='E_Wizard';     27:class:='E_SpellSinger';     103:class:='E_MysticMuse';     28:class:='E_ElementalSummoner';     104:class:='E_ElementalMaster';     29:class:='E_Oracle';     30:class:='E_Elder';     105:class:='E_EvaSaint';     31:class:='DE_Fighter';     32:class:='DE_PaulusKnight';     33:class:='DE_ShillienKnight';     106:class:='DE_ShillienTemplar';     34:class:='DE_BladeDancer';     107:class:='DE_SpectralDancer';     35:class:='DE_Assassin';     36:class:='DE_AbyssWalker';     108:class:='DE_GhostHunter';     37:class:='DE_PhantomRanger';     109:class:='DE_GhostSentinel';     38:class:='DE_Mage';     39:class:='DE_DarkWizard';     40:class:='DE_Spellhowler';     110:class:='DE_StormScreamer';     41:class:='DE_PhantomSummoner';     111:class:='DE_SpectralMaster';     42:class:='DE_ShillienOracle';     43:class:='DE_ShillienElder';     112:class:='DE_ShillienSaint';     44:class:='O_Fighter';     45:class:='O_Raider';     46:class:='O_Destroyer';     113:class:='O_Titan';     47:class:='O_Monk';     48:class:='O_Tyrant';     114:class:='O_GrandKhauatari';     49:class:='O_Mage';     50:class:='O_Shaman';     51:class:='O_Overlord';     115:class:='O_Dominator';     52:class:='O_Warcryer';     116:class:='O_Doomcryer';     53:class:='D_Fighter';     54:class:='D_Scavenger';     55:class:='D_BountyHunter';     117:class:='D_FortuneSeeker';     56:class:='D_Artisan';     57:class:='D_Warsmith';     118:class:='D_Maestro';    end;    Message:='Раса: '+race+', Пол: '+sex+', Класс: '+class+'.';    m.Lines.Add(Name+': '+Message);   end; end.
как в нем сделать вывод ClassID над чаром

Последний раз редактировалось TAMBIK, 03.04.2009 в 15:11.
TAMBIK вне форума   Ответить с цитированием
Старый 16.03.2009, 18:39   #4
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

А если заменить
delphi Код:
Message:=class+'='+inttostr(ms)+'/'+inttostr(ps);
на
delphi Код:
Message:=class;
?

Добавлено через 10 минут
довно уж не играю. поэтому написал на крленке и не тестировал
для С4
ClsShow.txt
delphi Код:
var    i,ClassID:integer;    Name,Title:String;    ClassName: TStringList//названия классов procedure Init; //Вызывается при включении скрипта begin   ClassName :=TStringList.Create;   ClassName.LoadFromFile('Scripts\ClassName.ini'); //загрузка из файла end; procedure Free; //Вызывается при выключении скрипта begin    ClassName.free; end; begin  if FromServer and (pck[1]=#$03) then begin    i:=22;          //пропускаем    ReadS(i);       //пропускаем ник    i:=i+8;         //пропускаем    ClassID:=ReadD(i); //получаем профу    Title:=ClassName.Strings[ClassID]; //в титл пишем профу    i:=i+144;       //пропускаем    buf := copy(pck,1,i-1)//копируем пакет до титла в буфер    ReadS(i);       //находим конец титла    WriteS(Title)//вставляем в буфер новый титл    buf := buf+copy(pck,i,length(pck)-1); //копируем в буфер остаток пакета    pck := buf; //меняем пакет   end; end.
ClassName.ini
Код:
Human Fighter
Warrior
Gladiator
Warlord
Human Knight
Paladin
Dark Avenger
Rogue
Treasure Hunter
Hawkeye
Human Mystic
Human Wizard
Sorceror
Necromancer
Warlock
Cleric
Bishop
Prophet
Elven Fighter
Elven Knight
Temple Knight
Swordsinger
Elven Scout
Plainswalker
Silver Ranger
Elven Mystic
Elven Wizard
Spellsinger
Elemental Summoner
Elven Oracle
Elven Elder
Dark Fighter
Palus Knight
Shillien Knight
Bladedancer
Assassin
Abyss Walker
Phantom Ranger
Dark Elven Mystic
Dark Elven Wizard
Spellhowler
Phantom Summoner
Shillien Oracle
Shillien Elder
Orc Fighter
Orc Raider
Destroyer
Orc Monk
Tyrant
Orc Mystic
Orc Shaman
Overlord
Warcryer
Dwarven Fighter
Dwarven Scavenger
Bounty Hunter
Dwarven Artisan
Warsmith
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
Duelist
DreadNought
Phoenix Knight
Hell Knight
Sagittarius
Adventurer
Archmage
Soultaker
Arcana Lord
Cardinal
Hierophant
Eva Templar
Sword Muse
Wind Rider
Moonlight Sentinel
Mystic Muse
Elemental Master
Evas Saint
Shillien Templar
Spectral Dancer
Ghost Hunter
Ghost Sentinel
Storm Screamer
Spectral Master
Shillien Saint
Titan
Grand Khauatari
Dominator
Doomcryer
Fortune Seeker
Maestro

Последний раз редактировалось PanAm, 16.03.2009 в 18:39. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от:
Старый 19.03.2009, 17:24   #5
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Спасибо за помощь !!! Мне я извините ненаписал надо для Интерлюда

Я несмыслю в програмирование действую просто методом тыка .В скрипте написано какая команда что делает.Мне это пригодится .СПАСИБО !!

Последний раз редактировалось TAMBIK, 19.03.2009 в 17:28.
TAMBIK вне форума   Ответить с цитированием
Старый 20.03.2009, 15:21   #6
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

скрипт вроде должен работать на C4 и IL, в T2 надо менять pck[1]=#$03 на pck[1]=#$31 если не изменяет маразм, смещения в пакетах совпадают, и соответственно дописать ClassName.ini новыми классами (см classid.ini)
PanAm вне форума   Ответить с цитированием
Старый 03.04.2009, 15:17   #7
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

В скрипте № 1 это
Message:=class+'='+inttostr(ms)+'/'+inttostr(ps);
заменить на
Message:=class+'='+inttostr(mc)+'/'+inttostr(cc);
то над чаром выводится скорость физической и магической атаки
TAMBIK вне форума   Ответить с цитированием
Старый 04.04.2009, 11:09   #8
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

подмена титула в чаринфо на грации, думаю без комментариев....
delphi Код:
var a: integer; part1, part2, Player, Title :string; procedure Init; begin end; procedure Free; begin end; procedure OnConnect(WithClient: Boolean); begin end; procedure OnDisonnect(WithClient: Boolean); begin end; begin if FromServer and (pck[1]=#$31) then    begin       a:=22;       Player:=ReadS(a);       a:=a+272;       part1:=Copy(pck,1,a-1);       Title:=ReadS(a);             part2:=Copy(pck,a,length(pck)-a);       buf:=part1;       WriteS('Losser');       buf:=buf+part2;       pck:=buf;    end; end.

Последний раз редактировалось mks, 04.04.2009 в 11:11.
mks вне форума   Ответить с цитированием
За это сообщение mks нажился спасибкой от:
Старый 22.04.2009, 11:24   #9
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

mks в вашем скрипте пишет Losser
Lineage II The Kamael: Hellbound
сервер Шог
TAMBIK вне форума   Ответить с цитированием
Старый 22.04.2009, 22:10   #10
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Цитата:
Сообщение от TAMBIK Посмотреть сообщение
mks в вашем скрипте пишет Losser
Lineage II The Kamael: Hellbound
сервер Шог
Правильно, вставляй туда че хочешь - будет писать что тебе надо, эт я просто пример привел подмены титула
mks вне форума   Ответить с цитированием
За это сообщение mks нажился спасибкой от:
Ответ

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



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

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


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

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

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