You are not logged in.
Pages: 1
$PLAYER_CHAR это все педы в зоне стрима? Или как? А как узнать Handle педа? Если я буду иметь Handle педа, то смогу этому педу уменьшать здоровье и прочее благодаря изменения адреса памяти?
Нет, $PLAYER_CHAR это игрок (ты),
0AD2: 1@ = player $PLAYER_CHAR targeted_actor // 1@ = пед, на которого нацелился игрок 08E5: get_actor_in_sphere 27@ 28@ 29@ radius 50.0 handle_as 0@ // 0@ = любой пед, который находится в заданной сфере
Насчёт второго немного не уверен правда
Можешь делать с ними что хочешь
Вот простой скрипт рабочий. Он автоматически восстанавливает хп до 100 (на деле), несмотря сколько хп у актёра (меня), хоть 99. А хотел я чтобы он восстанавливать ТОЛЬКО , когда хп ниже 20. В чём я ошибся?
{$CLEO} 0000: :1 wait 0 0A96: 0@ = actor $PLAYER_ACTOR struct 0A8E: 5@ = 10@ + 20 0A8E: 1@ = 0@ + 0x540 repeat wait 0 if 002D: 1@ >= 5@ then 0A8D: 2@ = read_memory 1@ size 4 virtual_protect 1 0A8C: write_memory 1@ size 4 value 100.0 virtual_protect 1 end jump @1 until Actor.Dead($PLAYER_ACTOR)
Не пойму зачем всё так усложнять, ведь это можно реализовать с помощью стандартных опкодов, получится в 100 раз понятнее и короче
{$CLEO} 0000: :MAIN while true wait 0 0226: 1@ = actor $PLAYER_ACTOR health if 001B: 20 > 1@ then 0223: set_actor $PLAYER_ACTOR health_to 100 end end
Ну вот допустим я написал такой скрипт:
{$CLEO} 0000: create_thread @1 :1 0001: wait 0 if 0611: actor $PLAYER_CHAR performing_animation "WALK_CIVI" jf @1 010D: set_player $PLAYER_CHAR wanted_level_to 6 jump @1Вот и почему "гта не отвечает",когда уже загрузила новую игру или сохранение?? НУ что не так ? Видосы смотрю обучающие. Но руки уже чешутся что-нибудь написать.
А вот так работает -
{$CLEO} 0000: :1 0001: wait 0 if 0611: actor $PLAYER_ACTOR performing_animation "WALK_PLAYER" jf @1 01F0: set_max_wanted_level_to 6 010D: set_player $PLAYER_CHAR wanted_level_to 6 jump @1
(ну я бы не сказал что работает стабильно, но всё же работает)0 )
Ну тут фишка в чём
Если в опкоде написано player_, то используй переменную $PLAYER_CHAR
А если написано actor_, то используй $PLAYER_ACTOR
05D9: AS_actor $PLAYER_CHAR run_to_actor $PLAYER_ACTOR timelimit -1 stop_within_radius 3.0
Этот опкод просто отвечает за выполнение анимации бега одного определённого актёра к другому и всё
А если ты хочешь заставить игру найти педа в определённом скине то вот вроде бы нужный опкод -
091C: get_actor_in_sphere $TEMPVAR_FLOAT_X $TEMPVAR_FLOAT_Y $TEMPVAR_FLOAT_Z radius 1.5 model #FAM2 external_script_named "PEDSLOT" handle_as 1@
Где 1@ и есть указатель на этого педа
Мне кажется тебе не мешало бы посмотреть немного уроков по CLEO скриптингу, что тут и как делается.
SliVka, #FAM2 это не указатель на актёра, это просто id модели, это не должно же так работать
Придётся пока что быть извращенцем и сидеть понимать что тут к чему :с
Ну ничего, выйдет скоро полноценная VS2017 вот тогда и попробую установить ещё разок
Опять же - спасибо, какой раз уже хорошие, развёрнутые ответы
Берём например полосу ХП, её значение можно узнать (ну и собсна записать) опкодом 0226, а как узнать запас воздуха игрока?
И как можно поменять его значение?
Пытался найти что либо на эту тему в инете, по поиску опкодов SB тоже лазил, но как видите ничего я не нашёл.
проверь, можешь ли ты создавать проекты в своей студии.
File -> New -> Project... ->
Templates : Visual C++ : General : Empty Project
В той студии даже шаблонов проектов не было, но не суть
За всё это время я ставил кучу VS и все они устанавливались с какими либо ошибками, я думаю что я скорее смогу поставить винду 10 и попробовать установить на неё, чем найти хоть одну исправно работающую у меня студию.
Не думаю, что у меня есть какие либо ещё выходы кроме установки windows 10.
Если интересно, вот сохранившийся лог с ошибками после установки 2017 RC
А пока я не знаю что делать с моей VS у меня зародилось ещё 2 вопроса.
Первый - DK выпускал CLEO скрипт на изменение цветов статических моделей. Есть ли способ таким образом красить совершенно любую модель? Будь то оружие какое нибудь, али человек... да что угодно)
И второй - Как изменить направление вектора вылетающей пули у оружия? Например шоб не прямо, а вбок, иль назад...
Спасибо заранее)
Zin_869731, это Visual Studio Express?
Нужна полноценная студия.
Вот всё как сказал сделал,галочки поставил,даже переустановил ещё раз. Результат такой же - не хочет совершенно работать с VC++ :с
Нужно отразить модель по одной из оси и подровнять смещение.
Вариант реализации с plugin-sdk.#include "plugin.h" #include "game_sa\CModelInfo.h" using namespace plugin; const unsigned int MY_WEAPON_MODEL_ID = MODEL_BRASSKNUCKLE; const RwV3d MY_WEAPON_OFFSET = { 0.0f, 0.0f, 0.0f }; class MyTwinWeapon { public: MyTwinWeapon() { static CdeclEvent< AddressList<0x733119, H_CALL>, PRIORITY_BEFORE, ArgPickN<RpClump*, 0>, RpClump*(RpClump*)> onRenderSecondWeaponClump; onRenderSecondWeaponClump += [](RpClump *clump) { CWeaponModelInfo *weapModel = CallAndReturn<CWeaponModelInfo *, 0x732AC0>(clump); if (weapModel && CModelInfo::ms_modelInfoPtrs[MY_WEAPON_MODEL_ID] == weapModel) { // Если нужная модель RwFrame *frame = reinterpret_cast<RwFrame *>(clump->object.parent); RwV3d scale = { 1.0f, -1.0f, 1.0f }; RwMatrixScale(&frame->modelling, &scale, rwCOMBINEPRECONCAT); // Масштабируем RwMatrixTranslate(&frame->modelling, &MY_WEAPON_OFFSET, rwCOMBINEPRECONCAT); // Смещаем } }; } } myTwinWeap;Тест
#include "plugin.h" #include "game_sa\common.h" #include "game_sa\CStreaming.h" using namespace plugin; class MyTwinWeaponTest { public: MyTwinWeaponTest() { patch::Nop(0x7330B9, 2); // Рендерим два оружия независимо от флага в weapon.dat Events::gameProcessEvent += [] { CPed *playa = FindPlayerPed(); if(playa && KeyPressed('T')) { CStreaming::RequestModel(MODEL_BRASSKNUCKLE, GAME_REQUIRED); CStreaming::LoadAllRequestedModels(false); playa->GiveWeapon(WEAPON_BRASSKNUCKLE, 0, true); // Даём игроку оружие CStreaming::SetModelIsDeletable(MODEL_BRASSKNUCKLE); } }; } } myTest;
Спасибо за возможный вариант решения. Конечно прости за некоторую наглость, но не мог бы ты скинуть скомпилированные asi c вышеописанными кодами?
Просто я с VS ваще ни разу не знаком, да и ошибок на ровном месте тоже хватает, например такая вот:
VS 2015,пакет C++ тоже стоит.
Я вообще понятия не имею как её решить и соответственно продвинуться далее..
Драсте, у меня тут вопрос есть такой, связанный со вторым оружием в левой руке, т.е флаг TWIN_PISTOLS если так понятнее.
Короче говоря вот - у меня есть оружие,специально подстроенное только под правую руку, f мне требуется его отображать в обеих.
Когда я активирую этот флаг,то происходит то,что на картинке.
Вопрос заключается в чём собсна... как отзеркалить оружие для того,чтобы оно нормально отображалось во второй руке?
Спасибо заранее
Pages: 1