Пользователей: 0
Гостей: 703
Всего: 703

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
11-06-2011 12:31 GMT3 час. #1490560   
singapur22
Я вчера тоже наловился всяких казусов, когда испытывал подобный код.=)
Чего только не делал. Использовал и всякие нетривиальные решения.
Опыта, видать, пока не хватает.


То, что еле дождался вполне логично.
Ведь эта мететаблица является метаблицей для всех создаваемых кла**5001618d69873ce82a42** тут как сделать - тебе виднее.
get_console():execute(tostring("__index")) -- вызываем свой метод
return 0
else
old__index() -- иначе вызываем стандартный метод
end
end

function mg:__newindex(key, value)
if then
-- чего то там делаем
else
old__newindex()
end
end

function mg:__len()
-- свой метод
end
[/code]

отредактировал(а) Gun12: 11-06-2011 12:54 GMT3 час.

Не стань номинантом премии Дарвина.
vanek117
    
Посты: 4
Откуда:
Возраст: 30
11-06-2011 12:34 GMT3 час. #1490561   
подскажите как из исполнителя желаний убрать гражданских зомби которые появляются из не откуда в конец достали, заранее спасибо


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 13:05 GMT3 час. #1490573   
Gun12 Вся проблема в том (ещё один непонятный результат), что при попытке обратиться к self внутри переопределяемого метаметода, получаю вылет с логом...
Сам лог не сохранил. Но перевод его такой: "Ошибка в обработчике ошибок!"


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 13:40 GMT3 час. #1490583   
singapur22 а я думал так, получаем сталкера-убийцу, читаем его параметры, в частности активную пушку, но твой вариант более логичен, потому как если мы получим пушку первого слота, то где гарантия того, что он(киллер) не завалил(жертву) с пушки из второго слота

Только я абсолютно не понял как получить именно пушку, ибо в хит колбек ничего подобного не передается


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 13:43 GMT3 час. #1490584   
Struck Событие хита отлавливает самого киллера, и этого вполне предостаточно. Остаётся только определить активное оружие у киллера в момент хита.
Порядок определения прост:
1. определяем активный слот
local slot = obj:active_slot()
2. определяем оружие находящее в данном слоте
local wpn = obj:item_in_slot(slot)

отредактировал(а) singapur22: 11-06-2011 13:49 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 13:50 GMT3 час. #1490588   
singapur22 а, ясно, а как определить наступила ли смерть?


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 13:58 GMT3 час. #1490592   
Struck На то есть соответствующий колбэк.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 14:07 GMT3 час. #1490594   
singapur22 это то само собой, так алгоритм то какой? Раз ты говоришь в хит колбек передавать...можно же сразу в death_callback передать эту функцию, и узнаем пушку


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 14:14 GMT3 час. #1490595   
Struck Можно и без хита. Но... Нет никакой уверенности, что убирание оружия у киллера не сработает раньше его определения. Правда это уже исключительный случай, и больше зависит от расположения кода.
Короче делай как сам считаешь нужным. Это уже подробности, которые ты должен решить сам, иначе в скрипте придётся писать автором не себя, а того, кто действительно его написал. :-)


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 15:23 GMT3 час. #1490619   
singapur22 как скрыть кнопку?...надо в таком виде, подходящего метод**5002618d69873ce82a42**d:blabla()
--действие
--скрываем эту кнопку
end[/code]

добавлено спустя 6 минут

и да, мне надо чтобы она появлялась тоже по условию, это условие в каком месте прописывать?

отредактировал(а) Struck: 11-06-2011 15:30 GMT3 час.

Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 16:40 GMT3 час. #1490649   
Struck А как ты сам думаешь? Собственно, ещё вчера рассматривали классы и их методы. Правд


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 17:38 GMT3 час. #1490670   
каким классом можно сделать шаблон для текстов? Делал CUIListItemEx, но там не работает complex_mode


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 17:44 GMT3 час. #1490671   
Struck В смысле???


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 17:51 GMT3 час. #1490672   
singapur22 ну просто пишем класс куда только передаем коор


Снова в строю.

l
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
11-06-2011 18:14 GMT3 час. #1490677   
Artos
Прочу простить, вчера был на взводе. Вот что у меня на**5001618d69873ce82a42**log_checker_full:stalker:edit_box_logic", self)
.....
end[/code]
Мог бы выложить код полностью, но там только функция InitControls() занимает 80 строк

[code]function log_checker_full:InitCallBacks()
self:AddCallback("btn_logic_maker", ui_events.BUTTON_CLICKED, self.logic_maker, self)
end[/code]

Потом при нажатии на кнопку вызываю таким образом еще один класс:
[code]function log_checker_full:logic_maker()
local spwn = this.logic_maker(get_hud())
level.start_stop_menu(spwn,true)
end


class "logic_maker" (CUIScriptWnd)
function logic_maker:__init() super()
self:InitControls()
self:InitCallBacks()
end

function logic_maker:__finalize()
bool_c_ed=false
end

function logic_maker:InitControls()
self:SetWndRect(Frect():set(200,177,1000,1000))
local xml = CScriptXmlInit()
xml:ParseFile("ui_log_checker.xml")
xml:InitStatic("logic_maker:background", self)
xml:InitFrame("logic_maker:frame_list2", self)
self.c_ed=xml:InitStatic("logic_maker:caption", self)

self:Register(xml:Init3tButton("logic_maker:btn_caption", self), "btn_caption")
self:Register(xml:Init3tButton("logic_maker:btn1", self), "btn1")
self:Register(xml:Init3tButton("logic_maker:btn_close", self), "btn_close")
end

function logic_maker:InitCallBacks()
self:AddCallback("btn_caption", ui_events.BUTTON_CLICKED, self.set_c_ed, self)
self:AddCallback("btn1", ui_events.BUTTON_CLICKED, self.save, self)
self:AddCallback("btn_close", ui_events.BUTTON_CLICKED, self.quit, self)
end

function logic_maker:quit()
self:GetHolder():start_stop_menu(self, true)
end

function logic_maker:save()
local t1=positioninformer.log_checker_full()
if t1 then
amk.send_tip(type(t1))
else
log1("1")
end
local t2=t1.stalker_ed_logic
if t2 then
amk.send_tip(type(t2))
else
log1("2")
end
t2:SetText("Custom logic")
amk.send_tip("3_"..t2:GetText("Custom logic"))
logic=self.c_ed:GetText()
self:quit()
end
[/code]
Но метод текст в функции logic_maker:save() почему то не выставляется

Struck
На счет скрыть кнопку
Я делал так:
self.btn_logic_maker=xml:Init3tButton("log_checker_full:btn_logic_maker", self) --создаем кнопку
self:Register(self.btn_logic_maker, "btn_logic_maker") --регистрируем ее, что бы на нее можно было повесить каллбек

Потом в нужном месте:
self.btn_logic_maker:Show(false) --скрываем
Есть еще методы
self.btn_logic_maker:IsShow() --Скрыта ли кнопка
self.btn_logic_maker:Enable(false) --Деактивировать кнопку. Если применить такой метод, то кнопка останется на виду, но будет серого цвета и не будет реагировать на нажатие
self.btn_logic_maker:IsEnable() --Активирована ли кнопка


Знание assembler, C/C++, Pascal, Lua.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 18:32 GMT3 час. #1490685   
Ma$ter ды я разобрался

а по твоей проблеме, на что ты собственно "садишь" свой текст(Custom logic)? У тебя даже твой эдит бокс не получен


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 18:37 GMT3 час. #1490690   
Struck Класс CUIListItemEx() мультитекст не поддерживает, но это дело всегда можно исправить путём приаттачивания к нему статического виджета, в котором текст и выводить.

Ma$ter Вся пробле

отредактировал(а) singapur22: 11-06-2011 18:47 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 18:40 GMT3 час. #1490692   
singapur22 а каким образом приаттачить?...именно что бы получилось универсально(подстановкой текста), обычно то я могу


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 18:45 GMT3 час. #1490694   
Struck А чё, приаттачивание можно делать разными способами? Насколько я знаю, для этого существует только один метод AttachChild(win)


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 18:59 GMT3 час. #1490699   
singapur22 каким образом, а не каким способом:-), статический виджет надо заного писать, или брать его уже из своего(базового так скажем) класса, который там и написать?


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
11-06-2011 19:22 GMT3 час. #1490708   
Struck Если в xml есть тэг статика, удовлетворяющий всем условиям, или есть возможность подправить условия скриптом, то можешь взять уже имеющийся. Если же нет, то создавай новый.

Вот т**5001618d69873ce82a42**st_item(200, 27)
item:SetText(txt)
item.section = txt
item.id = id
item.win_id = self.xml:InitStatic("el_contr_stat", item) --'приаттачиваем статик к элементу списка
item.win_id:SetText("= "..tostring(id))
self.contr_list:AddItem(item)[/code]
В твоём случае, выводить текст непосредственно в самом элементе не нужно. Только в статике.

отредактировал(а) singapur22: 11-06-2011 19:28 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
vdv5549
    
Посты: 2465
Откуда: Ленинград
Возраст: 50
11-06-2011 20:37 GMT3 час. #1490735   
Всем привет !!! У меня такой вопрос : можно ли интегрировать в какой-либо костюм (экзоскелет) детектор аномалий ???


Не становись на пути десантника, ты рискуешь стать загадкой для хирурга. В.Ф. Маргелов
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
11-06-2011 21:44 GMT3 час. #1490762   
vdv5549
Можно. Конечно если people не против, то лично я разрешаю.


Не стань номинантом премии Дарвина.
vdv5549
    
Посты: 2465
Откуда: Ленинград
Возраст: 50
11-06-2011 23:14 GMT3 час. #1490805   
Gun12

Так может разъяснишь, каким образом это сделать ???


Не становись на пути десантника, ты рискуешь стать загадкой для хирурга. В.Ф. Маргелов
Struck
    
Посты: 1946
Откуда:
Возраст:
11-06-2011 23:19 GMT3 час. #1490806   
vdv5549 со скриптами работал когда-нибудь?...просто есть ли смысл разъяснять алгоритм


Снова в строю.

l
vdv5549
    
Посты: 2465
Откуда: Ленинград
Возраст: 50
11-06-2011 23:32 GMT3 час. #1490811   
Struck

Так может просто напишешь в каком скрипте что и после чего прописать ??? Это же вы мастера, а я простой геймер.


Не становись на пути десантника, ты рискуешь стать загадкой для хирурга. В.Ф. Маргелов
Artos
    
Посты: 4176
Откуда:
Возраст: 65
11-06-2011 23:45 GMT3 час. #1490815   
- Всем привет! А можно баульчик до гостиницы донести?
- Да, вроде как никто не возражает.
- Так может разъяснишь, каким образом это сделать???
- Сам то таскал когда-нибудь?... просто есть ли смысл разъяснять...
- Так может просто донесешь??? Это же вы носильщики, а я простой турист.
- ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
11-06-2011 23:58 GMT3 час. #1490819   
Artos
+1;-)
Равняюсь на тебя, - "Каков вопрос - таков ответ":-beer)
vdv5549
Struck тебе уже задал ответный вопрос. Если ответ положительный, то поможем. Если нет - то сначала нужно сходить на Wiki.
Готовый вариант тут даст человек либо с обострённым чувством альтруизма, либо тот, кому просто не фиг делать. Своё время на пояснение азов тратить большинство знающих людей не захочет. Поэтому изучи хоть что-нибудь, где ты будешь "ориентироваться в пространстве", чтобы понимал о чём будет идти разговор. (Не в обиду, каждый с чего-то начинал - но это факт)

отредактировал(а) Gun12: 12-06-2011 00:19 GMT3 час.

Не стань номинантом премии Дарвина.
vdv5549
    
Посты: 2465
Откуда: Ленинград
Возраст: 50
12-06-2011 00:30 GMT3 час. #1490825   
Тогда поищу альтристов !!!


Не становись на пути десантника, ты рискуешь стать загадкой для хирурга. В.Ф. Маргелов
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
12-06-2011 00:41 GMT3 час. #1490831   
vdv5549
Удачи!


Не стань номинантом премии Дарвина.


Форумы Архив » Свалка Модификации ТЧ, вопросы и ответы (старое, по 14.06.11)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»