You are not logged in.
Создала эту тему для единичных вопросов, ради которых не имеет смысла создавать отдельных тем.
Вот мой вопрос.
Есть скрипт расхода бензина. Он состоит из двух thread-ов: контроля за расходом топлива, и части посвященной бензозаправкам.
Можно ли этот скрипт (весь или одну из частей) внести в мейн как экстернальный? Просто он места много занимает.
Last edited by svetka (03-02-2007 12:45)
Offline
Можно. Нужно проверять, если игрок в машине, затем проверить загружен ли скрипт, если нет - загрузить его и активировать (init). Хендл машины (переменную) можно передать в скрипт через опкод 0913, а в самом скрипте использовать переменную 0@ (хотя можно и как обычно).
Offline
Seemann, помню ты где-то рассказывал как вставлять через мейн свой текст в игру, но вот что не помню где.
Подскажи, пожалуйста, как это сделать или дай ссылку.
Offline
Offline
У меня есть магазин по скупке автомобилей. Если возможно, то как сделать так, чтобы каждый раз мне за авто платили разные суммы, но не меньше $1000? Или просто разные.
Offline
У меня есть магазин по скупке автомобилей. Если возможно, то как сделать так, чтобы каждый раз мне за авто платили разные суммы, но не меньше $1000? Или просто разные.
0099: $8224 = random_integer_0-to-65535 0208: 17@ = random_float -0.2 0.2001 0209: 17@ = random_int 0 10
Или надо что-то другое?
Last edited by Sanchez (09-02-2007 10:47)
Offline
Честно говоря не знаю, но попробую разобраться. А пока мне за каждую (любую) машину платят одну и ту же сумму (за то, что я ее пригнала).
Offline
Честно говоря не знаю, но попробую разобраться. А пока мне за каждую (любую) машину платят одну и ту же сумму (за то, что я ее пригнала).
Приведи часть кода, где деньги платят.
Offline
Вот:
wait 2000
0615: define_action_sequences 6@
05B9: unknown_action_sequence -1 1000
05D1: AS_actor -1 drive_car 0@ to 1643.425 -1512.051 13.55889 speed 7.0 0 0 3
0633: AS_actor -1 exit_vehicle
0616: define_action_sequences_end 6@
0618: assign_actor $PLAYER_ACTOR to_action_sequences 6@
061B: remove_references_to_action_sequences 6@
062E: (unknown) $PLAYER_ACTOR 1560 7@
wait 3000
Garage.Close('MUL_LAN')
wait 500
fade 0 500
wait 500
03E6: remove_text_box
fade 1 500
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 1643.525 -1525.051 13.49873
1@ = Car.Model(0@)
3@ = Car.Health(0@)
Car.Destroy(0@)
Car.RemoveReferences(0@)
Player.CanMove($PLAYER_CHAR) = True
Camera.SetBehindPlayer
Camera.Restore_WithJumpCut
if
$12498 >= 49 // integer values
jf @SNKCHP_970
jump @SNKCHP_1033
:SNKCHP_970
Player.Money($PLAYER_CHAR) += 1000
01E3: text_1number_styled 'IE30' 1000 5000 ms 1 // Earnings~N~~w~$~1~
Player.WantedLevel($PLAYER_CHAR) = 10@
10@ += 1 // integer values
$12498 += 1 // integer values
11@ = 0 // integer values
jump @SNKCHP_412
Last edited by svetka (09-02-2007 11:16)
Offline
Так можно ?
:SNKCHP_970 0209: $money = random_int 1000 2000 Player.Money($PLAYER_CHAR) += $money 01E3: text_1number_styled 'IE30' 1000 5000 ms 1 // Earnings~N~~w~$~1~
Offline
О, да! Sanchez, спасибо!
Offline
Создала эту тему для единичных вопросов, ради которых не имеет смысла создавать отдельных тем.
Так вот ктонибуть, чтонибуть нашёл нашёт Скейтборда.
Offline
тоесть в игровой памети gtasa.exe
Offline
Seemann как ты узнаёшь что 0@ = 362041 где 362041 адрес отвечает за цвет звёзд или адрес 304476 за клавишу End и Page Up?
например можешь найти адрес (чит) пополнения здоровья и как его активировать,
активировать этой командой &0(0@,1i) = 0xFF0000FF ? а что писать заместо 0xFF0000FF ?
Last edited by NEMESIS.kt (19-02-2007 23:55)
Offline
2NEMESIS.kt:
Значения локальных переменных - это указатель на адрес памяти, подробнее читай в моей статье "Меняем игровую память через SCM" в хелпе к билдеру или здесь.
Адреса памяти находятся путем исследования gta_sa.exe. Ты тоже можешь, для этого тебе понадобится любой дизассемблер/отладчик, начиная с простых OllyDbg и W32Dasm и заканчивая мощными IDA 5 и SoftIce.
Насчет активации читов смотри эту тему
http://www.sannybuilder.com/forums/viewtopic.php?id=24
Там как раз есть возможность активировать в цикле любой чит при нажатии кнопки Действие.
Offline
а где мне скачать дизассемблер? начиная с простого.
Offline
А гугл и яндекс уже не работают?
Offline
дак какой именно дизассамблер нужен? их там стоко всякие разные
Offline
А пока мне за каждую (любую) машину платят одну и ту же сумму (за то, что я ее пригнала).
А зачем тебе изп. случайные цены?
А ты запиши в перемнную сколько стоит определенная машина по умолчанию опкодом:
09E1: get_vehicle_model $car monetary_value $car_money
Offline
NEMESIS.kt : я пользуюсь IDA , Seemann тоже ей , поэтому качай её .
Offline
так как я после долгого перерыва в скриптинге снова взялся за него, то решил перейти с SAMB на Sanny Builder. я пользовался вот этим методм http://missions.gtamaps.net/readarticle … cle_id=138 чтоб продолжать игру с сейва с новым скриптом, а не начинать каждый раз новую. попытался я использовать этот способ в Сани Билдере, сделал как написано(с поправками на СБ) - попробовал вставить скрипт спидометра(естественно переписал его на "диалект" СБ), загружаю игру - вылет. написал маленький скрипт с обращением к памяти - работает... такое ощущение, что "длинные" скрипты не работают со способом выше по ссылке... в SAMB проблема решалась с помощью deffine memory, в самом начале мэйна, а в Санни Билдере - я define memory не нашел....
вобщем можно ли как то в СБ сделать так, чтоб не начинать каждый раз новую игру? а то уж очень не хочется возвращаться к SAMB..
надеюсь не очень заумно\занудно всё написал...
Offline
Просто:
1) скрипт не качественно переведён под СБ
2) почитай комменты к той статье , изменения можно делать только минорные и чтобы ещё сейв старый грузился
Last edited by Alexander (21-02-2007 18:30)
Offline
Просто:
1) скрипт не качественно переведён под СБ
возможно, но я переводил вручную несколько раз.
Просто:
2) почитай комменты к той статье , изменения можно делать только минорные и чтобы ещё сейв старый грузился
не, почему же? я в SAMB много скриптов проворачивал этим способом. там когда пишет ошибку, что недостаточно define memory(а как известно если её увеличить, то сэйв не загрузится), то надо увеличить её(память), что бы скрипт скомпилировался удачно, а потом вернуть старое значение define memory и снова откомпилировать. САМБ естествено выдаст ошибку о недостачи памяти, но скрипт будет работать с сэйвами. можно сказать это моё ноу-хау.... будет очень обидно, если в Сани Билдере нельзя так хитро сделать(или еще как нибудь)...
Last edited by flashTrash (21-02-2007 18:51)
Offline
2flashTrash:
Define memory в Mission Builder'е не имеет никакого отношения к совместимости сейвов, обычным его редактированием ты не добьешься, чтобы сейвы работали.
Насчет этой технологии (Darkpact) скажу, что на гтафорумс публиковали специальную его версию под SB. Посмотри здесь
http://www.gtaforums.com/index.php?show … &p=3881003
Offline