You are not logged in.
0A97: 8@ = car 0@ struct 8@ += 2424 0A8D: 9@ = read_memory 8@ size 1 virtual_protect 0
Здесь идёт получение нетро (0@ - машина игрока)
А 0AB3 ничего не делает, это просто замена кейворду var.
EDIT:
Кстати, в исходном коде gasoline_NEW нашёл очень глупую проверку.
03C0: 8@ = actor $PLAYER_ACTOR car 046C: 26@ = car 8@ driver if 003B: 26@ == $PLAYER_ACTOR // (int) else_jump @NONAME_2
ИМХО зачем проверять является-ли водителем машины ИГРОКА - игрок?
Last edited by Sw[ee]t (29-08-2009 22:06)
Offline
EDIT:
Кстати, в исходном коде gasoline_NEW нашёл очень глупую проверку.03C0: 8@ = actor $PLAYER_ACTOR car 046C: 26@ = car 8@ driver if 003B: 26@ == $PLAYER_ACTOR // (int) else_jump @NONAME_2ИМХО зачем проверять является-ли водителем машины ИГРОКА - игрок?
Сам ты глупый:lol:
Если машина игрока, то это не значит, что он стопроцентно её водитель. Он может сидеть и на пассажирском месте.
Offline
Offline
Если машина игрока, то это не значит, что он стопроцентно её водитель. Он может сидеть и на пассажирском месте.
без скриптов такое только на миссиях встречается.
кстати, почему клео переменные так редко используются? ведь они довольно таки полезные замена стандартным глобальным переменным.
100 постов - 27 августа;
Offline
без скриптов такое только на миссиях встречается.
У человека может стоять какой-нибудь мод, с которым можно садиться и на пассажирские сидения. Поэтому следует данный момент предусмотреть, чтобы повысить совместимость. Это как правила хорошего тона.
кстати, почему клео переменные так редко используются? ведь они довольно таки полезные замена стандартным глобальным переменным.
Потому что по сути, это те же глобальные переменные, только мало используемые.
Offline
только мало используемые.
угу угу. глобальные чаще, имхо там не тока цыферки
Offline
Вот, пришло пара безумных идей, как улучшить клео :
1. Если мы знаем, где находится адрес опкодов, то нам можно некоторые опкоды изменить с помощью этого? например nopы изменить, чтобы они рабочими стали.
2. Наверняка в памяти где-то выделяется эн-ное количество памяти для локальных переменных. Если количество увеличить, то и локальных переменных станет больше.
вопрос: как удалить у педа референцес, при этом чтобы он атакавал актёра?
100 постов - 27 августа;
Offline
У меня еще один вопрос,возможно глупый,как запихнуть свою музыку в гта cа?где то видел а вот где не помню
Offline
@PIT - Под локальные переменные выделен массив в CScriptThread. Увеличить его можно, но нужно править все места, где есть ображения к CScriptThread - а это очень неблагодарное занятие. Проще перетещить весь скриптовый движок из IV.
C NOP-ами проще: самый просто метод - перехватить место, где делается первоначальное разбиение опкодов по сотням, и, для нужныйх опкодов вызывать свой хэндлер (это есть в исходниках, которые я выкладывал).
Offline
У меня была мысль увеличить кол-во локальных переменных в потоках CLEO-скриптов (они создаются и управляются библиотекой CLEO, поэтому технически такая возможность есть), но я посчитал, что наличие определенного лимита (в данном случае 32 переменных на поток) стимулирует к более рациональному использованию имеющихся ресурсов и повышает качество кода. Проще говоря: меньше переменных - код больше оптимизируется.
Для временного хранения больших объемов данных можно использовать внутреннее пространство самого скрипта. Например, через hex..end резервировать буфер в конце файла, затем напрямую писать и читать значения оттуда. Кажется, так делал Ryosuke в некоторых скриптах.
Offline
C NOP-ами проще: самый просто метод - перехватить место, где делается первоначальное разбиение опкодов по сотням, и, для нужныйх опкодов вызывать свой хэндлер (это есть в исходниках, которые я выкладывал).
тоесть, фактически при вызове эн-ного опкода мы просто заменяем его функции своими. а какие NOPы удобнее использовать? ведь есть и со строками, и без.
У меня еще один вопрос,возможно глупый,как запихнуть свою музыку в гта cа?где то видел а вот где не помню
запихивай в C:\Documents and Settings\User name\Мои документы\GTA San Andreas User Files\User Tracks
100 постов - 27 августа;
Offline
Lost_forever wrote:У меня еще один вопрос,возможно глупый,как запихнуть свою музыку в гта cа?где то видел а вот где не помню
запихивай в C:\Documents and Settings\User name\Мои документы\GTA San Andreas User Files\User Tracks
Он наверное имеет в виду другой плагин для вставки своей музыки из которой можно сделать радио.
Last edited by Sw[ee]t (03-09-2009 14:11)
Offline
Нужно брать качеством, а не количеством
наверное любимые слова listener'а:D
тоесть, фактически при вызове эн-ного опкода мы просто заменяем его функции своими.
А смысл заменять нопы есть? Наверное проще воспользоваться методом, примененным Seemann'ом здесь. Естественно, адрес смещения надо будет самому искать. Если в клео скрипте, то смещение будет не относительно начало блока скм, а относительно индекса самого скрипта.
Last edited by Alien (01-09-2009 16:59)
Offline
Как занести имя машины $car в стринговую переменную?
Offline
Ну и как?
Offline
имя машины часто совпадает с её моделью...надо через QO как-то GXT читать %)
3Doomer имхо не знаешь - молчи
100 постов - 27 августа;
Offline
вопрос: как удалить у педа референцес, при этом чтобы он атакавал актёра?
ответ: узнаёшь у жертвы педтип и делаешь hate CivMale (или CivFemale) к оному. Затем можно смело удалять сведения.
Объясню на всякий случай, почему команда для педтипа прохожих, а не для текущего педтипа агрессора. Когда референцы удаляются актёру заново даётся хэндл как простому смертному.
Offline
я уже кажись нашел способ и объяснил даеману в аске
100 постов - 27 августа;
Offline
Кто-нибудь видел где в саньке сидит код проституток, которые по улицам ходят?
Offline
Кто-нибудь видел где в саньке сидит код проституток, которые по улицам ходят?
а тебе что конкретно надо, подправить или сделать что-то похожее? такое нетрудно сделать.
100 постов - 27 августа;
Offline
При считывании из памяти типа двигателя авто (+0x75), каждый раз получаю какие-то разные и непонятные значения, типа 0, 128, 310 и т.п.
Last edited by CraZZZy-GameRRR (05-09-2009 21:07)
Offline