[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
108 |
Награды: |
0 |
Регистрация: |
08.10.2017 |
|
Khyzyr, не обязательно задание, + нужно, чтобы если состояние 80 и более процентов - техник сам смог сделать от 60 до 80 - без набора #1 не смог сделать от 40 до 60 - без набора #1 и #2 и т.д., проверку на состояние я сделаю - а вот на самого техника не знаю как можно реализовать так на таких инфопоршнях - инфопоршень "может делать при состоянии от 60 до 80", "от 40 до 60" и т.д., но опять же - всё упирается в проверку на техника
Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 18:05
|
|
Суббота, 28.07.2018, 18:03
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.10.2017 |
|
|
|
|
|
Khyzyr
Суббота, 28.07.2018, 18:05 | Сообщение # 1622
Статус: |
 |
Неопытный: |
 |
Сообщений: |
452 |
Награды: |
5 |
Регистрация: |
19.06.2017 |
|
zhenya4342, А вместо elseif level.name == "zaton" пробовали указать id техника?
|
|
Суббота, 28.07.2018, 18:05
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.06.2017 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
108 |
Награды: |
0 |
Регистрация: |
08.10.2017 |
|
Khyzyr, повторяю третий раз - я не знаю, как сделать проверку на непися (техника), поэтому ясен фиг не пробовал, ибо не знаю как не вместо "zaton" же писать айди техника
|
|
Суббота, 28.07.2018, 18:06
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.10.2017 |
|
|
|
|
|
Khyzyr
Суббота, 28.07.2018, 18:14 | Сообщение # 1624
Статус: |
 |
Неопытный: |
 |
Сообщений: |
452 |
Награды: |
5 |
Регистрация: |
19.06.2017 |
|
zhenya4342, Проверяй
Код elseif (type(npc.id) == "number"
|
|
Суббота, 28.07.2018, 18:14
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.06.2017 |
|
|
|
|
Суббота, 28.07.2018, 18:15
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.10.2017 |
|
|
|
|
|
Khyzyr
Суббота, 28.07.2018, 18:19 | Сообщение # 1626
Статус: |
 |
Неопытный: |
 |
Сообщений: |
452 |
Награды: |
5 |
Регистрация: |
19.06.2017 |
|
zhenya4342, Странный ты все равно человек, усложняешь. По функции: чекай xr_conditions функция function is_alive.
|
|
Суббота, 28.07.2018, 18:19
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.06.2017 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
108 |
Награды: |
0 |
Регистрация: |
08.10.2017 |
|
Khyzyr,  насчёт твоего скрипта (по нажатию на кнопку "ремонт"):
пробовал
Код elseif type(npc.id) == "jup_b217_stalker_tech" then и
Код elseif (type(npc.id) == "jup_b217_stalker_tech") then ну а с твоим
Код elseif (type(npc.id) == "jup_b217_stalker_tech" then игра и вовсе не загружается, орёт на синтаксис
Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 18:23
|
|
Суббота, 28.07.2018, 18:23
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.10.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
270 |
Награды: |
5 |
Регистрация: |
30.07.2016 |
|
zhenya4342, потому что id и story id это разные вещи. А вообще тебе нужен файл configs\misc\stalkers_upgrade_info.ltx
Сообщение отредактировал yobakun - Суббота, 28.07.2018, 18:42
|
|
Суббота, 28.07.2018, 18:42
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
30.07.2016 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
108 |
Награды: |
0 |
Регистрация: |
08.10.2017 |
|
yobakun, порылся в нём, но не нашёл ничего связанного с ремонтом, поподробнее можно?
Добавлено (28.07.2018, 19:22) --------------------------------------------- Проблема решена таким скриптом:
Код function question_repair_item( item_name, item_condition, can, mechanic ) --( string, float, bool, string ) local price = how_much_repair( item_name, item_condition ) if(item_name=="pri_a17_gauss_rifle") then return false elseif db.actor:money() < price then return false elseif mechanic=="zat_a2_stalker_mechanic" then return true else return false end end
выявил решение опытным путём - переменная mechanic возвращает айди техника, поэтому нужно было всего лишь использовать её для проверки (можете не говорить, что я глупенький)Добавлено (28.07.2018, 19:33) --------------------------------------------- Ну и проверку на поршни добавил, если кому интересно:
Код function can_repair_item( item_name, item_condition, mechanic ) --( string, float, string ) local price = how_much_repair( item_name, item_condition ) if(item_name=="pri_a17_gauss_rifle") then return false elseif db.actor:money() < price then return false elseif mechanic=="zat_a2_stalker_mechanic" then if has_alife_info("zat_b3_tech_instrument_1_brought") then return true else return false end elseif mechanic=="jup_b217_stalker_tech" then if has_alife_info("jup_b217_tech_instrument_1_brought") then return true else return false end end end
Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 19:33
|
|
Суббота, 28.07.2018, 18:48
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.10.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
236 |
Награды: |
2 |
Регистрация: |
19.11.2017 |
|
Использую эту функцию, как проверку на деньги у гг, нашел тут.
Использую в диалоге
Но вылетает при попытке диалога.
|
|
Суббота, 28.07.2018, 21:50
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.11.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
290 |
Награды: |
4 |
Регистрация: |
09.01.2017 |
|
Цитата svo6o9a (  ) Но вылетает при попытке диалога.
И где лог вылета?
|
|
Суббота, 28.07.2018, 22:30
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
236 |
Награды: |
2 |
Регистрация: |
19.11.2017 |
|
Цитата sergej5500 (  ) И где лог вылета? Ну моя ошибка, забыл что то, вот
|
|
Суббота, 28.07.2018, 22:40
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.11.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
290 |
Награды: |
4 |
Регистрация: |
09.01.2017 |
|
svo6o9a,
Разрабы применяли для проверки денег такой код.
function zat_b30_actor_has_1000(first_speaker, second_speaker) return db.actor:money() >= 1000 end
У вас
function название функции() return db.actor:money()>=10000 end
нет first_speaker, second_speaker
Возможно, причина в этом
|
|
Суббота, 28.07.2018, 23:10
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2017 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Цитата sergej5500 (  ) нет first_speaker, second_speaker
Возможно, причина в этом Нет, не в этом.
|
|
Суббота, 28.07.2018, 23:26
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
290 |
Награды: |
4 |
Регистрация: |
09.01.2017 |
|
Цитата Overfirst (  ) Нет, не в этом.
Тогда нужен весь диалог и все функции. Где то ошибка.
|
|
Суббота, 28.07.2018, 23:28
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2017 |
|
|
|
|