Случайная подборка модов
HARDWARMOD - 3.2
4.0
Выживший. Побег из Зоны
3.7
История Борланда.Пролог
3.8
OGSE 0.6.9.3
4.2
The Project Medeiros
3.7
Sins of the past. Пролог
3.3
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Скрипты
Украина  FantomICW
Воскресенье, 04.01.2015, 00:44 | Сообщение # 61
Проект Смерти Вопреки
Статус:
Опытный:
Сообщений: 2259
Награды: 8
Регистрация: 06.01.2013

DukeKAn, всячески поддерживаю касательно стрима. Пожалуй, понять основы для новичков - крайне важно. Даже если они не станут скриптерами, "для общего развития" было бы полезно.
Цитата ScriptMaker ()
в таком случае не вижу смысла вообще человеку лезть в скрипты.

Максималистично звучит :)
  Злобная реклама
Воскресенье, 04.01.2015, 00:44
Статус:
Сообщений: 666
Регистрация: 06.01.2013
Российская Федерация  DukeKAn
Воскресенье, 04.01.2015, 14:27 | Сообщение # 62
Статус:
Неопытный:
Сообщений: 491
Награды: 8
Регистрация: 25.11.2012

Цитата ScriptMaker ()
я в таком случае не вижу смысла вообще человеку лезть в скрипты. Метод тыка - плохой метод.

Не совсем понял, где я говорил про метод тыка. Я говорил о том, что С и С++ - вовсе не обязательны для скриптера под сталкер.
Цитата BozKurt ()
Метод create возвращает серверный объект, а клиентский становится доступен только на следующем апдейте. Колбек client_spawn_manager срабатывает как раз тогда, когда клиентский объект становится доступен.

Вот, это ответ по делу. Я это упустил, и был не прав. Собственно, для того и нужен стрим, а не просто видео - чтобы было обсуждение, и найден правильный подход.
А 52 пост - не мой, я пока стараюсь не писать статьи в таком стиле.
6poHR777,
Если нужно конкретно под сталкер проверить скрипты - Яндекс Диск

FantomICW,
Буду рад видеть. Хотя народ пока собирается посильнее меня :-)
  Злобная реклама
Воскресенье, 04.01.2015, 14:27
Статус:
Сообщений: 666
Регистрация: 25.11.2012
Украина  BozKurt
Воскресенье, 04.01.2015, 19:45 | Сообщение # 63
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

DukeKAn, поправочка про "конкретно под сталкер проверить скрипты" - там проверяется только синтаксис, как дебаг-программа она не подходит.
Если так дело пошло, то я рекомендую вот этот плагин для Notepad++: https://yadi.sk/d/Y9QrLgdLayqPD (в архиве есть небольшая документация по плагину).
  Злобная реклама
Воскресенье, 04.01.2015, 19:45
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Понедельник, 05.01.2015, 13:45 | Сообщение # 64
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

BozKurt, а так же все остальные.
Тут возник вопрос. А скрипты на ТЧ-06 могут не срабатывать, именно из-за бинов или их правки?
Просто столкнулся со своей старой проблематикой, то, что на 04 работало, на 06 никак не работает. wacko
Прошу тапками не закидывать, если я что-то пропустил.
Суть проблемы такая:
Есть предмет, при его использовании должен сработать скрипт, коллбэки и функция в бинд_сталкер.скрипт есть, но, но при использовании предмета он просто съедается, при этом ничего не происходит.
Сама та функция, которую вызываю, она работает, через диалог проверил.
В чем может быть загвоздка? :(
Сообщение отредактировал 6poHR777 - Понедельник, 05.01.2015, 14:01
  Злобная реклама
Понедельник, 05.01.2015, 13:45
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 05.01.2015, 14:02 | Сообщение # 65
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

6poHR777, к сожалению, я не обладаю экстрасенсорными способностями, подозреваю, что и остальные форумчане тоже. Поэтому без кода, что и где прописывал, решить проблему будет маловероятным.
  Злобная реклама
Понедельник, 05.01.2015, 14:02
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Понедельник, 05.01.2015, 14:13 | Сообщение # 66
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

BozKurt, да, понимаю.
Вот:
function actor_binder:net_destroy()
Добавил данный коллбек:
Код
self.object:set_callback(callback.use_object, nil)


function actor_binder:reinit()
Добавил:
Код
self.object:set_callback(callback.use_object, self.shompol_start, self)


В самом низу написал следующее:
Код
function actor_binder:shompol_start(obj, who)
     if obj then  
         if obj:section() == "shompol" then
                 wp_items.action_shompol()  
         end
     end
end
  Злобная реклама
Понедельник, 05.01.2015, 14:13
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 05.01.2015, 14:39 | Сообщение # 67
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

6poHR777, у тебя в reinit'е часом не два колбека на юз подключено?
  Злобная реклама
Понедельник, 05.01.2015, 14:39
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Понедельник, 05.01.2015, 14:47 | Сообщение # 68
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

BozKurt, вот что у меня там:
Код
function actor_binder:reinit()
   object_binder.reinit(self)
     
   local npc_id = self.object:id()

   db.storage[npc_id] = { }

   self.st = db.storage[npc_id]
   self.st.pstor = nil

   self.next_restrictors_update_time = -10000

   self.object:set_callback(callback.inventory_info, self.info_callback, self)
   self.object:set_callback(callback.article_info, self.article_callback, self)
   self.object:set_callback(callback.on_item_take, self.on_item_take, self)
   self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)
   self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats
   --self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)
   self.object:set_callback(callback.task_state, self.task_callback, self)
   --self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)
   self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)
   self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)
   self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)
   self.object:set_callback(callback.use_object, self.shompol_start, self)
end
Сообщение отредактировал 6poHR777 - Понедельник, 05.01.2015, 14:53
  Злобная реклама
Понедельник, 05.01.2015, 14:47
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 05.01.2015, 15:27 | Сообщение # 69
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

6poHR777, тогда две возможные причины:
1. Имя секции используемого предмета не "shompol";
2. Функция wp_items.action_shompol() всё же работает не так как нужно.
С колбеком всё в порядке, т.к. я его же использовал в моде Medicine на шестом патче и проблем не было.
  Злобная реклама
Понедельник, 05.01.2015, 15:27
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Понедельник, 05.01.2015, 16:00 | Сообщение # 70
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

BozKurt, смотрите.
Код

function action_shompol
     
   alife():create("shompol", vector(),0,0,0)

local apos = db.actor:position()
   for obj_id,_ in pairs (db.storage)do
    local obj = level.object_by_id(obj_id)
    if obj and (IsStalker(obj) or IsMonster(obj)) and obj:alive()   
    and obj:relation(db.actor) == game_object.enemy and obj:position():distance_to(apos)<30 then
     send_tip("Нельзя использовать шомпол, когда опасность слишком близко.")
     return
    end
   end
     
     
   repair_item_in_slot(1)   
   repair_item_in_slot(2)   
end
     
function repair_item_in_slot(num)
   local item = db.actor:item_in_slot(num)
   if item then
    local cond = item:condition()
    if cond < 0.4 then
     send_tip("%c[255,255,0,0]Чистка невозможна: оружие "..num.. " сильно повреждено.")
    elseif cond > 0.90 then
     send_tip("%c[255,255,0,0]Чистка невозможна: %c[255,0,255,0]оружие в слоте "..num.. " в отличном состоянии.")
    else
     item:set_condition(1)
     send_tip("%c[255,0,255,0]Чистка оружия в слоте "..num.. " завершена.")
    end
   else
    send_tip("%c[255,255,0,0]В слоте "..num.." нет предмета для чистки.")
   end
end
     
function send_tip(news_text)
   db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(0,517,83,47), 1000, 5000)
end


Код

[shompol]:identity_immunities
GroupControlSection    = spawn_group
discovery_dependency    =
$spawn    = "food and drugs\shompol"
$prefetch   = 32
class   = II_ANTIR   
cform                   = skeleton
visual                  = equipments\shompol.ogf   
description  = enc_equipment_shompol
     
inv_name  = shompol
inv_name_short  = shompol
inv_weight  = 0.05
     
inv_grid_width  = 2   
inv_grid_height  = 1
inv_grid_x  = 8   
inv_grid_y  = 18   
cost   = 200   

eat_health = 0
eat_satiety = 0
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = 1
animation_slot = 4
hud = wpn_vodka_hud


В конце концов, могу папку бинов дать. 12
Сообщение отредактировал 6poHR777 - Понедельник, 05.01.2015, 16:00
  Злобная реклама
Понедельник, 05.01.2015, 16:00
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 05.01.2015, 17:01 | Сообщение # 71
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

6poHR777, извини, но здесь для меня тупик. Либо я чего-то не замечаю, либо проблема глобальнее, например завис биндер.
Если "папка бинов" - это скомпилированные библиотеки из исходников, то проблем быть не должно, если сам чего не напортачил.
  Злобная реклама
Понедельник, 05.01.2015, 17:01
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Понедельник, 05.01.2015, 17:04 | Сообщение # 72
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

BozKurt, юзал кат-икс-рей, может служить причиной?
  Злобная реклама
Понедельник, 05.01.2015, 17:04
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 05.01.2015, 17:09 | Сообщение # 73
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

6poHR777, не знаю, т.к. никогда не пользовался, но и подобных проблем в его адрес не видел.
  Злобная реклама
Понедельник, 05.01.2015, 17:09
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Среда, 14.01.2015, 20:48 | Сообщение # 74
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

Всем доброго времени суток, в общем, по своей проблеме, описанной выше.
Зависает коллбэк, в чем может быть причина? :(
  Злобная реклама
Среда, 14.01.2015, 20:48
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  DukeKAn
Среда, 04.02.2015, 17:11 | Сообщение # 75
Статус:
Неопытный:
Сообщений: 491
Награды: 8
Регистрация: 25.11.2012

Сегодня разберём вертолёт. Отличие от предыдущих уроков - этот писался под ЗП.

Скачать прокомментированные скрипты вертолёта от ЗП можно здесь: Яндекс Диск

Общее представление:


В большей части случаев этого достаточно, и править скрипты не приходится. Для тех, кому интересны сами скрипты - добро пожаловать под кат:
Сообщение отредактировал DukeKAn - Пятница, 06.02.2015, 12:27
  Злобная реклама
Среда, 04.02.2015, 17:11
Статус:
Сообщений: 666
Регистрация: 25.11.2012
Поиск: