You are not logged in.
Вау! Отличные новости! Рад, что программа продолжает развиваться. Спасибо!
АИМ????????????
Сложно сказать без детального анализа адресов, но есть такая возможность, что аим.
Хотел бу узнать, что это за скрипт
чит
Вот исходник моего плагина Scm500k для GTA San Andreas
http://cleo.li/files/Scm500k.dprСуть состоит в том, чтобы выделить новый участок в памяти (в данном случае 500000 байтов для SCM и 100000 для миссий) и изменить все адреса в памяти игры, которые ссылаются на оригинальные области памяти
Вот ведь в SA как просто! Всего около 80 патчей адресов... Я в вайсе уже более 1500 ссылок поменял(там на один только ScriptSpace 1540 ссылок), а игре всё равно мало - вылетает(и я даже не расширял пока лимиты! Просто создал свой массив, такого же размера, как стандартный).
Но всё равно спасибо за версию для SA - буду думать и сравнивать, что я сделал не так...
Можно как то увеличить стандартный размер main.scm? (200000 байт) и размер миссий (69000 байт)
К сожалению, там не динамически создающийся массив(т.е. его нужно самому создать, а не просто размер лимита другой указать) и там очень, очень много ссылок нужно патчить, чтобы это запилить(а потом еще и тестить, блин). Это касается как размера main.scm, так и размера миссий.
Мб когда-нибудь сделаю для Вайса, но для СА ооочень маловероятно, сори.
Почему после 28 вложенных друг в друга условий на 29 условии
Зачем так мучаться, когда есть старый добрый jf...
Будь последовательным. Сначала узнай, есть ли у тебя актер(не мертв ли), а уже потом узнавай, сидит ли он в авто:
{$CLEO} 0000: :NONAME wait 0 02DD: 0@ = get_random_ped_in_zone 'SAN_AND' with_pedtype_civilian 1 gang 0 criminal/prostitute 0 not Actor.Dead(0@) jf @NONAME Actor.Driving(0@) jf @NONAME 1@ = Actor.CurrentCar(0@) Actor.Health(0@) = 500 Actor.SetImmunities(0@, 1, 1, 1, 1, 1) Car.SetToPsychoDriver(1@) jump @NONAME
Я как-то хотел создать тоже зомби-мод, только больше похожий на цифрокайф "Alone" из Watch_Dogs. Неужели стоит делать? У меня будет не(а)много разнообразнее, интереснее, и страшнее игра.
Если сомневаешься и ищешь моральную поддержку, чтобы начать делать - лучше не делать. Делай только тогда, когда этого хочется так сильно, что на одобрение становится плевать. Только в этом случае у проекта есть шанс дожить до релиза. Говорю тебе это как человек, который привык работать над проектами годами и уже успел закончить или забросить некоторые из них.
It's not a SAMP forum.
@Shag по-поводу кол-ва глобальных переменных здесь на форуме где-то обсуждали...
Да вот тоже что-то такое помню, но не нашел...
Вопрос: глобальные переменные со значением 0 сохраняются в сейв-файле?
Судя по тому, что при самых разных мэйнах с разным кол-вом используемых глобальных переменных сейв-файлы на выходе весят стабильные 201828 байта - да*
Вопрос в другом - а сколько всего глобальных переменных хранит в себе сейв-файл?
_____________________________
* Эт я о Вайсе, но в СА вроде та же ситуация.
ты прав CLEO уже не выдерживает, зато MoonLoader выдерживает https://youtu.be/R2RJ-pyWSQo
По-моему, 99% авто в этом видео удалились появлением следующих авто, и одновременно в итоге там находятся не более 10-20 авто.
Всем привет! У меня возник вопрос можно ли как то CLEO скриптом убрать вылет когда спавнишь много транспорта за 1 сеанс игры? Например на моем тесте игра крашнула как я подряд заспавнил 83 транспорт
Ты имеешь в виду одновременное присутствие вблизи игрока? Если да, то тут пока тухляк, но у меня есть небольшой прогресс(правда с педами и в вайсе), так что как разберусь окончательно - попробую раскопать что-нибудь и для са.
Чем получение координат мешает игре, другим игрокам? Это же глупо... Лучше бы помог, чем спорить не зная сути. Буду благодарен. :-D
При чем здесь "чем мешает"? Получая доступ к информации, которую сервер не предоставляет добровольно, ты получаешь преимущество над другими игроками. Это и есть читерство. Кого ты пытаешься обмануть?
Ало, где ты тут читы видишь? Я только учусь, пробую что-то писать. Ты в получении координат точки видишь читы? Боже...
sampfuncs это читерская платформа. Если сервер не предоставляет координаты игроку добровольно, а ты хочешь их получить в обход - это уже читерство.
не могу вывести координаты в чат
Это не форум по samp. Грязный читерский стафф обсуждается в других местах.
Shag wrote:Nikita592 wrote:Люди, хочу спросить а как можно трансформировать позицию игрока и позицию атакующего актёра (который атаковал игрока), в экранные координаты?
В VC это функция
5778B0 ; char __cdecl CSprite::CalcScreenCoors(RwV3d *a1, RwV2d *a2, float *a3, float *a4, char a5)В SA вроде
70CE30 ; CSprite::CalcScreenCoors(RwV3d const&, RwV3d*, float *, float *, bool, bool)Shag, спасибо, но как этим пользоваться? Использовать опкод 0A8D? Если да, то как? Просто я в памяти игры плохо разбираюсь, и как пользоваться этим адресом памяти я не знаю.
А для какой игры? Если для VC - могу накатать код на досуге(я не профи, так что для меня это работка на несколько часов, т.к. я всегда допускаю какие-нибудь ошибки и приходится тестировать по-нескольку раз), но вообще я работаю над новыми опкодами для Вайса, и этот опкод тоже в планах на добавление.
Если для SA - то навряд ли смогу помочь, т.к. с ней не работаю(даже в функции для неё не уверен).
UPD:
А, нашел всё же инфу по СА:
https://sannybuilder.com/forums/viewtop … 8988#p8988
Люди, хочу спросить а как можно трансформировать позицию игрока и позицию атакующего актёра (который атаковал игрока), в экранные координаты?
В VC это функция
5778B0 ; char __cdecl CSprite::CalcScreenCoors(RwV3d *a1, RwV2d *a2, float *a3, float *a4, char a5)
В SA вроде
70CE30 ; CSprite::CalcScreenCoors(RwV3d const&, RwV3d*, float *, float *, bool, bool)
Почему в оригинальном мейне VC задержки делаются таким образом?
01BD: $2 = current_time_in_ms repeat wait 0 01BD: $1 = current_time_in_ms 0084: $3 = $1 0060: $3 -= $2 if $3 > 9000 then $3 = 0 0084: $2 = $1 end until falseМожно ведь проще
repeat wait 0 01BD: $1 = current_time_in_ms if 001C: $1 > $2 then 01BD: $2 = current_time_in_ms $2 += 9000 end until falseИли есть разница?
Первый цикл - проверка, что прошло 9 секунд с предыдущего замера. Второй цикл отличается от первого лишь тем, что он начнет работать лишь со второго "прохода" по этому циклу. Чтобы он стал работать сразу, нужно добавить прибавление 9000 перед циклом, т.е.:
01BD: $2 = current_time_in_ms $2 += 9000 repeat wait 0 01BD: $1 = current_time_in_ms if 001C: $1 > $2 then 01BD: $2 = current_time_in_ms $2 += 9000 end until false
Скиньте пожалуйста ссылку ещё раз, а то по этой ссылке уже ничего нет.
https://github.com/cleolibrary/III.VC.C … e/CLEO_SDK
P.S. Если будешь писать опкоды для Вайса - не юзай с 0E00 по 0EFF плез
Dyabda>
Да, достаточно просто подменять модель копа каждые 0 миллисекунд сначала на одну модель, а через еще 0 миллисекунд - на другую, и по-новой.
Кстати, отсутствующие в VC опкоды возвратили в cleo-плагине VC.Opcodes.cleo
Спасибо, Shag
Ой, прости: там не float, а int(исправил). Но суть не меняется - максимальное значение должно быть такое же, только целое.