Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Все, кроме структур и хендлов персонажей.ок, а это все переменные тогда в скрипте должны быть float?
Все, кроме структур и хендлов персонажей.ок, а это все переменные тогда в скрипте должны быть float?
ок, а не знаешь как это в клео перевестиВсе, кроме структур и хендлов персонажей.
Есть:этого не хватит, там есть функция fabs это в с++ получение модуля числа, а в клео нет опкода чтоб модуль получить
Вот опкод:ок, а не знаешь как это в клео перевести
ac = sqrt(aa*aa+ab*ab);
.asi - это бинарный файл, та же DLL'ка, просто с измененным расширением. такой файл можно получить скомпилировав любым компилятором, поддерживающим создание динамических библиотек (DLL). а с CLEO оно не сопоставимо, т.к. это скриптовый язык.Здравствуйте, ребята. Клео-скриптеры и прочие программисты, думаю здесь найдется человек который сможет мне ответить на мой вопрос и думаю многие ним задаются. Собственно что нужно чтоб получить формат .asi, насколько я знаю в .asi скриптах написаны некоторые клео, к примеру скриптер 0x688 пишет свои скрипты в формате .asi. Какой программой их штампуют ;) ?
Парни помогите с cleo
Че не так делаю? подскажите пожалуйста...
Код:// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .cs} //-------------MAIN--------------- thread "Name_1" 03BC: 0@ = create_sphere_at 163.31 1797.28 17.64 radius 1.0 :Name_1 wait 0 Model.Load(18250) 038B: load_requested_models wait 0 if Model.Available(18250) jf @Name_1 0@ = Object.Create(18250, 240.2, 1845.0, 3000.73) wait 0 Model.Destroy(18250) jump @Name_2 :Name_2 wait 0 jf @Name_2 :Name_3 wait 0 if 00EC: actor $PLAYER_ACTOR 0 near_point 163.31 1797.28 17.64 radius 1.0 jf @Name_3 Actor.PutAt($PLAYER_ACTOR, 168.76 1835.03 17.64) jump @Name_3
блин, я прост точно не знаю, мне нужно в квадрат просто возвести или корень найти, перепутал крч все, попробую это поставтьВот опкод:
01FB: sqrt 1@ store_to 2@
Вверху его уже писали, внимательней нужно..
ок, а не знаешь как это в клео перевести
ac = sqrt(aa*aa+ab*ab);
10@ *= 10@
11@ *= 11@
10@ += 11@
01FB: 10@ = square_root 10@
Глобальные переменыю не юзай.Помогите :(
Уже какой раз проверяю... но нихера не работает:
PHP:const POS_X = 1@ POS_Y = 2@ POS_Z = 3@ end 01F5: $PLAYER_ACTOR = get_player_actor $PLAYER_CHAR Actor.StorePos($PLAYER_ACTOR, POS_X, POS_Y, POS_Z) if 0AE1: vActor = random_actor_near_point POS_X POS_Y POS_Z in_radius 6000.0 find_next 0 pass_deads 1 //IF and SET then repeat if 803C: not $PLAYER_ACTOR == vActor // (int) then 4@ = 777 // yeah!!!!!!! end until 8AE1: not vActor = random_actor_near_point POS_X POS_Y POS_Z in_radius 6000.0 find_next 1 pass_deads 1 //IF and SET end
Забыл добавить в constГлобальные переменыю не юзай.
Уверен что опкод 8AE1: работает не корректно в samp'e. Могу предложить только вариант с sampfuncs, работает нормально и быстро. Или различные вариации кода типа:Забыл добавить в const
vActor = 0@
Пример Могайки... :(
const
vActor = 0@
POS_X = 1@
POS_Y = 2@
POS_Z = 3@
end
Actor.StorePos($PLAYER_ACTOR, POS_X, POS_Y, POS_Z)
while 8AE1: vActor = random_actor_near_point POS_X POS_Y POS_Z in_radius 6000.0 find_next 1 pass_deads 1
wait 0
if 003C: $PLAYER_ACTOR == vActor // (int)
then continue
else
4@ = 777 // yeah!!!!!!!
jump @label
end
end
/*
SA:MP Aimbot
Hold down fire & aim key
*/
if (cAimbot)
{
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F5F0, &gpoint, 4, 0);
if ((gpoint > 0) && (t == 0))
{
t = 1;
}
if (gpoint > 0)
{
pmtrx1 = gpoint + 0x14;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pmtrx1, &pmtrx1, 4, 0);
xpos1 = pmtrx1 + 0x30;
ypos1 = pmtrx1 + 0x34;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)xpos1, &fxpos1, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)ypos1, &fypos1, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F9CC, &fcxpos, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F9D0, &fcypos, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F3B8, &ptarget, 4, 0);
pped = ptarget + 0x79C;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pped, &pped, 4, 0);
if (pped > 0)
{
pvectorx = pped + 0x44;
pvectory = pped + 0x48;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pvectorx, &fpvectorx, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pvectory, &fpvectory, 4, 0);
pmtrx2 = pped + 0x14;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pmtrx2, &pmtrx2, 4, 0);
xpos2 = pmtrx2 + 0x30;
ypos2 = pmtrx2 + 0x34;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)xpos2, &fxpos2, 4, 0);
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)ypos2, &fypos2, 4, 0);
php = pped + 0x540;
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)php, &fphp, 4, 0);
if (fphp > 0)
{
fxpos2a = fxpos2;
fypos2a = fypos2;
aa = fabs(fcxpos-fxpos2);
ab = fabs(fcypos-fypos2);
ac = sqrt(aa*aa+ab*ab);
alpha = asin(aa/ac);
beta = acos(aa/ac);
if ((fxpos1 > fxpos2)&&(fypos1 < fypos2))
{
beta = -beta;
}
if ((fxpos1 > fxpos2)&&(fypos1 > fypos2))
{
beta = beta;
}
if ((fxpos1 < fxpos2)&&(fypos1 > fypos2))
{
beta = (alpha + (3.14/2));
}
if ((fxpos1 < fxpos2)&&(fypos1 < fypos2))
{
beta = (-alpha - (3.14/2));
}
camxpos = beta+0.0389;
// Rotate camera
WriteProcessMemory(GetCurrentProcess(), (LPVOID)0xB6F258, (LPVOID)&camxpos, 4, NULL);
}
}
}
}
:aim_2
wait 0
if
0AB0: key_pressed 90
else_jump @aim_2
:aim_21
wait 0
0A8D: 1@ = read_memory 0xB6F5F0 size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F5F0, &gpoint, 4, 0);
if
0019: 1@ > 0 //if (gpoint > 0)
jf @aim_21
:aim_23
wait 0
0A8E: 2@ = 1@ + 0x14 //pmtrx1 = gpoint + 0x14;
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pmtrx1, &pmtrx1, 4, 0);
0A8E: 3@ = 2@ + 0x30 //xpos1 = pmtrx1 + 0x30;
0A8E: 4@ = 2@ + 0x34 //ypos1 = pmtrx1 + 0x34;
0A8D: 5@ = read_memory 3@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)xpos1 (3@), &fxpos1 (5@), 4, 0);
0A8D: 6@ = read_memory 4@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)ypos1, &fypos1, 4, 0);
0A8D: 7@ = read_memory 0xB6F9CC size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F9CC, &fcxpos, 4, 0);
0A8D: 8@ = read_memory 0xB6F9D0 size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F9D0, &fcypos, 4, 0);
0A8D: 9@ = read_memory 0xB6F3B8 size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)0xB6F3B8, &ptarget, 4, 0);
0A8E: 10@ = 9@ + 0x79C // pped = ptarget + 0x79C;
0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pped, &pped, 4, 0);
if
10@ > 0 //if (pped > 0)
jf @aim_23
:aim_25
wait 0
0A8E: 11@ = 10@ + 0x44 //pvectorx = pped + 0x44;
0A8E: 12@ = 10@ + 0x48 //pvectory = pped + 0x48;
0A8D: 13@ = read_memory 11@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pvectorx, &fpvectorx, 4, 0);
0A8D: 14@ = read_memory 12@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pvectory, &fpvectory, 4, 0);
0A8E: 15@ = 10@ + 0x14 //pmtrx2 = pped + 0x14;
0A8D: 15@ = read_memory 15@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)pmtrx2, &pmtrx2, 4, 0);
0A8E: 16@ = 15@ + 0x30 //xpos2 = pmtrx2 + 0x30;
0A8E: 17@ = 15@ + 0x34 //ypos2 = pmtrx2 + 0x34;
0A8D: 18@ = read_memory 16@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)xpos2, &fxpos2, 4, 0);
0A8D: 19@ = read_memory 17@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)ypos2, &fypos2, 4, 0);
0A8E: 20@ = 10@ + 0x540 // php = pped + 0x540;
0A8D: 21@ = read_memory 20@ size 4 virtual_protect 0 //ReadProcessMemory(GetCurrentProcess(), (LPCVOID)php, &fphp, 4, 0);
if
21@ > 0 //if (fphp > 0)
jf @aim_25
:aim_27
wait 0
0087: 22@ = 18@ //fxpos2a = fxpos2;
0087: 23@ = 19@ //fypos2a = fypos2;
0063: 7@ -= 18@
0C00: math 24@ = abs 7@ // aa = fabs(fcxpos-fxpos2);
0063: 8@ -= 19@
0C00: math 25@ = abs 8@ // ab = fabs(fcypos-fypos2);
006B: 24@ *= 24@
006B: 25@ *= 25@
005B: 24@ += 25@
0087: 26@ = 24@
01FB: 26@ = square_root 26@ // ac = sqrt(aa*aa+ab*ab);
0073: 24@ /= 26@
0C04: math 27@ = arcsine 24@ // alpha = asin(aa/ac);
0073: 24@ /= 26@
0C06: math 28@ = arccosine 24@ // beta = acos(aa/ac);
:aim_34
wait 0
if and
0025: 5@ > 18@
0025: 19@ > 6@ // if ((fxpos1 > fxpos2)&&(fypos1 < fypos2))
jf @aim_35
28@ *= -1 // beta = -beta;
jump @aim_40
:aim_35
wait 0
if and
0025: 5@ > 18@
0025: 6@ > 19@ // if ((fxpos1 > fxpos2)&&(fypos1 > fypos2))
jf @aim_36
28@ = 28@ // beta = beta;
jump @aim_40
:aim_36
wait 0
if and
0025: 18@ > 5@
0025: 6@ > 19@ // if ((fxpos1 < fxpos2)&&(fypos1 > fypos2))
jf @aim_37
27@ += 1.57
0087: 28@ = 27@ // beta = (alpha + (3.14/2));
jump @aim_40
:aim_37
wait 0
if and
0025: 18@ > 5@
0025: 19@ > 6@ // if ((fxpos1 < fxpos2)&&(fypos1 < fypos2))
jf @aim_34
27@ *= -1
27@ -= 1.57
0087: 28@ = 27@ // beta = (-alpha - (3.14/2));
jump @aim_40
:aim_40 // Rotate camera
wait 0
0A8E: 0@ = 28@ + 0.0389 // camxpos = beta+0.0389;
0A8C: write_memory 0xB6F258 size 4 value 0@ virtual_protect 0// WriteProcessMemory(GetCurrentProcess(), (LPVOID)0xB6F258, (LPVOID)&camxpos, 4, NULL);
jump @aim_21
АААА.... У меня нет такого опкода: 8AE1Уверен что опкод 8AE1: работает не корректно в samp'e. Могу предложить только вариант с sampfuncs, работает нормально и быстро. Или различные вариации кода типа:
Код:const vActor = 0@ POS_X = 1@ POS_Y = 2@ POS_Z = 3@ end Actor.StorePos($PLAYER_ACTOR, POS_X, POS_Y, POS_Z) while 8AE1: vActor = random_actor_near_point POS_X POS_Y POS_Z in_radius 6000.0 find_next 1 pass_deads 1 wait 0 if 003C: $PLAYER_ACTOR == vActor // (int) then continue else 4@ = 777 // yeah!!!!!!! jump @label end end
Есть он у всех. Это обратное действие 8AE1АААА.... У меня нет такого опкода: 8AE1
Только 0AE1 =c
Хм... :-\Есть он у всех. Это обратное действие 8AE1