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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.11.2010, 18:48   #1
Новичок
 
Регистрация: 18.09.2010
Сообщений: 6
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Damiencs пока неопределено
По умолчанию Автоюзанье цп/мп/хп

delphi Код:
const Name='НИК'; var    CurHP,MaxHP,CurCP,MaxCP,MyCorX,MyCorY,MyCorZ,MaxMP,CurMP: integer;    CPuse,HPuse,MPuse: string;    i, CubicsSize, CharObjectId, tmpCharObjectId: integer;    tmpMyName, tmpMyTitle: string;            TimerMP,TimerCP,TimerHP: TTimer; procedure Init; //Вызывается при включении скрипта begin   TimerCP:=TTimer.Create(nil);   TimerCP.OnTimer:=@OnTimerCP;   TimerCP.enabled:=false;   TimerCP.interval:=1000//интервал 1сек, т.к. чаще пить CP всеравно не будет, дабы не засорять трафик   TimerMP:=TTimer.Create(nil);   TimerMP.OnTimer:=@OnTimerMP;   TimerMP.enabled:=false;   TimerMP.interval:=1000//интервал 1сек, т.к. чаще пить MP всеравно не будет, дабы не засорять трафик   TimerHP:=TTimer.Create(nil);   TimerHP.OnTimer:=@OnTimerHP;   TimerHP.enabled:=false;   TimerHP.interval:=15000; //интервал 15сек, т.к. действие одной бутылки = 15сек end; procedure OnTimerCP(Sender: TObject); begin   buf:=CPuse;   SendToServerEx(Name); end; procedure OnTimerMP(Sender: TObject); begin   buf:=MPuse;   SendToServerEx(Name); end; procedure OnTimerHP(Sender: TObject); begin   buf:=HPuse;   SendToServerEx(Name); end; procedure Free; //Вызывается при выключении скрипта begin   TimerCP.free;   TimerMP.free;   TimerHP.free;   HPuse:='';   CPuse:=''; end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin     //пьем сначала CP, потом HP банку что б запомнить их ID(я решил взять эти пакеты целиком, дабы не усложнять)   if FromClient and  (pck[1]=#$19) and (CPuse='') then CPuse:=pck;   if FromClient and  (pck[1]=#$19) and (CPuse<>pck) and (HPuse='') then HPuse:=pck;   if FromClient and  (pck[1]=#$19) and (CPuse<>pck) and (HPuse<>pck) and (MPuse='') then MPuse:=pck;     if FromServer and (pck[1]=#$32) then   begin     MyCorX:=ReadD(2);    MyCorY:=ReadD(6);    MyCorZ:=ReadD(10);    i:=22;    tmpMyName:=ReadS(i);                 i:=i+48;    MaxHP:=ReadD(i);    CurHP:=ReadD(i);    MaxMP:=ReadD(i);    CurMP:=ReadD(i);           i:= 552 + length(tmpMyName) * 2;    tmpMyTitle:=ReadS(i);    i:= i + 31;    CubicsSize:= ReadH(i);    i:= i + 28 + (CubicsSize * 2);           MaxCP:=ReadD(i);     CurCP:=ReadD(i);              end;        if FromServer and (pck[1]=#$18) then   begin     CurHP:=ReadD(14);     CurCP:=ReadD(30);        CurMP:=ReadD(22);     //   ShowMessage(IntToStr(CurMP)); //если вы используете не грэйтер CP то вместо 200 подставьте кол-во CP сколько восстанавливает 1 банка if (CurCP<MaxCP-200)  then TimerCP.enabled:=true else TimerCP.enabled:=false; if (CurHP<MaxHP)  then TimerHP.enabled:=true else TimerHP.enabled:=false; if (CurMP<MaxMP-2500) then TimerMP.enabled:=true else TimerMP.enabled:=false;      end;   end.
Добавлено через 1 минуту
Ребят можно сделать чтоб он останавливалсяю когда показатели норм!(Знаю что можно тупые ответов не надо).подскажите исправления пожалуйста.

Последний раз редактировалось NLObP, 30.11.2010 в 23:45. Причина: Добавлено сообщение
Damiencs вне форума   Ответить с цитированием
Старый 30.11.2010, 18:50   #2
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

неработает или че? че выложил т? и оформляй скрипт в коде

Добавлено через 2 минуты
//если вы используете не грэйтер CP то вместо 200 подставьте кол-во CP сколько восстанавливает 1 банка
if (CurCP<MaxCP-200) then TimerCP.enabled:=true else TimerCP.enabled:=false;
if (CurHP<MaxHP) then TimerHP.enabled:=true else TimerHP.enabled:=false;
if (CurMP<MaxMP-2500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;
вот тебе остановление таймера
__________________

Последний раз редактировалось dyh9l, 30.11.2010 в 18:50. Причина: Добавлено сообщение
dyh9l вне форума   Ответить с цитированием
Старый 30.11.2010, 18:51   #3
Новичок
 
Регистрация: 18.09.2010
Сообщений: 6
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Damiencs пока неопределено
По умолчанию

Да не робит он так и ест без остановки!даже когда полностью все в норме он все равно продолжает есть!
Damiencs вне форума   Ответить с цитированием
Старый 30.11.2010, 23:50   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Damiencs, не правильно определяются MaxHP и CurHP. Правь смещения согласно пакетам твоего сервера.

Вот так примерно они выглядят на Грации.
Код:
18=StatusUpdate:d(ObjectID)d(AttribCount:Loop.01.0002)d(AttrID:Get.FSup)d(AttrValue)
32=UserInfo:d(X)d(Y)d(Z)d(Heading)d(ObjectID)s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(Level)q(Exp)d(STR)d(DEX)d(CON)d(INT)d(WIT)d(MEN)d(MaxHP)d(CurrentHP)d(MaxMP)d(CurrentMP)d(SP)d(CurrentLoad)d(MaxLoad)d(40)d(Unknown)d(RightEarring)d(LeftEarring)d(Necklace)d(RightRing)d(LeftRing)d(Head)d(RightHand)d(LeftHand)d(Gloves)d(Chest)d(Legs)d(Boots)d(Unknown)d(Unknown)d(Hair)d(Face)d(Unknown)d(Unknown)d(0)d(0)d(0)d(0)d(0)d(0)d(Unknown)d(RightEarring)d(LeftEarring)d(Necklace)d(RightRing)d(LeftRing)d(Head)d(RightHand)d(LeftHand)d(Gloves)d(Chest)d(Legs)d(Boots)d(Unknown)d(Unknown)d(Hair)d(Face)d(Unknown)d(Unknown)d(0)d(0)d(0)d(0)d(0)d(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(AugmentID:Get.AugmentID)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)d(Unknown)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)h(0)d(PAtk)d(AtkSpd)d(PDef)d(Evasion)d(Accuracy)d(CritRate)d(MAtk)d(CastSpd)d(AtkSpd)d(MDef)d(PvpFlag)d(Karma)d(RunSpd)d(WalkSpd)d(SwimRunSpd)d(SwimWalkSpd)d(FlRunSpd)d(FlWalkSpd)d(FlyRunSpd)d(FlyWalkSpd)f(MoveMultiplier)f(AtkSpdMultiplier)f(CollisionRadius)f(CollisionHeight)d(HairStyle)d(HairColor)d(Face)d(AccessLevel)s(Title)d(ClanID)d(ClanCrestID)d(AllyID)d(AllyCrestID)d(Relation)c(MounType)c(PrivateStoreType)c(DwarvenCraft)d(PkKills)d(PvpKills)h(CubicsSize:Loop.01.0001)h(CubicID)c(0)d(AbnormalEffect)c(0)d(ClanPrivileges)h(RecomLeft)h(RecomHave)d(MountNpcID)h(InventoryLimit)d(ClassID:Get.ClassID)d(0)d(MaxCP)d(CurrentCP)c(isMount)c(Team)d(ClanCrestLargeID)c(isNoble)c(isHero)c(isFishing)d(FishX)d(FishY)d(FishZ)d(NameColor)c(isRunning)d(PledgeClass)d(0)d(TitleColor)d(CursedWeapon)d(TranformationID)d(AttackAttrElement)d(AttackAttrElementVal)d(DefAttrFire)d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefAttrHoly)d(DefAttrUnholy)d(0)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Ответ

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


Опции темы
Опции просмотра

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

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


Часовой пояс GMT +4, время: 14: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

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