- 2,696
- 1,469
такой вопрос, вот есть к примеру несколько переменных и в них записано либо 1 либо 0. как найти кол-во переменных с единицой? опкод какой мб.
Пфф, позже скину пример.
Если забуду - в лс напиши.
такой вопрос, вот есть к примеру несколько переменных и в них записано либо 1 либо 0. как найти кол-во переменных с единицой? опкод какой мб.
Я сказал, с точкой, а не запятой.
Даже пример привел.
Это дабстеп. Не слушай его.ну так я и сделал с точкой
0025: 27@ == 618.56
0025: 28@ == 890.73
0025: 29@ == -38.17
Они совпадают но варнинги летят
Это дабстеп. Не слушай его.
ну так я и сделал с точкой
0025: 27@ == 618.56
0025: 28@ == 890.73
0025: 29@ == -38.17
Они совпадают но варнинги летят
тут нужно уточнить какие переменные еще.такой вопрос, вот есть к примеру несколько переменных и в них записано либо 1 либо 0. как найти кол-во переменных с единицой? опкод какой мб.
10@ = 0 //Счетчик
11@ = 0 //Счетчик
:buf
hex
00 03 05 01 //Записываем в hex переменные которые нужно проверить
end
// в цикле читаем значения из hex по одному байту
0AC6: 0@ = label @check offset
0@ += 7
0AC6: 1@ = label @buf offset
for 30@ = 0 to 3 //Читаем 4 раза
0A8D: 2@ = read_memory 1@ size 1 virtual_protect 0
1@ += 1
0A8C: write_memory 0@ size 1 value 2@ virtual_protect 0 //Тут записываем значение переменной в последующую проверку
:check
if 0@ == 1
then 10@++
else 11@++
end
end
Без 0025 вообще не совпадают
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
thread 'ACTDEAD'
:ACTDEAD_11
wait 0
if
Player.Defined($PLAYER_CHAR)
if and
00E1: player 0 pressed_key 11
not Actor.Driving($PLAYER_ACTOR)
not Actor.Dead($PLAYER_ACTOR)
else_jump @ACTDEAD_11
Player.CanMove($PLAYER_CHAR) = False
0812: AS_actor $PLAYER_ACTOR perform_animation "KO_SHOT_STOM" IFP "PED" framedelta 50.0 loopA 0 lockX 0 lockY 0 lockF 1 time 900 // versionB
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1
jump @ACTDEAD_11
такой вопрос, вот есть к примеру несколько переменных и в них записано либо 1 либо 0. как найти кол-во переменных с единицой? опкод какой мб.
{$CLEO}
0000:
1@ = 0
2@ = 1
3@ = 767
4@ = 1
5@ = -1
6@ = 12378
7@ = 1
8@ = 0
9@ = -1001
while true
wait 1000
for 0@ = 1 to 9 step 1 // 1-9
0ab1: call @getLocalVarOffset 1 var 0@ to 10@
0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0
if 10@ == 1
then
0af8: chat "var %d@ = 1" -1 0@
end
end
end
:getLocalVarOffset
0A9F: 1@ = current_thread_pointer
1@ += 60
0@ *= 4
005a: 1@ += 0@
0ab2: ret 1 1@
Вот скрипт КЛЕО-анимации. При нажатии на кнопку Y (кнопку положительного ответа в игре), срабатывает анимация смерти (ACTDEAD). После чего, при нажатии на кнопку N (отрицательного ответа), можно ее выключить. Вопрос: можно поменять кнопку ЗАПУСКА (Y) на какую-либо другую. Например, на кнопку U или I. Вообщем, чтобы она оставалась на этой кнопке. А кнопку N менять не надо.
P.S.: я полный чайник в КЛЕО-скриптинге, никогда ничего не писал сам, поэтому и обратился сюда. Прошу, не судите строго :)
{$CLEO}
thread 'ACTDEAD'
:ACTDEAD_11
wait 0
if and
Player.Defined($PLAYER_CHAR)
0ab0: key_pressed 0x55 // U
not Actor.Driving($PLAYER_ACTOR)
not Actor.Dead($PLAYER_ACTOR)
else_jump @ACTDEAD_11
Player.CanMove($PLAYER_CHAR) = False
0812: AS_actor $PLAYER_ACTOR perform_animation "KO_SHOT_STOM" IFP "PED" framedelta 50.0 loopA 0 lockX 0 lockY 0 lockF 1 time 900 // versionB
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1
jump @ACTDEAD_11
Используй опкод 0ab0
Номера клавиш можешь найти здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
P.S. U key = 0x55
Код:{$CLEO} thread 'ACTDEAD' :ACTDEAD_11 wait 0 if and Player.Defined($PLAYER_CHAR) 0ab0: key_pressed 0x55 // U not Actor.Driving($PLAYER_ACTOR) not Actor.Dead($PLAYER_ACTOR) else_jump @ACTDEAD_11 Player.CanMove($PLAYER_CHAR) = False 0812: AS_actor $PLAYER_ACTOR perform_animation "KO_SHOT_STOM" IFP "PED" framedelta 50.0 loopA 0 lockX 0 lockY 0 lockF 1 time 900 // versionB 03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 jump @ACTDEAD_11
Через Sanny Builder 3 я поменял старый код на предложенный тобой, но теперь при запуске ГТА крашит. Что я не так делаю опять?)
А если забить на сравнение координат и вставить туда поиск слова из чата? Объясните как это сделать?
if 0C18: 2@ = strstr string1 1@ string2 "Здесь свое слово"
then
*а тут тру код*
end