Gonarh 5 Опубликовано 29 Августа 2009 (изменено) группировка всего лишь одна - woman [game_relations] ;реальное разделение на группы репутаций на шкалы rating = novice, 300, experienced, 600, veteran, 900, master monster_rating = weak, 400, normal, 800, strong reputation = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent ;шкалы для вывода названий вместо чисел ;рейтингов, репутаций и благосклонности в интерфейсе rating_names = novice, 300, experienced, 600, veteran, 900, master reputation_names = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent goodwill_names = enemy, -150, indifferent, 400, friendly ;пороговые значения для отношения персонажей attitude_neutal_threshold = -150 ;когда attitude меньше значения, то выставляется ALife::eRelationEnemy attitude_friend_threshold = 400 ;когда attitude меньше значения, то выставляется ALife::eRelationNeutral, иначе ALife::eRelationFriend ;константы, которые присвоят скриптовые функции set_relation для personal goodwill goodwill_enemy = -1000 goodwill_neutal = 0 goodwill_friend = 1000 ;названия группировок communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10, freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, woman, 17 ; отношение персонажа к актеру (или другому NPC) вычисляется по формуле ; attitude = personal_goodwill + //личное отношение персонажа к актеру (если раньше не встречались, то 0) ; community_goodwill + //отношение группировки персонажа лично к актеру (если раньше контактов не было, то 0) ; community_to_community + //отношение группировки персонажа к группировке актера из [communities_relations] ; reputation_goodwill + //отношение репутации персонажа к репутации актера из [reputation_relations] ; rank_goodwill //отношение ранга персонажа к рангу актера из [rank_relations] [communities_relations] ; |actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader |arena_enemy|woman| ;=============================================================================== ================================================================================ = actor = 0, 0, 0, 50, -1000, -750, -1250, 0, 0, 0, -350, -2000, 0, 0, -1250, 50 actor_dolg = 0, 0, 0, 0, -2000, -650, -1200, 500, 250, -1250, -1000, -2000, 0, 0, -1250, 50 actor_freedom = 0, 0, 0, -80, -1500, -1500, -750, -100, -1250, 150, -150, -2000, 0, 0, -1250, 50 stalker = 50, 0, -80, 40, -1000, -1250, -1500, 0, 0, 0, -250, -2000, 0, 0, -1250, 5000 monolith = -1000, -2000, -1500, -1000, 400, -2000, -500, -750, -2000, -1500, -1250, 150, -1250, 0, -1250, -5000 military = -750, -650, -1500, -1250, -2000, 700, -1250, 40, -650, -1500, -2000, -2000, -100, 0, -1250, -500 killer = -1250, -1250, -650, -1500, -500, -1250, 150, -1250, -1500, -650, -500, -2000, -1250, 0, -1250, 0 ecolog = 0, 500, -100, 0, -650, 40, -1500, 1250, 500, -100, -1000, -2000, 0, 0, 0, 5000 dolg = 0, 250, -1250, 0, -2000, -650, -1500, 500, 650, -1500, -1250, -2000, 0, 0, 0, 5000 freedom = 0, -1250, 150, 0, -1500, -1500, -650, -100, -1250, 150, -150, -2000, 0, 0, 0, 5000 bandit = -350, -1000, -150, -250, -1250, -2000, -500, -1000, -1250, -150, 40, -2000, -1250, 0, -1250, 0 zombied = -2000, -2000, -2000, -2000, 150, -2000, -2000, -2000, -2000, -2000, -2000, 250, -1250, 0, -1250, -100 stranger = 0, 0, 0, 0, -250, -100, -650, 0, 0, 0, -150, -1250, 0, 0, 0, 0 trader = 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000 arena_enemy = -1000, -1250, -1250, -1000, -1250, -1250, -1250, 0, -650, -1250, -1250, 0, 0, 0, 0, 0 woman = 50, 50, 50, 5000, -5000, -500, 0, 5000, 5000, 5000, 0, -100, 0, 5000, 0, 1000 [rank_relations] ; novice, experienced, veteran, master ;================================================================ novice = 70, 20, 0, 0 experienced = 20, 70, 20, 0 veteran = 0, 20, 70, 20 master = 0, 0, 20, 70 [reputation_relations] ; terrible, very_bad, bad, neutral, good, very_good, excellent ;================================================================ terrible = -250, -100, -50, -20, 0, 0, 0 very_bad = -100, -50, -20, 0, 0, 0, 0 bad = -50, -20, 0, 0, 0, 0, 0 neutral = -20, 0, 0, 0, 0, 0, 50 good = 0, 0, 0, 0, 0, 50, 100 very_good = 0, 0, 0, 0, 50, 100, 200 excellent = 0, 0, 0, 50, 100, 200, 350 ; ; очки рейтинга и репутации начисляемые за определенные действия ; ;коэффициенты "сочувствия" группировок ;после воздействия на одного из членов группировки ;goodwill его распространится на остальных членов группировки ;с определенным коэффициентом [communities_sympathy] actor = 0.0 actor_dolg = 0.0 actor_freedom = 0.0 stalker = 0.0 monolith = 0.2 military = 0.2 killer = 0.2 ecolog = 0.4 dolg = 0.2 freedom = 0.2 bandit = 0.1 zombied = 0.0 trader = 0.2 stranger = 0.0 arena_enemy = 0.0 woman = 0.1 там обычно на скрипты ругается. хммм, может тогда стоит пощупать все места в скриптах хде есть юзание метода set_character_community? или в момент чтения группировки методом character_community тоже может вылететь? Изменено 29 Августа 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 29 Августа 2009 но меня насторожило что в свойстве communities нет цифр 3 и 4, это в оригинале так 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 1 Сентября 2009 npc:section_name() 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 3 Сентября 2009 (изменено) каким параметром в actor.ltx меняется скорость бега ГГ меняется скорость бега по ходу тут сорри, в лама сыграл Изменено 3 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 4 Сентября 2009 local aaa = { [1] = {0,1,2,3,4,5,6,7,8,9}, [2] = {0,1,2,3,4,5,6,7,8,9}, [3] = {0,1,2,3,4,5,6,7,8,9}, [4] = {0,1,2,3,4,5,6,7,8,9}, [5] = {0,1,2,3,4,5,6,7,8,9}, [6] = {0,1,2,3,4,5,6,7,8,9}, [7] = {0,1,2,3,4,5,6,7,8,9}, [8] = {0,1,2,3,4,5,6,7,8,9}, [9] = {0,1,2,3,4,5,6,7,8,9}, [10] = {0,1,2,3,4,5,6,7,8,9} } aaa[2][4]= 3 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 5 Сентября 2009 (изменено) у мну такое было изза синтаксической ошибки - проверь код на синтаксис луа Изменено 5 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 10 Сентября 2009 alife():release(alife():object(npc:id()), true) 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 10 Сентября 2009 (изменено) Где здесь указывать название трупа, который нужно удалить? тут название указывать не нуно в функцию передается идентификатор непися npc:id() Изменено 10 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 13 Сентября 2009 (изменено) Ку, народ! Есть два вопроса: 1. Как скрыть вкладку "Контакты" в ПДА (можно насовсем через конфиги) 2. Есть лтх файл примерно следующего содержания: [default] ;Артефакты af_medusa = 1 af_cristall_flower = 1 af_night_star = 1 ; и так далее как считать секцию "default" в массив шоб он был примерно таким: table = {"af_medusa", "af_cristall_flower", "af_night_star" --[[и так далее]]} координаты кнопки "контакты" поставь в -1000, она уйдет с экрана может еще подскажешь где координаты эти кнопки? Изменено 13 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 15 Сентября 2009 (изменено) можно ли управлять громкостью и скоростью воспроизведения звука при помощи: snd_obj:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) ? если этим нельзя, то чем можно? Изменено 15 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 19 Сентября 2009 (изменено) открываем файлег xr_motivator.script ищщим коллбэк motivator_binder:death_callback переходим в его конец, и дописываем следующее function motivator_binder:death_callback(victim, who) if who:id() == db.actor:id() then xr_statistic.addKillCount(self.object) end if self.st.death then xr_logic.issue_event(self.object, self.st.death, "death_callback", victim, who) end if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "death_callback", victim, who) end sr_territory.issue_event(self.object, "death_callback", victim, who) sr_light.check_light(self.object) smart_terrain.on_death( self.object:id() ) death_manager.drop_manager(self.object):create_release_item() self:clear_callbacks() --' Наносим небольшой импульс вперед. local h = hit() h.draftsman = self.object h.type = hit.fire_wound h.direction = db.actor:position():sub(self.object:position()) h:bone("pelvis") h.power = 1 h.impulse = 10 self.object:hit(h) if(actor_stats.remove_from_ranking~=nil)then local community = self.object:character_community() if community == "zombied" or community == "monolith" or community == "arena_enemy" then return end actor_stats.remove_from_ranking(self.object:id()) end --добавляем ето if victim and victim.name and string.find(victim:name(), "имя_проверяемого_на_убитось_непися_типа_esc_fox") then for i = 1, 10 do alife():create("yan_zombied_respawn_1",vector():set(-34,-10,-71),244091,111) end end end Изменено 19 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 19 Сентября 2009 файлег gamedata\config\text\rus\string_table_general.xml открываешь в блокноте исчещь строку "Игра окончена" и меняешь на чё те надо 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 20 Сентября 2009 1) Можно ли таким образом (через скрипт) собрать их все в одном моде? Можно, сам делал 2)Или обязательно редактировать АллСпавн и ГеймГраф? аллспавн не обязательно, геймграф должен быть откомпилен вместе с новыми локами - по другому никак 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 20 Сентября 2009 по этому вопросу тебе лучше обратиться к Kostya V 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 21 Сентября 2009 отсюда вывод это не чистая игра, однозначно сам чего нить добавлял, какой нить мод 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 22 Сентября 2009 как убрать визуальный эффект радиации файл gamedata\config\misc\zone_radioactive.ltx искать строку postprocess перед ней поставить ; Как создать функцию вызова звукового сигнала и проиграть его в голове ГГ? function blablabla_mr_Freeman() local pestetc = sound_object([[detectors\bomb_timer]]) pestetc:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 22 Сентября 2009 function metka(obj) level.map_add_object_spot(obj.id, "red_location", "Моя метка") end obj - это объект на который вешаешь метку - непись/аномалия/рестриктор и т.д. 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 22 Сентября 2009 local obj = alife():object("esc_fox") --Это сталкер Лис Добавлено через 1 мин.: покажи функцию create_restr в скрипте _new_create 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 22 Сентября 2009 (изменено) после строки local obj = alife():create("space_restrictor", pos_restr, lvid_restr, gvid_restr) добавь строку level.map_add_object_spot(obj.id, "red_location", "мой первый рестриктор") Изменено 22 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение
Gonarh 5 Опубликовано 22 Сентября 2009 (изменено) не тупи function metka() local obj = alife():object("esc_wolf") if obj then level.map_add_object_spot(obj.id, "red_location", "Моя метка") end end Изменено 22 Сентября 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Поделиться этим сообщением Ссылка на сообщение