Cкрипт для показа цели на радаре.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 40 сообщение(ий)):
Вы не имеете достаточно прав, чтобы просмотреть эту информацию.
|
Автоматическое взятие в таргет атакующего вас игрока или моба. (для С4, С5)
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
Вы не имеете достаточно прав, чтобы просмотреть эту информацию.
|
Пару старых скриптов для хлапекса:
Блокирование запроса списка GM для С4.
Бот с заданым интервалом проверяет список ГМов онлайн (аналогично использованием команды /gmlist), одна из защит для С4 банит чара если запросы этого списка приходят с такойже периодичностю как у бота.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 15 сообщение(ий)):
Вы не имеете достаточно прав, чтобы просмотреть эту информацию.
|
Изминение билда у чара. Позволяет чару использовать ГМ панель Alt+G (уже 100% нигде не роботает, раньше юзали на птс С3, С4 и некоторых С5)
Код:
var
i:integer;
begin
if FromServer then if pck[1]=#$04 then
begin
i:=22;
ReadS(i);
i:=i+328;
buf:=pck;
WriteD(1,i);
pck:=buf;
end;
end.
Скрип для снятия лимита количества итемов для покупки в обыном магазине. Использовался для бага 2^32: покупки 999кк итемов за пару аден. Также как и прошлый скрипт уже нигде не роботает.
Код:
var
ICount,SCount,Add,i:integer;
ListID,ItemID:integer;
first:boolean=true;
max:integer=999;
const
hello='
Внимание!
'+
'Скрипт применим только к магазинам, где за один раз '+
'возможно купить несколько различных предметов (Magic Shop и '+
'другие).
Установите в скрипте действующий на сервере '+
'лимит на покупку (переменная max)!
Значение по умолчанию:'+
' 999
' color="FF0000">[ hLaPEx ]
';
procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
begin
if FromServer then exit;
if (pck[1]=#$03) and (first) then
begin
first:=false;
buf:=#$0F;
WriteD(0);
WriteS(''+hello+'');
SendToClient;
end;
if pck[1]=#$1F then
begin
i:=2;
ListID:=ReadD(i);
if ReadD(i)<>1 then
begin
SendMsg('Используйте только один слот!');
exit;
end;
ItemID:=ReadD(i);
ICount:=ReadD(i);
SCount:=(ICount div max);
Add:=ICount mod max;
if Add>0 then inc(SCount);
if SCount>200 then
begin
SendMsg('Максимум '+IntToStr(200*max)+' штук!');
exit;
end;
buf:=#$1F;
WriteD(ListID);
WriteD(SCount);
for i:=1 to (ICount div max) do
begin
WriteD(ItemID);
WriteD(max);
end;
if Add>0 then
begin
WriteD(ItemID);
WriteD(Add);
end;
pck:=buf;
if SCount>1 then SendMsg('Пакет модифицирован ;)');
end;
end.
Скрипт для вывода информации об игроках на сервере. Еще актуален для С4(хотя смысл юзать если есть куча разных радаров

). Показывает ник, рассу, пол и класс.
Код:
var
m:TMemo;
RaceID, SexID, ClassID, i: Integer;
Message, Name, Sex, Race, Class: String;
procedure Init;
begin
ShowTab;
m:=TMemo.Create(UserTab);
m.parent:=UserTab;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
end;
procedure Free;
begin
m.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.
Default:
procedure Init;
begin
//OnConnect
end;
procedure Free;
begin
//OnDisconnect
end;
begin
//OnRead
end.