Graf 209 Report post Posted October 22, 2019 Предмет воскрешения Взято с архива. Суть в том, что если у вашего персонажа в рюкзаке предмет XXXX, то он может возродиться. Чтобы это реализовать, заходим в Server/resource/script/functions.lua и ищем функцию cha_timer. В неё вставляем: local playerCurrentMap = GetChaMapName(role) --Если персонаж на карте garner if playerCurrentMap == "garner" then --В рюкзаке должен быть предмет XXXX local Item_Revive = CheckBagItem(role, XXXX) if(Item_Revive > 0)then -- если есть предмет if(IsChaLiving(role) ~= 1)then -- мертв ли персонаж SetRelive(role,role,1,"Хэй! Хочешь возрадиться? ") -- возрождение персонажа TakeItem( role,0,XXXX,1) --Забираем предмет end end end Quote Share this post Link to post Share on other sites
jordan 1 Report post Posted February 18, 2020 При смерти игрока выводится сообщение и каждую секунду забирается этот предмет, даже если ты еще ничего не ответил Quote Share this post Link to post Share on other sites
Graf 209 Report post Posted February 18, 2020 4 часа назад, jordan сказал: При смерти игрока выводится сообщение и каждую секунду забирается этот предмет, даже если ты еще ничего не ответил Вам помочь пофиксить? Это же не готовая реализация, а пример. Quote Share this post Link to post Share on other sites
jordan 1 Report post Posted February 18, 2020 4 часа назад, Graf сказал: Вам помочь пофиксить? Это же не готовая реализация, а пример. там может просто рабочий код выложить)? Quote Share this post Link to post Share on other sites
Graf 209 Report post Posted February 18, 2020 17 минут назад, jordan сказал: там может просто рабочий код выложить)? Видимо помочь) До дома доеду - скину Quote Share this post Link to post Share on other sites
Graf 209 Report post Posted February 18, 2020 @jordanУ меня реализовано вот так: --Cистема возрождения local is_role_living = IsChaLiving(role) local playerCurrentMap = GetChaMapName(role) if (playerCurrentMap == "garner") or (playerCurrentMap=="darckblue") or (playerCurrentMap=="magicsea") then local Item_Revive = CheckBagItem(role, 8300) if(Item_Revive > 0)then if(is_role_living ~= 1)then SetRelive(role,role,1,"Хочешь воскреснуть?") end end end Quote Share this post Link to post Share on other sites
Дракан 39 Report post Posted February 18, 2020 Как на счёт ? Quote Share this post Link to post Share on other sites
Graf 209 Report post Posted February 19, 2020 18 часов назад, Дракан сказал: Как на счёт ? По идее все просто. Восстановление хп и мн до максимума, разве нет? Не пробовал и доступа сейчас нет. Quote Share this post Link to post Share on other sites
Дракан 39 Report post Posted February 19, 2020 (edited) 4 часа назад, Graf сказал: По идее все просто. Восстановление хп и мн до максимума, разве нет? Не пробовал и доступа сейчас нет. Попробуй и поймешь, что все не так просто, а ещё ты в курсе, что предмет будет бесконечно забираться из твоей реализации ? Пока он будет, не важно, что ты нажмешь в итоге. Edited February 19, 2020 by Дракан Quote Share this post Link to post Share on other sites
e1mer 100 Report post Posted February 13, 2021 С помощью isFriends() можно пофиксить мгновенную смерть. В тело функции при воскрешении, как костыльное решение - можно добавить проверку на значение в таблице определенного персонажа, и обнулять его когда ХП чара допустим достигло 80% или он ливнул с карты. В isFriends() поставить проверку, если персонажа есть в таблице, значит запретить атаку. Вообще способ с cha_timer() он очень кустарный, и очень не рекомендую юзать. Как минимум у Вас нету ещё нескольких проверок на отсечение ларьков, блокированных рюкзаков, нпсов, функция cha_timer() бежит по всем объектам, а не только по персонажам. Quote Share this post Link to post Share on other sites