Перейти к контенту

Скриптование


Svoboда

Рекомендуемые сообщения

Всем привет, можно ли в шапке темы поправить эти ссылки :

А то по ним кидает на главную страницу stalkerin, а не на сами статьи...

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Всем привет, я в скриптах не особо разбираюсь(только гулаги научился "штамповать"),вопрос такой: я скачал ,на просторах инета,нано броник , с элементами для пистолетного слота, сейчас пытаюсь сделать, новый элемент невидимости(маскировка), использовал скрипт, из соли , маск_халата, работает, но не так как нужно, если элемент поместить в слот, невидимость активируется,а если убрать, то не дезактивируется, с помощью какой функции его заставить дезактивироваться?В скрипте маск_халата использован таймер,как можно сделать без него? А так же с помощью какой функции сделать так чтоб этот элемент можно было использовать только с этим броником?А то его можно использовать с любым..

 

Скрипты - https://yadi.sk/d/_QXCnw6ObbASG

 

xr_speed.script  и xr_shit.script это имеющиеся элементы..

 

Заранее огромное спасибо всем ..

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Доброго времени суток, я адаптировал нанокостюм, всё шикарно работает, но у пульта есть глюк, при перекладке, продаже или просто если выложить он активируется, а потом опять в инвентаре, из-за этого вылетают ахтунги, при принудительной чистке инвентаря(к примеру после снотворного Доктора или разрыва рюкзака). Чтоб было понятней вот 

здесь видно ахтунги при разрыве рюкзака

 

Я не прошу взять и сделать за меня, просто подскажите какую и куда функцию прописать, чтоб этот пульт юзался как обычный предмет.

Изменено пользователем Romann
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

  Dennis_Chikin Калбек я уже пробовал, не помогает, (ну я не спец, может не правильно пробовал.), скрипты, как я понял, писал Монорох, так я не объясню что нано костюм, вот скрипты ( https://yadi.sk/d/HXyb9AXDcZtNa),там ориг. версия и адаптация скриптов, адаптировал на ОП-2 , ссылки на другие сайты не льзя, но вот описание , где качал :

 

"Костюм работает в 5-ти режимах: Маскировка, броня, сила, регенерация, мобильность.

Маскировка позволит быть невидимым на некоторое время. Сила - временно сможете переносить 250 кг. Мобильность позволяет бегать не теряя выносливости даже если вы немного перегружены. Регенерация - быстрое восстановление здоровья. Броня - максимальная защита от повреждений и восстановление состояния костюма, т.к остальные режимы его тратят и очень слабо защищают. Костюм озвучен..
В разных режимах разный худ масок, отсутствие звука шагов (стелссс..)
Разное отображение иконок в инвентаре. Костюм в продаже у Сахарова, стоит ДОРОГО, заработать эти деньжища вполне реально, это все что я скажу..
И еще в конце содержимого вашего файла outfit.ltx в самом низу допишите строку
#include "monnoroch_items.ltx"
http://post-stalkera.ru/load/katalog_fajlov_dlja_ns_dmx_mod/adapted_nano_suit_crysis/1-1-0-60

 
Сейчас закоментировал в amk.script эти строчки : 
-- func_by_string["sleep_mon_nano_pult"] = function (params_string)
-- mod_call("mon_nano_pult",params_string)
-- end

пульт стал нормально выкладываться, но перестал выполнять свои функции - при использовании исчезает.
Изменено пользователем Romann
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение
Dennis_Chikin

Я просто не скриптер, особо не разбираюсь, всё делаю с помощью проб и шибок. А можно подробнее , как сделать эту проверку и вызов?

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Всем доброго времени суток, появился такой вопрос: возможно ли скриптово реализовать тепловизор? Ну вот к примеру обычный пнв("белая ночь") , а скрипт таким классам как нпс и монстр присваивает эффект другого цвета, ну или что-то типа того?

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение
AnonimA

Посмотри в ui_mm_main.xml

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

BoBaH_671

я не давно возился с подобной логикой, у меня вышло так:

 

 

 

могу скинуть.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Всем доброго времени суток, вопрос такой: я выдернул тепловизор из ОГСЕ на ОП2, прописал его в экзе, работает, включается, но выключаться не хочет, так и работает, даже если сменить или снять броню, до перезагрузки - подскажите это ему надо отдельный скрипт написать?

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

 

 

грубо говоря делаю самонаводящиеся ракеты

В вертолётах Кирага есть ПЗРК с самонаводкой - подсмотри там в скриптах.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Доброго времени суток, есть такой код:

 

function give_money(victim,who)
--\Добавление с 6.08.10
--\Получение денег за убийства зомби
	if who:id() == db.actor:id() then --для актора
		if victim and (victim:section() == "zombie_trup2" or victim:section() == "zombie_trup" or victim:section() == "zombie_weak" or victim:section() == "zombie_hell13" or victim:section() == "zombie_babka_weak" or victim:section() == "electro_zombie" or victim:section() == "elekt_zomb1") then
local n = math.random(5,40)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_normal" or victim:section() == "zombie_hell14" or victim:section() == "zombie_hell12" or victim:section() == "zombie_hell10" or victim:section() == "zombie_hell1" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie" or victim:section() == "elekt_zomb2" or victim:section() == "elekt_zomb3" or victim:section() == "elekt_zomb4") then
local n = math.random(20,70)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_ghost" or victim:section() == "zombie_blow" or victim:section() == "zombie_beee" or victim:section() == "zombie_hell15" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie_immortal" or victim:section() == "zombie_hell9" or victim:section() == "zombie_hell8" or victim:section() == "zombie_hell7" or victim:section() == "zombie_hell6" or victim:section() == "zombie_hell5" or victim:section() == "zombie_hell4" or victim:section() == "elekt_zomb5" or victim:section() == "elekt_zomb6" or victim:section() == "elekt_zomb5" or victim:section() == "controller_babka") then
local n = math.random(60,110)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_plague_komar" or victim:section() == "zombie_plague" or victim:section() == "zombie_babka_strong" or victim:section() == "zombie_strong" or victim:section() == "ghoul" or victim:section() == "vodjanoj" or victim:section() == "controller_flame" or victim:section() == "elekt_zomb8" or victim:section() == "electro_zombie_0" or victim:section() == "electro_zombie_1" or victim:section() == "electro_zombie_2" or victim:section() == "electro_zombie_3") then
local n = math.random(120,500)
dialogs.relocate_money(db.actor,n,"in")
		end
	end
			if who:id() ~= db.actor:id() and not IsMonster(who) then --\для непися
				if victim and (victim:section() == "zombie_trup2" or victim:section() == "zombie_trup" or victim:section() == "zombie_weak" or victim:section() == "zombie_hell13" or victim:section() == "zombie_babka_weak" or victim:section() == "electro_zombie" or victim:section() == "elekt_zomb1") then
local n = math.random(5,40)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:name().." получил "..n.." рублей", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_normal" or victim:section() == "zombie_hell14" or victim:section() == "zombie_hell12" or victim:section() == "zombie_hell10" or victim:section() == "zombie_hell1" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie" or victim:section() == "carlic_weak" or victim:section() == "vypolzen_red" or victim:section() == "elekt_zomb2" or victim:section() == "elekt_zomb3" or victim:section() == "elekt_zomb4") then
local n = math.random(20,70)
				who:give_money(n)
				game_stats.money_quest_update(n)
--				news_manager.send_tip(db.actor,who:name().." получил "..n.." рублей", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_ghost" or victim:section() == "zombie_blow" or victim:section() == "zombie_beee" or victim:section() == "zombie_hell15" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie_immortal" or victim:section() == "zombie_hell9" or victim:section() == "zombie_hell8" or victim:section() == "zombie_hell7" or victim:section() == "zombie_hell6" or victim:section() == "zombie_hell5" or victim:section() == "zombie_hell4" or victim:section() == "elekt_zomb5" or victim:section() == "elekt_zomb6" or victim:section() == "elekt_zomb5" or victim:section() == "controller_babka") then
local n = math.random(60,110)
				who:give_money(n)
				game_stats.money_quest_update(n)
--				news_manager.send_tip(db.actor,who:name().." получил "..n.." рублей", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_plague_komar" or victim:section() == "zombie_plague" or victim:section() == "zombie_babka_strong" or victim:section() == "zombie_strong" or victim:section() == "ghoul" or victim:section() == "vodjanoj" or victim:section() == "controller_flame" or victim:section() == "wolf" or victim:section() == "elekt_zomb8" or victim:section() == "electro_zombie_0" or victim:section() == "electro_zombie_1" or victim:section() == "electro_zombie_2" or victim:section() == "electro_zombie_3") then
local n = math.random(120,500)
				who:give_money(n)
				game_stats.money_quest_update(n)
--				news_manager.send_tip(db.actor,who:name().." получил "..n.." рублей", nil, nil, 2000)
			end
		end
end 

 


Т.е. при убийстве зомби выдаются деньги, как для актора, так и для непися, но при выдаче неписю приходит сообщение, и показывает не игровое имя нпс, а название его секции - как можно исправить?

Я пытался убрать под спойлер, но не получилось - код делился пополам и без спойлера. Спасибо.

Изменено пользователем Romann
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

 

 

Я бы переписал так:

Вылетает по вызову этой функции:

 

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\bind_monster.script:611: attempt to index global 'sk_zombie_life' (a nil value)

 

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

 

 

Вылетает по вызову этой функции:

 

 

Возможно надо попробовать переписать фрагмент кода 

В общем максимум, до работоспособности, получилось сделать так:

 

 

function give_money(victim,who)
local nov_zomb = {
"zombie_trup2",
"zombie_trup",
"zombie_weak",
"zombie_hell13",
"zombie_babka_weak",
"burer_weak",
"fracture_weak",
"oboroten",
"electro_zombie",
"elekt_zomb1"
}
local exp_zomb = {
"zombie_normal",
"zombie_hell14",
"zombie_hell12",
"zombie_hell10",
"zombie_hell1",
"zombie_babka_normal",
"zombie",
"burer_normal",
"vypolzen_red",
"elekt_zomb2",
"elekt_zomb3",
"elekt_zomb4"
}
local vet_zomb = {
"zombie_ghost",
"zombie_blow",
"zombie_beee",
"zombie_hell15",
"zombie_babka_normal",
"zombie_immortal",
"zombie_hell9",
"zombie_hell8",
"zombie_hell7",
"zombie_hell6",
"zombie_hell5",
"zombie_hell4",
"dog_zombie",
"dog_skeleton",
"controller_babka",
"elekt_zomb5",
"elekt_zomb6",
"elekt_zomb7"
}
local mast_zomb = {
"zombie_plague_komar",
"zombie_plague",
"zombie_babka_strong",
"zombie_strong",
"ghoul",
"vodjanoj",
"snork_jumper",
"spider",
"molerat",
"deathclaw_weak",
"controller_flame",
"elekt_zomb8",
"electro_zombie_0",
"electro_zombie_1",
"electro_zombie_2",
"electro_zombie_3"
}
	if who:id() == db.actor:id() then --для актора
    if victim and victim:section(nov_zomb) then
	local n = math.random(5,40)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section(exp_zomb) then
	local n = math.random(20,70)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section(vet_zomb) then
	local n = math.random(60,110)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section(mast_zomb) then
	local n = math.random(120,500)
    dialogs.relocate_money(db.actor,n,"in")
		end
	end
	if who:id() ~= db.actor:id() and not IsMonster(who) then --\для непися
    if victim and victim:section(nov_zomb) then
	local n = math.random(5,40)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().." получил "..n.." рублей", nil, nil, 2000)
elseif victim and victim:section(exp_zomb) then
	local n = math.random(20,70)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().." получил "..n.." рублей", nil, nil, 2000)
elseif victim and victim:section(vet_zomb) then
	local n = math.random(60,110)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().." получил "..n.." рублей", 0, 15, nil, nil, 2000)
elseif victim and victim:section(mast_zomb) then
	local n = math.random(120,500)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().." получил "..n.." рублей", 0, 15, nil, nil, 2000)
			end
		end
end

 

 

 

 

а вообще лучше бы знать куда Вы это хотите вставить. Я ориентируюсь на оригинал ТЧ. В нём bind_monster.script содержит всего 187 строк, а у Вас ошибка в 611 строке. Очень большая модификация!

ОП-2 это ).

П.С.: Подскажите как поменять цвет текста, выводимых сообщений?

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Всем привет, подскажите пожалуйста скрипт для пропуска квестовых нпс. Ну к примеру есть определённая схема, и нужно чтоб она не применялась к квестовикам (ну вот как уборщик не убирает трупы квестовиков), есть таблица квест. нпс:

local quest_nps = {
...,
...,
...
}

Подскажите код, чтобы схема пропускала эту таблицу, и не срабатывала на кв. нпс..

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение
Тогда, если нам требуется обработка всех сталкеров (серверных объектов, на всех локациях):


FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

[error]Line : 73

[error]Description : <no expression>

[error]Arguments : LUA error: ... of chernobyl\gamedata\scripts\sk_zombie_life.script:526: attempt to index global 'quest_npc' (a nil value)

Изменено пользователем Romann
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

В общем я не скриптер, максимум могу копипастить, вот скрипт из "Zombie-shooter_mod_1.5"(адаптирую к ОП-2):

--[[----------------------------
Основной скрипт превращения в зомби Zombie-shooter mod'а.
Автор is SkyLoader.
Версия: 1.5
Последнее изменение скрипта - 13.08.10 
Огромное спасибо Erlik'y и Artos'y за помощь в изучении скриптов.
--------------------------------]]

local ZombieVictim, ZombieTime
local ZombieFlag = false

local novice_zombies = {
"zombie_trup2",
"zombie_trup",
"zombie_weak",
"zombie_hell13",
"zombie_babka_weak",
"burer_weak",
"fracture_weak",
"oboroten",
"electro_zombie",
"elekt_zomb1"
}

local experienced_zombies = {
"zombie_normal",
"zombie_hell14",
"zombie_hell12",
"zombie_hell10",
"zombie_hell1",
"zombie_babka_normal",
"burer_normal",
"vypolzen_red",
"elekt_zomb2",
"elekt_zomb3",
"elekt_zomb4"
}

local veteran_zombies = {
"zombie_ghost",
"zombie_blow",
"zombie_beee",
"zombie_hell15",
"zombie_babka_normal",
"zombie_immortal",
"zombie_hell9",
"zombie_hell8",
"zombie_hell7",
"zombie_hell6",
"zombie_hell5",
"zombie_hell4",
"dog_zombie",
"dog_skeleton",
"controller_babka",
"elekt_zomb5",
"elekt_zomb6",
"elekt_zomb7"
}

local master_zombies = {
"zombie_plague_komar",
"zombie_plague",
"zombie_babka_strong",
"zombie_strong",
"vodjanoj",
"snork_jumper",
"spider",
"molerat",
"deathclaw_weak",
"controller_flame",
"elekt_zomb8",
"electro_zombie_0",
"electro_zombie_1",
"electro_zombie_2",
"electro_zombie_3"
}

local ammo = {
"ammo_9x18_fmj",
"ammo_9x18_pmm",
"ammo_9x19_fmj",
"ammo_9x19_pbp",
"ammo_5.45x39_fmj",
"ammo_5.45x39_ap",
"ammo_5.56x45_ss190",
"ammo_5.56x45_ap",
"ammo_9x39_ap",
"ammo_9x39_sp5",
"ammo_9x39_pab9",
"ammo_12x70_buck",
"ammo_12x76_dart",
"ammo_12x76_zhekan"
}

function zombie_timer(seconds, victim) --\таймер на "безвылетность"
ZombieTime = time_global()+seconds*1000
ZombieVictim = victim
end

function life_zombie()
	local function Nilim() --\дабы не писать много, заделаем в одну функцию и будем ее подгружать
ZombieVictim = nil--\нилим юзердату жертвы и таймер
ZombieTime  = nil
ZombieFlag = true
end

    if (ZombieVictim and ZombieTime) then 
		if  ZombieTime<time_global() then
				if not ZombieFlag then
--\Добавление с 2.08.10
--\Чтобы был хоть какой-то шмот, Зомбированные не превращаются в зомби
if ZombieVictim:character_community() == "zombied" or string.find(ZombieVictim:section(),"arena") or ZombieVictim:character_community()=="arena_enemy" then
Nilim()
else
--\Добавление с 5.08.10
--\Неписей с квестовыми предметами пропускать
			if ZombieVictim:object("esc_wolf") or ZombieVictim:object("esc_fox") or ZombieVictim:object("esc_shustryi") or ZombieVictim:object("arhara_zaton") or ZombieVictim:object("volna_svidetel") or ZombieVictim:object("Escape_dinamite") or ZombieVictim:object("svalka_plot_stalk") or ZombieVictim:object("esc_kidalo") or ZombieVictim:object("warlab_stalker_oso") or ZombieVictim:object("mil_Svoboda_leader") or ZombieVictim:object("bodi_pantera1") or ZombieVictim:object("stalk_kluk") or ZombieVictim:object("land_green_stalk_4") or ZombieVictim:object("piligrim") or ZombieVictim:object("mil_Svoboda_engineer") or ZombieVictim:object("esc_hunter_zaschita_2") or ZombieVictim:object("Mil_Kap") or ZombieVictim:object("alexandrych_marsh") or ZombieVictim:object("marsh_ariadna") or ZombieVictim:object("esc_fanat") or ZombieVictim:object("Escape_novice_lager_volk") or ZombieVictim:object("esc_pantera_zadan_soldier") or ZombieVictim:object("kidalo_friend3") or ZombieVictim:object("kidalo_friend2") or ZombieVictim:object("kidalo_friend1") or ZombieVictim:object("zat_kidalo2") or ZombieVictim:object("zat_romale") or ZombieVictim:object("zat_kidalo") or ZombieVictim:object("upiter_baty") or ZombieVictim:object("kuzmat_zaton") or ZombieVictim:object("buusty_zaton") or ZombieVictim:object("volna_svidetel") or ZombieVictim:object("esc_kuzmat") or ZombieVictim:object("esc_buusty") or ZombieVictim:object("mil_stalker_killer") or ZombieVictim:object("yan_ecolog_help1") or ZombieVictim:object("agr_nebo_chromov1") or ZombieVictim:object("labirint_shade_monolit1") or ZombieVictim:object("warlab_sekret_ekolog1") or ZombieVictim:object("land_sniper_chimaera1") or ZombieVictim:object("dar_corpse_kalugin1") or ZombieVictim:object("yantar_baty1") or ZombieVictim:object("dohlji_ljsji") or ZombieVictim:object("journalist_npc") or ZombieVictim:object("gromoboi_volna") or ZombieVictim:object("locman_volna") or ZombieVictim:object("elbrus_volna") or ZombieVictim:object("fenix_volna") or ZombieVictim:object("kogot_volna") or ZombieVictim:object("nazar_volna") or ZombieVictim:object("grif_volna") or ZombieVictim:object("chudak_npc") or ZombieVictim:object("nazar_npc") or ZombieVictim:object("dasha_npc") or ZombieVictim:object("masha_npc") or ZombieVictim:object("zaton_dasha") or ZombieVictim:object("zaton_masha") or ZombieVictim:object("noi_npc") or ZombieVictim:object("grom_npc") or ZombieVictim:object("klesh_npc") or ZombieVictim:object("fotograf_npc") or ZombieVictim:object("dragunof_npc") or ZombieVictim:object("sar_monolith") or ZombieVictim:object("cit_doctor") or ZombieVictim:object("aes_sidorovich") or ZombieVictim:object("aes_monolit2") or ZombieVictim:object("aes_monolit1") or ZombieVictim:object("aes_kvartet") or ZombieVictim:object("aes_pustelga") or ZombieVictim:object("aes_sapsan") or ZombieVictim:object("rad_suicide") or ZombieVictim:object("rad_entrance_guard2") or ZombieVictim:object("rad_entrance_guard1") or ZombieVictim:object("yan_specnaz_corpse") or ZombieVictim:object("yan_mapspot_from_vasilyev") or ZombieVictim:object("yan_semenov_help") or ZombieVictim:object("yan_vasilyev") or ZombieVictim:object("yan_general_ecolog") or ZombieVictim:object("yan_ecolog_help") or ZombieVictim:object("pri_monolith_leader") or ZombieVictim:object("pri_wave4_monolith8") or ZombieVictim:object("pri_wave2_monolith_victim2") or ZombieVictim:object("pri_wave2_monolith_victim1") or ZombieVictim:object("Mil_Dolg_Khutor") or ZombieVictim:object("Mil_Miser") or ZombieVictim:object("Mil_Freedom_base") or ZombieVictim:object("Mil_Sniper2") or ZombieVictim:object("Mil_Sniper3") or ZombieVictim:object("Mil_Sniper1") or ZombieVictim:object("Mil_Controller") or ZombieVictim:object("Mil_Cook") or ZombieVictim:object("Mil_Hunter3") or ZombieVictim:object("Mil_Hunter2") or ZombieVictim:object("Mil_Hunter1") or ZombieVictim:object("Mil_patrol_kamikadze3") or ZombieVictim:object("Mil_patrol_kamikadze2") or ZombieVictim:object("Mil_patrol_kamikadze1") or ZombieVictim:object("Mil_Informator") or ZombieVictim:object("Mil_Killer3") or ZombieVictim:object("Mil_Killer2") or ZombieVictim:object("Mil_Killer1") or ZombieVictim:object("Mil_Silence") or ZombieVictim:object("Mil_Courier") or ZombieVictim:object("Mil_Freedom_Kamikadze") or ZombieVictim:object("Mil_Dolg_Zoneguard") or ZombieVictim:object("Mil_Lukash") or ZombieVictim:object("Mil_Sniper") or ZombieVictim:object("Mil_Crazy") or ZombieVictim:object("Mil_Master_Max") or ZombieVictim:object("Freedom_patrol_commander_level") or ZombieVictim:object("Freedom_patrol_commander_base") or ZombieVictim:object("rostok_kruglov_finish") or ZombieVictim:object("rostok_offline_walker_4") or ZombieVictim:object("rostok_offline_walker_3") or ZombieVictim:object("rostok_offline_walker_2") or ZombieVictim:object("rostok_offline_walker_1") or ZombieVictim:object("rostok_banda_volkodava") or ZombieVictim:object("rostok_naemnik") or ZombieVictim:object("bar_dolg_locator") or ZombieVictim:object("bar_arena_locator") or ZombieVictim:object("bar_bar_locator") or ZombieVictim:object("bar_barin") or ZombieVictim:object("bar_zastava_commander") or ZombieVictim:object("bar_psih") or ZombieVictim:object("bar_dolg_guard_commander") or ZombieVictim:object("bar_bar_osvedomitel") or ZombieVictim:object("bar_svoboda_ambush_tiran") or ZombieVictim:object("bar_crazy_veterans_leader") or ZombieVictim:object("bar_drunk_dolg") or ZombieVictim:object("bar_freedom_volkodav") or ZombieVictim:object("bar_water_tower") or ZombieVictim:object("bar_dolg_general_voronin") or ZombieVictim:object("bar_dolg_polkovnik_petrenko") or ZombieVictim:object("bar_dolg_captain_ivancov") or ZombieVictim:object("bar_hunter") or ZombieVictim:object("bar_ecolog_professor") or ZombieVictim:object("bar_hunter_toz") or ZombieVictim:object("val") or ZombieVictim:object("val_bandit_rpg_dead") or ZombieVictim:object("val_borov") or ZombieVictim:object("val_escort_wounded") or ZombieVictim:object("val_sos_stalker") or ZombieVictim:object("val_stopper_soldier3") or ZombieVictim:object("val_stopper_soldier2") or ZombieVictim:object("val_stopper_soldier1") or ZombieVictim:object("val_tunnel_bandit") or ZombieVictim:object("val_escort_guard2") or ZombieVictim:object("val_escort_guard1") or ZombieVictim:object("val_escort_nap1") or ZombieVictim:object("val_sacrifice_guard2") or ZombieVictim:object("val_sacrifice_guard1") or ZombieVictim:object("val_prisoner") or ZombieVictim:object("val_escort_captive") or ZombieVictim:object("agro_adrenalin") or ZombieVictim:object("agr_stalker_look_point") or ZombieVictim:object("agr_captains_chamber") or ZombieVictim:object("agr_factory_skirmish1") or ZombieVictim:object("gar_stalker_flame_quest23") or ZombieVictim:object("gar_stalker_corpse") or ZombieVictim:object("gar_seryi_drug_wounded") or ZombieVictim:object("gar_spot_bandit_agr") or ZombieVictim:object("gar_spot_dolg_blokpost") or ZombieVictim:object("gar_spot_swamp") or ZombieVictim:object("gar_bandit_post") or ZombieVictim:object("gar_newbie_in_tunnel") or ZombieVictim:object("gar_wounded") or ZombieVictim:object("gar_dolg_blockpost") or ZombieVictim:object("gar_bandits_leader") or ZombieVictim:object("gar_boars_nest") or ZombieVictim:object("gar_dm_novice") or ZombieVictim:object("gar_dm_bandit3") or ZombieVictim:object("gar_dm_bandit2") or ZombieVictim:object("gar_dm_bandit1") or ZombieVictim:object("Garbage_Seriy") or ZombieVictim:object("escape_provodnik") or ZombieVictim:object("esc_dead_tunel_novice") or ZombieVictim:object("esc_kuznetsov") or ZombieVictim:object("soldiers_bridge") or ZombieVictim:object("esc_wounded_follower_2") or ZombieVictim:object("esc_secret_shustryi") or ZombieVictim:object("esc_lager_leader") or ZombieVictim:object("esc_leader_killers") or ZombieVictim:object("esc_bandits_factory") or ZombieVictim:object("esc_level_patrol") or ZombieVictim:object("esc_helicopter") or ZombieVictim:object("esc_vagon_newbie2") or ZombieVictim:object("esc_vagon_newbie1") or ZombieVictim:object("Escape_raid_commander2") or ZombieVictim:object("Escape_raid_commander1") or ZombieVictim:object("Escape_bridge_stalkers") or ZombieVictim:object("Escape_novice_lager_volk") or ZombieVictim:object("Escape_stalker_from_raid") or ZombieVictim:object("Escape_tutorial_wounded") or ZombieVictim:object("Escape_Trader") or ZombieVictim:object("Escape_trader_self") or ZombieVictim:object("Escape_blockpost_case") or ZombieVictim:object("esc_kostya") or ZombieVictim:object("rostok_stalker") or ZombieVictim:object("bar_rostok_james") or ZombieVictim:object("radar_monolit_dead") or ZombieVictim:object("mil_trader_gavr") or ZombieVictim:object("marsh_dan") or ZombieVictim:object("dark_bland") or ZombieVictim:object("agr_ratcatcher_new") or ZombieVictim:object("marsh_barman") or ZombieVictim:object("marsh_remont") or ZombieVictim:object("val_bandit_krisyk") or ZombieVictim:object("val_bandit_trader") or ZombieVictim:object("Sherstuk") or ZombieVictim:object("bar_docent") or ZombieVictim:object("dolgovazyi") or ZombieVictim:object("Doktor1") or ZombieVictim:object("Doktor") or ZombieVictim:object("Sak") or ZombieVictim:object("military_ecolog_agro1") or ZombieVictim:object("yakut_agro") or ZombieVictim:object("stalker_agro_und") or ZombieVictim:object("yakut_agro2") or ZombieVictim:object("new_prizrak") or ZombieVictim:object("rost_siv") or ZombieVictim:object("esc_zver") or ZombieVictim:object("esc_tirex") or ZombieVictim:object("stalker_rost_sysh") or ZombieVictim:object("sniper_kosoi") or ZombieVictim:object("mil_naemnik_zondr") or ZombieVictim:object("stalker_green_zahar") or ZombieVictim:object("naem_zahar1") or ZombieVictim:object("ecolog_wound_bunker") or ZombieVictim:object("tamaz_garbage") or ZombieVictim:object("new_prizrak_treasure3") or ZombieVictim:object("new_prizrak_treasure2") or ZombieVictim:object("new_prizrak_treasure1") or ZombieVictim:object("tamaz_body2") or ZombieVictim:object("esc_akim") or ZombieVictim:object("peshera_shaxter") or ZombieVictim:object("land_medik") or ZombieVictim:object("land_sniper_chimaera") or ZombieVictim:object("gen_solvador1") or ZombieVictim:object("gen_andersen1") or ZombieVictim:object("prip_dok_arh") or ZombieVictim:object("atp_mobil_torgovetz") or ZombieVictim:object("chaes2_mono_fugas") or ZombieVictim:object("gen_sapsan1") or ZombieVictim:object("chaes1_prizrak") or ZombieVictim:object("devchonka") or ZombieVictim:object("new_kluk_nz") or ZombieVictim:object("generators_udav") or ZombieVictim:object("marsh_udav") or ZombieVictim:object("generators_zvezdochet") or ZombieVictim:object("generators_prizrak") or ZombieVictim:object("marsh_pantera") or ZombieVictim:object("village_pantera") or ZombieVictim:object("kolmogor") or ZombieVictim:object("radar_vitamin") or ZombieVictim:object("warlab_golograma") or ZombieVictim:object("tehnik_golograma") or ZombieVictim:object("warlab_vitamin") or ZombieVictim:object("pantera") or ZombieVictim:object("aver_hunter_stalk_4") or ZombieVictim:object("otshelnik") or ZombieVictim:object("land_lazaret_starik") or ZombieVictim:object("labirint_shade_monolit") or ZombieVictim:object("atp_kalinin") or ZombieVictim:object("puzir_crest") or ZombieVictim:object("bkot") or ZombieVictim:object("shadowman") or ZombieVictim:object("kot_hos") or ZombieVictim:object("black_doctor") or ZombieVictim:object("scromnyi") or ZombieVictim:object("kashei") or ZombieVictim:object("borman") or ZombieVictim:object("kalmyak") or ZombieVictim:object("esc_saha") or ZombieVictim:object("clear_scy_leader") or ZombieVictim:object("city_starshoy") or ZombieVictim:object("zapasnoy_foto_muzhik") or ZombieVictim:object("esc_foto_muzhik") or ZombieVictim:object("milit_zapas_fotomuzhik") or ZombieVictim:object("military_fotomuzhik") or ZombieVictim:object("dcity_last_rasstrel1") or ZombieVictim:object("dsity_rasstrel2") or ZombieVictim:object("dsity_rasstrel1") or ZombieVictim:object("molniy") or ZombieVictim:object("aver_zlobnuy") or ZombieVictim:object("esc_pantera_bomba") or ZombieVictim:object("esc_father_pant") or ZombieVictim:object("trezv_kapitan") or ZombieVictim:object("agro_chsovoy_trezv") or ZombieVictim:object("yantar_chernomor") or ZombieVictim:object("forest_lastday_snip1") or ZombieVictim:object("pripyt_kluk") or ZombieVictim:object("radist_after") or ZombieVictim:object("stalk_radist") or ZombieVictim:object("nevid_monolit") or ZombieVictim:object("odnonogiy_stalk") or ZombieVictim:object("yantar_baty") or ZombieVictim:object("final_piligrim") or ZombieVictim:object("final_dok_arh") or ZombieVictim:object("final_prizrak") or ZombieVictim:object("final_arhara") or ZombieVictim:object("final_petrenko") or ZombieVictim:object("final_otshelnik") or ZombieVictim:object("final_muxa") or ZombieVictim:object("forest_lesnik") or ZombieVictim:object("pri_dimak") or ZombieVictim:object("aaz_upi") or ZombieVictim:object("dyak") or ZombieVictim:object("mil_Svoboda_zoneguard") or ZombieVictim:object("warlab_solvador2") or ZombieVictim:object("bar_zastava_commander_1") or ZombieVictim:object("andersen") or ZombieVictim:object("zemlyk") or ZombieVictim:object("bar_bar_guard") or ZombieVictim:object("military_vitamin") or ZombieVictim:object("peshera_plennyi") or ZombieVictim:object("peshera_stahanov") or ZombieVictim:object("peshera_xabaruch") or ZombieVictim:object("ozersky") or ZombieVictim:object("volazar_new") or ZombieVictim:object("volazar") or ZombieVictim:object("vesker_zaton") or ZombieVictim:object("gena_oso") or ZombieVictim:object("elsa_yantar") or ZombieVictim:object("snegir_kordon") or ZombieVictim:object("snegir_2chaes") or ZombieVictim:object("maria_kordon") or ZombieVictim:object("bibliofrend_talk_black_zaton") or ZombieVictim:object("bibliofrend_talk_zaton") or ZombieVictim:object("wolffrend_talk_zaton") or ZombieVictim:object("wolffrend_talk_zaton2") or ZombieVictim:object("anna_zaton2") or ZombieVictim:object("proper70_zaton") or ZombieVictim:object("ariadna_zaton") or ZombieVictim:object("kotobegemot_zaton") or ZombieVictim:object("snp_ucheniy2") or ZombieVictim:object("snp_nolik") or ZombieVictim:object("ariadna_bar") or ZombieVictim:object("ludmila_zaton") or ZombieVictim:object("boroda_zaton") or ZombieVictim:object("brodaga_zaton") or ZombieVictim:object("snp_ucheniy1") or ZombieVictim:object("snp_semetskiy") or ZombieVictim:object("fenrir_jupiter") or ZombieVictim:object("suslov_marsh") or ZombieVictim:object("anna_jupiter") or ZombieVictim:object("resident_evil_jupiter") or ZombieVictim:object("proper70_jupiter") or ZombieVictim:object("lobsang_zaton") or ZombieVictim:object("bubulyka_zaton") or ZombieVictim:object("anna_zaton") or ZombieVictim:object("resident_evil_zaton") or ZombieVictim:object("fenrir_zaton") or ZombieVictim:object("kotobegemot_bar") or ZombieVictim:object("akill_npc") or ZombieVictim:object("tm_brother_2chaes") or ZombieVictim:object("stalker_green_zahar") or ZombieVictim:object("bar_zastava_guard_3") or ZombieVictim:object("bar_zastava_commander_1") or ZombieVictim:object("sim_dolg_veteran_barin") or ZombieVictim:object("bar_arena_manager") or ZombieVictim:object("rostok_stalker") or ZombieVictim:object("bar_stalker_freeman") or ZombieVictim:object("bar_arena_man") or ZombieVictim:object("bar_stalker_0001") or ZombieVictim:object("bar_bar_lisiy") or ZombieVictim:object("bar_bar_drunk_dolg") or ZombieVictim:object("bar_bar_visitor_hunter") or ZombieVictim:object("bar_bar_osvedomitel") or ZombieVictim:object("bar_bar_guard") or ZombieVictim:object("bar_dolg_regular_5") or ZombieVictim:object("bar_dolg_leader") or ZombieVictim:object("bar_dolg_petrenko") or ZombieVictim:object("bar_dolg_ivancov") or ZombieVictim:object("val_bandit_trader") or ZombieVictim:object("val_lager_bandits_borov") or ZombieVictim:object("val_sos_wounded") or ZombieVictim:object("val_escort_nap1") or ZombieVictim:object("val_escort_captive") or ZombieVictim:object("himik_zl") or ZombieVictim:object("prigorshnya_zl") or ZombieVictim:object("himik_trup") or ZombieVictim:object("gek") or ZombieVictim:object("chuk") or ZombieVictim:object("sak_military_stalker") or ZombieVictim:object("agr_ratcatcher") or ZombieVictim:object("agr_krot") or ZombieVictim:object("gar_dm_novice") or ZombieVictim:object("gar_seryi") or ZombieVictim:object("amk_vitek_voron") or ZombieVictim:object("amk_artem_kulinar") or ZombieVictim:object("gar_dolg_blokpost_4") or ZombieVictim:object("gar_hellcar") or ZombieVictim:object("peshera_plennyi") or ZombieVictim:object("peshera_stahanov") or ZombieVictim:object("peshera_xabaruch") or ZombieVictim:object("esc_pantera_zadan_soldier") or ZombieVictim:object("esc_provodnik") or ZombieVictim:object("esc_bridge_soldier5") or ZombieVictim:object("esc_stalker_fanat") or ZombieVictim:object("esc_novice_attacker1") or ZombieVictim:object("esc_vagon_wounded") then
Nilim()
				else --\для обычный неписей делаем стандарт
--\Добавление с 1.08.10
--\Так как играть невозможно с рандомными зомби, пришлось прибегнуть к рангам неписей
			local Zombie_rank
			Zombie_rank = ranks.get_obj_rank_name(ZombieVictim)
			if Zombie_rank ~= nil then
--\Добавление с 5.08.10
--\Выпадение патронов с трупов
--\Решил отказаться от этой идеи, т.к. грузит комп. Сделал легче: с мастеров падают рандомные патроны.
				if Zombie_rank == "novice" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(novice_zombies[math.random(table.getn(novice_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "experienced" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(experienced_zombies[math.random(table.getn(experienced_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "veteran" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(veteran_zombies[math.random(table.getn(veteran_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "master" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(master_zombies[math.random(table.getn(master_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				end
			end
		end
	end
end
            else
    ZombieFlag = false
        end
    end
end

function give_money(victim,who)
--\Добавление с 6.08.10
--\Получение денег за убийства зомби
	if who:id() == db.actor:id() then --для актора
		if victim and (victim:section() == "zombie_trup2" or victim:section() == "zombie_trup" or victim:section() == "zombie_weak" or victim:section() == "zombie_hell13" or victim:section() == "zombie_babka_weak" or victim:section() == "electro_zombie" or victim:section() == "elekt_zomb1") then
local n = math.random(5,40)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_normal" or victim:section() == "zombie_hell14" or victim:section() == "zombie_hell12" or victim:section() == "zombie_hell10" or victim:section() == "zombie_hell1" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie" or victim:section() == "elekt_zomb2" or victim:section() == "elekt_zomb3" or victim:section() == "elekt_zomb4") then
local n = math.random(20,70)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_ghost" or victim:section() == "zombie_blow" or victim:section() == "zombie_beee" or victim:section() == "zombie_hell15" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie_immortal" or victim:section() == "zombie_hell9" or victim:section() == "zombie_hell8" or victim:section() == "zombie_hell7" or victim:section() == "zombie_hell6" or victim:section() == "zombie_hell5" or victim:section() == "zombie_hell4" or victim:section() == "elekt_zomb5" or victim:section() == "elekt_zomb6" or victim:section() == "elekt_zomb5" or victim:section() == "controller_babka") then
local n = math.random(60,110)
dialogs.relocate_money(db.actor,n,"in")
elseif victim and (victim:section() == "zombie_plague_komar" or victim:section() == "zombie_plague" or victim:section() == "zombie_babka_strong" or victim:section() == "zombie_strong" or victim:section() == "vodjanoj" or victim:section() == "controller_flame" or victim:section() == "elekt_zomb8" or victim:section() == "electro_zombie_0" or victim:section() == "electro_zombie_1" or victim:section() == "electro_zombie_2" or victim:section() == "electro_zombie_3") then
local n = math.random(120,500)
dialogs.relocate_money(db.actor,n,"in")
		end
	end
			if who:id() ~= db.actor:id() and not IsMonster(who) then --\для непися
				if victim and (victim:section() == "zombie_trup2" or victim:section() == "zombie_trup" or victim:section() == "zombie_weak" or victim:section() == "zombie_hell13" or victim:section() == "zombie_babka_weak" or victim:section() == "electro_zombie" or victim:section() == "elekt_zomb1") then
local n = math.random(5,40)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_normal" or victim:section() == "zombie_hell14" or victim:section() == "zombie_hell12" or victim:section() == "zombie_hell10" or victim:section() == "zombie_hell1" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie" or victim:section() == "carlic_weak" or victim:section() == "vypolzen_red" or victim:section() == "elekt_zomb2" or victim:section() == "elekt_zomb3" or victim:section() == "elekt_zomb4") then
local n = math.random(20,70)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_ghost" or victim:section() == "zombie_blow" or victim:section() == "zombie_beee" or victim:section() == "zombie_hell15" or victim:section() == "zombie_babka_normal" or victim:section() == "zombie_immortal" or victim:section() == "zombie_hell9" or victim:section() == "zombie_hell8" or victim:section() == "zombie_hell7" or victim:section() == "zombie_hell6" or victim:section() == "zombie_hell5" or victim:section() == "zombie_hell4" or victim:section() == "elekt_zomb5" or victim:section() == "elekt_zomb6" or victim:section() == "elekt_zomb5" or victim:section() == "controller_babka") then
local n = math.random(60,110)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and (victim:section() == "zombie_plague_komar" or victim:section() == "zombie_plague" or victim:section() == "zombie_babka_strong" or victim:section() == "zombie_strong" or victim:section() == "vodjanoj" or victim:section() == "controller_flame" or victim:section() == "wolf" or victim:section() == "elekt_zomb8" or victim:section() == "electro_zombie_0" or victim:section() == "electro_zombie_1" or victim:section() == "electro_zombie_2" or victim:section() == "electro_zombie_3") then
local n = math.random(120,500)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
			end
		end
end 

Вчера пытались переписать функцию "function give_money(victim,who)" , на выдачу денег за секции зомби - максимум что вышло:

 

 

--\Добавление с 6.08.10
--\Получение денег за убийства зомби
--\Оптимизировал Romann
function give_money(victim,who)
local nov_zomb = {
"zombie_trup2",
"zombie_trup",
"zombie_weak",
"zombie_hell13",
"zombie_babka_weak",
"burer_weak",
"fracture_weak",
"oboroten",
"electro_zombie",
"elekt_zomb1"
}
local exp_zomb = {
"zombie_normal",
"zombie_hell14",
"zombie_hell12",
"zombie_hell10",
"zombie_hell1",
"zombie_babka_normal",
"zombie",
"burer_normal",
"vypolzen_red",
"elekt_zomb2",
"elekt_zomb3",
"elekt_zomb4"
}
local vet_zomb = {
"zombie_ghost",
"zombie_blow",
"zombie_beee",
"zombie_hell15",
"zombie_babka_normal",
"zombie_immortal",
"zombie_hell9",
"zombie_hell8",
"zombie_hell7",
"zombie_hell6",
"zombie_hell5",
"zombie_hell4",
"dog_zombie",
"dog_skeleton",
"controller_babka",
"elekt_zomb5",
"elekt_zomb6",
"elekt_zomb7"
}
local mast_zomb = {
"zombie_plague_komar",
"zombie_plague",
"zombie_babka_strong",
"zombie_strong",
"ghoul",
"vodjanoj",
"snork_jumper",
"spider",
"molerat",
"deathclaw_weak",
"controller_flame",
"elekt_zomb8",
"electro_zombie_0",
"electro_zombie_1",
"electro_zombie_2",
"electro_zombie_3"
}

	if who:id() == db.actor:id() then --для актора
    if victim and victim:section[nov_zomb] then
	local n = math.random(5,40)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section[exp_zomb] then
	local n = math.random(20,70)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section[vet_zomb] then
	local n = math.random(60,110)
    dialogs.relocate_money(db.actor,n,"in")
elseif victim and victim:section[mast_zomb] then
	local n = math.random(120,500)
    dialogs.relocate_money(db.actor,n,"in")
		end
	end
	if who:id() ~= db.actor:id() and not IsMonster(who) then --\для непися
    if victim and victim:section[nov_zomb] then
	local n = math.random(5,40)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and victim:section[exp_zomb] then
	local n = math.random(20,70)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and victim:section[vet_zomb] then
	local n = math.random(60,110)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", nil, nil, 2000)
elseif victim and victim:section[mast_zomb] then
	local n = math.random(120,500)
				who:give_money(n)
				game_stats.money_quest_update(n)
				news_manager.send_tip(db.actor,who:character_name().."%c[255,0,253,13] получил "..n.." рублей%c[default]", 0, 15, nil, nil, 2000)
			end
		end
end

 

 

Сначала думал работает, но оказалось деньги выдаются не за секции в таблицах, а вообще за всех мутантов - решил забить, т.к. работает и в старом коде.

Теперь другая проблема:в строке "120" -  "--\Неписей с квестовыми предметами пропускать",  т.е. схема не должна срабатывать на квестовиках, но она срабатывает, что не есть хорошо, помогите исправить..

Изменено пользователем Romann
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение
судя по логу, таблица quest_npc пуста

Ну естественно она не была пуста :facepalm: , вот так было:

 

 

local quest_nps = {
"esc_wolf",
"esc_fox",
"esc_shustryi",
"arhara_zaton",
"volna_svidetel",
"Escape_dinamite",
"svalka_plot_stalk",
"esc_kidalo",
"warlab_stalker_oso",
"mil_Svoboda_leader",
"bodi_pantera1",
"stalk_kluk",
"land_green_stalk_4",
"piligrim",
"mil_Svoboda_engineer",
"esc_hunter_zaschita_2",
"Mil_Kap",
"alexandrych_marsh",
"marsh_ariadna",
"esc_fanat",
"Escape_novice_lager_volk",
"esc_pantera_zadan_soldier",
"kidalo_friend3",
"kidalo_friend2",
"kidalo_friend1",
"zat_kidalo2",
"zat_romale",
"zat_kidalo",
"upiter_baty",
"kuzmat_zaton",
"buusty_zaton",
"volna_svidetel",
"esc_kuzmat",
"esc_buusty",
"mil_stalker_killer",
"yan_ecolog_help1",
"agr_nebo_chromov1"
,"labirint_shade_monolit1",
"warlab_sekret_ekolog1",
"land_sniper_chimaera1",
"dar_corpse_kalugin1",
"yantar_baty1",
"dohlji_ljsji",
"journalist_npc",
"gromoboi_volna",
"locman_volna",
"elbrus_volna",
"fenix_volna",
"kogot_volna",
"nazar_volna",
"grif_volna",
"chudak_npc",
"nazar_npc",
"dasha_npc",
"masha_npc",
"zaton_dasha",
"zaton_masha",
"noi_npc",
"grom_npc",
"klesh_npc",
"fotograf_npc",
"dragunof_npc",
"sar_monolith",
"cit_doctor",
"aes_sidorovich",
"aes_monolit2",
"aes_monolit1",
"aes_kvartet",
"aes_pustelga",
"aes_sapsan",
"rad_suicide",
"rad_entrance_guard2",
"rad_entrance_guard1",
"yan_specnaz_corpse",
"yan_mapspot_from_vasilyev",
"yan_semenov_help",
"yan_vasilyev",
"yan_general_ecolog",
"yan_ecolog_help",
"pri_monolith_leader",
"pri_wave4_monolith8",
"pri_wave2_monolith_victim2",
"pri_wave2_monolith_victim1",
"Mil_Dolg_Khutor",
"Mil_Miser",
"Mil_Freedom_base",
"Mil_Sniper2",
"Mil_Sniper3",
"Mil_Sniper1",
"Mil_Controller",
"Mil_Cook",
"Mil_Hunter3",
"Mil_Hunter2",
"Mil_Hunter1",
"Mil_patrol_kamikadze3",
"Mil_patrol_kamikadze2",
"Mil_patrol_kamikadze1",
"Mil_Informator",
"Mil_Killer3",
"Mil_Killer2",
"Mil_Killer1",
"Mil_Silence",
"Mil_Courier",
"Mil_Freedom_Kamikadze",
"Mil_Dolg_Zoneguard",
"Mil_Lukash",
"Mil_Sniper",
"Mil_Crazy",
"Mil_Master_Max",
"Freedom_patrol_commander_level",
"Freedom_patrol_commander_base",
"rostok_kruglov_finish",
"rostok_offline_walker_4",
"rostok_offline_walker_3",
"rostok_offline_walker_2",
"rostok_offline_walker_1",
"rostok_banda_volkodava",
"rostok_naemnik",
"bar_dolg_locator",
"bar_arena_locator",
"bar_bar_locator",
"bar_barin",
"bar_zastava_commander",
"bar_psih",
"bar_dolg_guard_commander",
"bar_bar_osvedomitel",
"bar_svoboda_ambush_tiran",
"bar_crazy_veterans_leader",
"bar_drunk_dolg",
"bar_freedom_volkodav",
"bar_water_tower",
"bar_dolg_general_voronin",
"bar_dolg_polkovnik_petrenko",
"bar_dolg_captain_ivancov",
"bar_hunter",
"bar_ecolog_professor",
"bar_hunter_toz","val",
"val_bandit_rpg_dead",
"val_borov",
"val_escort_wounded",
"val_sos_stalker",
"val_stopper_soldier3",
"val_stopper_soldier2",
"val_stopper_soldier1",
"val_tunnel_bandit",
"val_escort_guard2",
"val_escort_guard1",
"val_escort_nap1",
"val_sacrifice_guard2",
"val_sacrifice_guard1",
"val_prisoner",
"val_escort_captive",
"agro_adrenalin",
"agr_stalker_look_point",
"agr_captains_chamber",
"agr_factory_skirmish1",
"gar_stalker_flame_quest23",
"gar_stalker_corpse",
"gar_seryi_drug_wounded",
"gar_spot_bandit_agr",
"gar_spot_dolg_blokpost",
"gar_spot_swamp",
"gar_bandit_post",
"gar_newbie_in_tunnel",
"gar_wounded",
"gar_dolg_blockpost",
"gar_bandits_leader",
"gar_boars_nest",
"gar_dm_novice",
"gar_dm_bandit3",
"gar_dm_bandit2",
"gar_dm_bandit1",
"Garbage_Seriy",
"escape_provodnik",
"esc_dead_tunel_novice",
"esc_kuznetsov",
"soldiers_bridge",
"esc_wounded_follower_2",
"esc_secret_shustryi",
"esc_lager_leader",
"esc_leader_killers",
"esc_bandits_factory",
"esc_level_patrol",
"esc_helicopter",
"esc_vagon_newbie2",
"esc_vagon_newbie1",
"Escape_raid_commander2",
"Escape_raid_commander1",
"Escape_bridge_stalkers",
"Escape_novice_lager_volk",
"Escape_stalker_from_raid",
"Escape_tutorial_wounded",
"Escape_Trader",
"Escape_trader_self",
"Escape_blockpost_case",
"esc_kostya",
"rostok_stalker",
"bar_rostok_james",
"radar_monolit_dead",
"mil_trader_gavr",
"marsh_dan",
"dark_bland",
"agr_ratcatcher_new",
"marsh_barman",
"marsh_remont",
"val_bandit_krisyk",
"val_bandit_trader",
"Sherstuk",
"bar_docent",
"dolgovazyi",
"Doktor1",
"Doktor",
"Sak",
"military_ecolog_agro1",
"yakut_agro",
"stalker_agro_und",
"yakut_agro2",
"new_prizrak",
"rost_siv",
"esc_zver",
"esc_tirex",
"stalker_rost_sysh",
"sniper_kosoi",
"mil_naemnik_zondr",
"stalker_green_zahar",
"naem_zahar1",
"ecolog_wound_bunker",
"tamaz_garbage",
"new_prizrak_treasure3",
"new_prizrak_treasure2",
"new_prizrak_treasure1",
"tamaz_body2",
"esc_akim",
"peshera_shaxter",
"land_medik",
"land_sniper_chimaera",
"gen_solvador1",
"gen_andersen1",
"prip_dok_arh",
"atp_mobil_torgovetz",
"chaes2_mono_fugas",
"gen_sapsan1",
"chaes1_prizrak",
"devchonka",
"new_kluk_nz",
"generators_udav",
"marsh_udav",
"generators_zvezdochet",
"generators_prizrak",
"marsh_pantera",
"village_pantera",
"kolmogor",
"radar_vitamin",
"warlab_golograma",
"tehnik_golograma",
"warlab_vitamin",
"pantera",
"aver_hunter_stalk_4",
"otshelnik",
"land_lazaret_starik",
"labirint_shade_monolit",
"atp_kalinin",
"puzir_crest",
"bkot",
"shadowman",
"kot_hos",
"black_doctor",
"scromnyi",
"kashei",
"borman",
"kalmyak",
"esc_saha",
"clear_scy_leader",
"city_starshoy",
"zapasnoy_foto_muzhik",
"esc_foto_muzhik",
"milit_zapas_fotomuzhik",
"military_fotomuzhik",
"dcity_last_rasstrel1",
"dsity_rasstrel2",
"dsity_rasstrel1",
"molniy",
"aver_zlobnuy",
"esc_pantera_bomba",
"esc_father_pant",
"trezv_kapitan",
"agro_chsovoy_trezv",
"yantar_chernomor",
"forest_lastday_snip1",
"pripyt_kluk",
"radist_after",
"stalk_radist",
"nevid_monolit",
"odnonogiy_stalk",
"yantar_baty",
"final_piligrim",
"final_dok_arh",
"final_prizrak",
"final_arhara",
"final_petrenko",
"final_otshelnik",
"final_muxa",
"forest_lesnik",
"pri_dimak","aaz_upi",
"dyak",
"mil_Svoboda_zoneguard",
"warlab_solvador2",
"bar_zastava_commander_1",
"andersen",
"zemlyk",
"bar_bar_guard",
"military_vitamin",
"peshera_plennyi",
"peshera_stahanov",
"peshera_xabaruch",
"ozersky",
"volazar_new",
"volazar",
"vesker_zaton",
"gena_oso",
"elsa_yantar",
"snegir_kordon",
"snegir_2chaes",
"maria_kordon",
"bibliofrend_talk_black_zaton",
"bibliofrend_talk_zaton",
"wolffrend_talk_zaton",
"wolffrend_talk_zaton2",
"anna_zaton2",
"proper70_zaton",
"ariadna_zaton",
"kotobegemot_zaton",
"snp_ucheniy2",
"snp_nolik",
"ariadna_bar",
"ludmila_zaton",
"boroda_zaton",
"brodaga_zaton",
"snp_ucheniy1",
"snp_semetskiy",
"fenrir_jupiter",
"suslov_marsh",
"anna_jupiter",
"resident_evil_jupiter",
"proper70_jupiter",
"lobsang_zaton",
"bubulyka_zaton",
"anna_zaton",
"resident_evil_zaton",
"fenrir_zaton",
"kotobegemot_bar",
"akill_npc",
"tm_brother_2chaes",
"stalker_green_zahar",
"bar_zastava_guard_3",
"bar_zastava_commander_1",
"sim_dolg_veteran_barin",
"bar_arena_manager",
"rostok_stalker",
"bar_stalker_freeman",
"bar_arena_man",
"bar_stalker_0001",
"bar_bar_lisiy",
"bar_bar_drunk_dolg",
"bar_bar_visitor_hunter",
"bar_bar_osvedomitel",
"bar_bar_guard",
"bar_dolg_regular_5",
"bar_dolg_leader",
"bar_dolg_petrenko",
"bar_dolg_ivancov",
"val_bandit_trader",
"val_lager_bandits_borov",
"val_sos_wounded",
"val_escort_nap1",
"val_escort_captive",
"himik_zl",
"prigorshnya_zl",
"himik_trup","gek",
"chuk",
"sak_military_stalker",
"agr_ratcatcher",
"agr_krot",
"gar_dm_novice",
"gar_seryi",
"amk_vitek_voron",
"amk_artem_kulinar",
"gar_dolg_blokpost_4",
"gar_hellcar",
"peshera_plennyi",
"peshera_stahanov",
"peshera_xabaruch",
"esc_pantera_zadan_soldier",
"esc_provodnik",
"esc_bridge_soldier5",
"esc_stalker_fanat",
"esc_novice_attacker1",
"esc_vagon_wounded"
} 

 

 

Изменено пользователем Romann
  • Не согласен 1
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

 

 

при обращении к ней - должны совпадать? Проверьте

Извиняюсь за не внимательность.

 

 

всё работает совершенно спокойно, без вылетов.

Вылета нет, но не работает, т.е. схема совсем не срабатывает, на всех нпс. Вот полностью эта функция:

 

 


function life_zombie()
	local function Nilim() --\дабы не писать много, заделаем в одну функцию и будем ее подгружать
ZombieVictim = nil--\нилим юзердату жертвы и таймер
ZombieTime  = nil
ZombieFlag = true
end

    if (ZombieVictim and ZombieTime) then 
		if  ZombieTime<time_global() then
				if not ZombieFlag then
--\Добавление с 2.08.10
--\Чтобы был хоть какой-то шмот, Зомбированные не превращаются в зомби
if ZombieVictim:character_community() == "zombied" or string.find(ZombieVictim:section(),"arena") or ZombieVictim:character_community()=="arena_enemy" then
Nilim()
else
--\Добавление с 5.08.10
--\Неписей с квестовыми предметами пропускать

--\Добавление с 5.08.10
--\Неписей с квестовыми предметами пропускать
local quest_npc = {
"esc_wolf",
"esc_fox",
"esc_shustryi",
"arhara_zaton",
"volna_svidetel",
"Escape_dinamite",
"svalka_plot_stalk",
"esc_kidalo",
"warlab_stalker_oso",
"mil_Svoboda_leader",
"bodi_pantera1",
"stalk_kluk",
"land_green_stalk_4",
"piligrim",
"mil_Svoboda_engineer",
"esc_hunter_zaschita_2",
"Mil_Kap",
"alexandrych_marsh",
"marsh_ariadna",
"esc_fanat",
"Escape_novice_lager_volk",
"esc_pantera_zadan_soldier",
"kidalo_friend3",
"kidalo_friend2",
"kidalo_friend1",
"zat_kidalo2",
"zat_romale",
"zat_kidalo",
"upiter_baty",
"kuzmat_zaton",
"buusty_zaton",
"volna_svidetel",
"esc_kuzmat",
"esc_buusty",
"mil_stalker_killer",
"yan_ecolog_help1",
"agr_nebo_chromov1"
,"labirint_shade_monolit1",
"warlab_sekret_ekolog1",
"land_sniper_chimaera1",
"dar_corpse_kalugin1",
"yantar_baty1",
"dohlji_ljsji",
"journalist_npc",
"gromoboi_volna",
"locman_volna",
"elbrus_volna",
"fenix_volna",
"kogot_volna",
"nazar_volna",
"grif_volna",
"chudak_npc",
"nazar_npc",
"dasha_npc",
"masha_npc",
"zaton_dasha",
"zaton_masha",
"noi_npc",
"grom_npc",
"klesh_npc",
"fotograf_npc",
"dragunof_npc",
"sar_monolith",
"cit_doctor",
"aes_sidorovich",
"aes_monolit2",
"aes_monolit1",
"aes_kvartet",
"aes_pustelga",
"aes_sapsan",
"rad_suicide",
"rad_entrance_guard2",
"rad_entrance_guard1",
"yan_specnaz_corpse",
"yan_mapspot_from_vasilyev",
"yan_semenov_help",
"yan_vasilyev",
"yan_general_ecolog",
"yan_ecolog_help",
"pri_monolith_leader",
"pri_wave4_monolith8",
"pri_wave2_monolith_victim2",
"pri_wave2_monolith_victim1",
"Mil_Dolg_Khutor",
"Mil_Miser",
"Mil_Freedom_base",
"Mil_Sniper2",
"Mil_Sniper3",
"Mil_Sniper1",
"Mil_Controller",
"Mil_Cook",
"Mil_Hunter3",
"Mil_Hunter2",
"Mil_Hunter1",
"Mil_patrol_kamikadze3",
"Mil_patrol_kamikadze2",
"Mil_patrol_kamikadze1",
"Mil_Informator",
"Mil_Killer3",
"Mil_Killer2",
"Mil_Killer1",
"Mil_Silence",
"Mil_Courier",
"Mil_Freedom_Kamikadze",
"Mil_Dolg_Zoneguard",
"Mil_Lukash",
"Mil_Sniper",
"Mil_Crazy",
"Mil_Master_Max",
"Freedom_patrol_commander_level",
"Freedom_patrol_commander_base",
"rostok_kruglov_finish",
"rostok_offline_walker_4",
"rostok_offline_walker_3",
"rostok_offline_walker_2",
"rostok_offline_walker_1",
"rostok_banda_volkodava",
"rostok_naemnik",
"bar_dolg_locator",
"bar_arena_locator",
"bar_bar_locator",
"bar_barin",
"bar_zastava_commander",
"bar_psih",
"bar_dolg_guard_commander",
"bar_bar_osvedomitel",
"bar_svoboda_ambush_tiran",
"bar_crazy_veterans_leader",
"bar_drunk_dolg",
"bar_freedom_volkodav",
"bar_water_tower",
"bar_dolg_general_voronin",
"bar_dolg_polkovnik_petrenko",
"bar_dolg_captain_ivancov",
"bar_hunter",
"bar_ecolog_professor",
"bar_hunter_toz","val",
"val_bandit_rpg_dead",
"val_borov",
"val_escort_wounded",
"val_sos_stalker",
"val_stopper_soldier3",
"val_stopper_soldier2",
"val_stopper_soldier1",
"val_tunnel_bandit",
"val_escort_guard2",
"val_escort_guard1",
"val_escort_nap1",
"val_sacrifice_guard2",
"val_sacrifice_guard1",
"val_prisoner",
"val_escort_captive",
"agro_adrenalin",
"agr_stalker_look_point",
"agr_captains_chamber",
"agr_factory_skirmish1",
"gar_stalker_flame_quest23",
"gar_stalker_corpse",
"gar_seryi_drug_wounded",
"gar_spot_bandit_agr",
"gar_spot_dolg_blokpost",
"gar_spot_swamp",
"gar_bandit_post",
"gar_newbie_in_tunnel",
"gar_wounded",
"gar_dolg_blockpost",
"gar_bandits_leader",
"gar_boars_nest",
"gar_dm_novice",
"gar_dm_bandit3",
"gar_dm_bandit2",
"gar_dm_bandit1",
"Garbage_Seriy",
"escape_provodnik",
"esc_dead_tunel_novice",
"esc_kuznetsov",
"soldiers_bridge",
"esc_wounded_follower_2",
"esc_secret_shustryi",
"esc_lager_leader",
"esc_leader_killers",
"esc_bandits_factory",
"esc_level_patrol",
"esc_helicopter",
"esc_vagon_newbie2",
"esc_vagon_newbie1",
"Escape_raid_commander2",
"Escape_raid_commander1",
"Escape_bridge_stalkers",
"Escape_novice_lager_volk",
"Escape_stalker_from_raid",
"Escape_tutorial_wounded",
"Escape_Trader",
"Escape_trader_self",
"Escape_blockpost_case",
"esc_kostya",
"rostok_stalker",
"bar_rostok_james",
"radar_monolit_dead",
"mil_trader_gavr",
"marsh_dan",
"dark_bland",
"agr_ratcatcher_new",
"marsh_barman",
"marsh_remont",
"val_bandit_krisyk",
"val_bandit_trader",
"Sherstuk",
"bar_docent",
"dolgovazyi",
"Doktor1",
"Doktor",
"Sak",
"military_ecolog_agro1",
"yakut_agro",
"stalker_agro_und",
"yakut_agro2",
"new_prizrak",
"rost_siv",
"esc_zver",
"esc_tirex",
"stalker_rost_sysh",
"sniper_kosoi",
"mil_naemnik_zondr",
"stalker_green_zahar",
"naem_zahar1",
"ecolog_wound_bunker",
"tamaz_garbage",
"new_prizrak_treasure3",
"new_prizrak_treasure2",
"new_prizrak_treasure1",
"tamaz_body2",
"esc_akim",
"peshera_shaxter",
"land_medik",
"land_sniper_chimaera",
"gen_solvador1",
"gen_andersen1",
"prip_dok_arh",
"atp_mobil_torgovetz",
"chaes2_mono_fugas",
"gen_sapsan1",
"chaes1_prizrak",
"devchonka",
"new_kluk_nz",
"generators_udav",
"marsh_udav",
"generators_zvezdochet",
"generators_prizrak",
"marsh_pantera",
"village_pantera",
"kolmogor",
"radar_vitamin",
"warlab_golograma",
"tehnik_golograma",
"warlab_vitamin",
"pantera",
"aver_hunter_stalk_4",
"otshelnik",
"land_lazaret_starik",
"labirint_shade_monolit",
"atp_kalinin",
"puzir_crest",
"bkot",
"shadowman",
"kot_hos",
"black_doctor",
"scromnyi",
"kashei",
"borman",
"kalmyak",
"esc_saha",
"clear_scy_leader",
"city_starshoy",
"zapasnoy_foto_muzhik",
"esc_foto_muzhik",
"milit_zapas_fotomuzhik",
"military_fotomuzhik",
"dcity_last_rasstrel1",
"dsity_rasstrel2",
"dsity_rasstrel1",
"molniy",
"aver_zlobnuy",
"esc_pantera_bomba",
"esc_father_pant",
"trezv_kapitan",
"agro_chsovoy_trezv",
"yantar_chernomor",
"forest_lastday_snip1",
"pripyt_kluk",
"radist_after",
"stalk_radist",
"nevid_monolit",
"odnonogiy_stalk",
"yantar_baty",
"final_piligrim",
"final_dok_arh",
"final_prizrak",
"final_arhara",
"final_petrenko",
"final_otshelnik",
"final_muxa",
"forest_lesnik",
"pri_dimak","aaz_upi",
"dyak",
"mil_Svoboda_zoneguard",
"warlab_solvador2",
"bar_zastava_commander_1",
"andersen",
"zemlyk",
"bar_bar_guard",
"military_vitamin",
"peshera_plennyi",
"peshera_stahanov",
"peshera_xabaruch",
"ozersky",
"volazar_new",
"volazar",
"vesker_zaton",
"gena_oso",
"elsa_yantar",
"snegir_kordon",
"snegir_2chaes",
"maria_kordon",
"bibliofrend_talk_black_zaton",
"bibliofrend_talk_zaton",
"wolffrend_talk_zaton",
"wolffrend_talk_zaton2",
"anna_zaton2",
"proper70_zaton",
"ariadna_zaton",
"kotobegemot_zaton",
"snp_ucheniy2",
"snp_nolik",
"ariadna_bar",
"ludmila_zaton",
"boroda_zaton",
"brodaga_zaton",
"snp_ucheniy1",
"snp_semetskiy",
"fenrir_jupiter",
"suslov_marsh",
"anna_jupiter",
"resident_evil_jupiter",
"proper70_jupiter",
"lobsang_zaton",
"bubulyka_zaton",
"anna_zaton",
"resident_evil_zaton",
"fenrir_zaton",
"kotobegemot_bar",
"akill_npc",
"tm_brother_2chaes",
"stalker_green_zahar",
"bar_zastava_guard_3",
"bar_zastava_commander_1",
"sim_dolg_veteran_barin",
"bar_arena_manager",
"rostok_stalker",
"bar_stalker_freeman",
"bar_arena_man",
"bar_stalker_0001",
"bar_bar_lisiy",
"bar_bar_drunk_dolg",
"bar_bar_visitor_hunter",
"bar_bar_osvedomitel",
"bar_bar_guard",
"bar_dolg_regular_5",
"bar_dolg_leader",
"bar_dolg_petrenko",
"bar_dolg_ivancov",
"val_bandit_trader",
"val_lager_bandits_borov",
"val_sos_wounded",
"val_escort_nap1",
"val_escort_captive",
"himik_zl",
"prigorshnya_zl",
"himik_trup","gek",
"chuk",
"sak_military_stalker",
"agr_ratcatcher",
"agr_krot",
"gar_dm_novice",
"gar_seryi",
"amk_vitek_voron",
"amk_artem_kulinar",
"gar_dolg_blokpost_4",
"gar_hellcar",
"peshera_plennyi",
"peshera_stahanov",
"peshera_xabaruch",
"esc_pantera_zadan_soldier",
"esc_provodnik",
"esc_bridge_soldier5",
"esc_stalker_fanat",
"esc_novice_attacker1",
"esc_vagon_wounded"
}
--local quest_npc = {}
for a=1,65535 do
local obj = alife():object(a)
  if obj then
   if IsStalker(obj) then
    if not quest_npc[obj:name()] then
     -- обработчик сталкера - серверного объекта

				else --\для обычный неписей делаем стандарт
--\Добавление с 1.08.10
--\Так как играть невозможно с рандомными зомби, пришлось прибегнуть к рангам неписей
			local Zombie_rank
			Zombie_rank = ranks.get_obj_rank_name(ZombieVictim)
			if Zombie_rank ~= nil then
--\Добавление с 5.08.10
--\Выпадение патронов с трупов
--\Решил отказаться от этой идеи, т.к. грузит комп. Сделал легче: с мастеров падают рандомные патроны.
				if Zombie_rank == "novice" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(novice_zombies[math.random(table.getn(novice_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "experienced" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(experienced_zombies[math.random(table.getn(experienced_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "veteran" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(veteran_zombies[math.random(table.getn(veteran_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				elseif Zombie_rank == "master" then
				alife():release(alife():object(ZombieVictim:id()), true)
				alife():create(master_zombies[math.random(table.getn(master_zombies))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
				alife():create(ammo[math.random(table.getn(ammo))], ZombieVictim:position() , ZombieVictim:level_vertex_id() , ZombieVictim:game_vertex_id())
Nilim()
				end
			end
		end
	end
end
    end
   end
  end
end
            else
    ZombieFlag = false
        end
    end
--end
 

 

 

 

Как видно, ваш код на 522 строчке, все "end" пришлось перенести в конец общей функции(на 562 строчку), иначе синтаксическая ошибка. Вот в таком виде функция/схема совсем не работает. Каким образом её тогда реализовать?

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

 

 

А вот под сами таблицы отдельный файл выделить, чтобы перестать уже адову акробатику

Вот по поводу таблиц - кто может объяснить подробно, как использовать этот способ? Как я понял, не будет надобности в скриптах городить таблицы, а составлять их в конфигах в 'all_sections.ltx'..? 

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение

Доброго времени суток, подскажите пожалуйста функцию увеличения скорости спринта ГГ.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...