Jump to content
Sign in to follow this  
Graf

Предмет воскрешения

Recommended Posts

Предмет воскрешения

Взято с архива.
Суть в том, что если у вашего персонажа в рюкзаке предмет 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

 

Share this post


Link to post
Share on other sites

При смерти игрока выводится сообщение и каждую секунду забирается этот предмет, даже если ты еще ничего не ответил

Share this post


Link to post
Share on other sites
4 часа назад, jordan сказал:

При смерти игрока выводится сообщение и каждую секунду забирается этот предмет, даже если ты еще ничего не ответил

Вам помочь пофиксить? Это же не готовая реализация, а пример.

Share this post


Link to post
Share on other sites
4 часа назад, Graf сказал:

Вам помочь пофиксить? Это же не готовая реализация, а пример.

там может просто рабочий код выложить)?

Share this post


Link to post
Share on other sites
17 минут назад, jordan сказал:

там может просто рабочий код выложить)?

Видимо помочь) До дома доеду - скину

Share this post


Link to post
Share on other sites

@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

 

Share this post


Link to post
Share on other sites
18 часов назад, Дракан сказал:

Как на счёт ?
GIF.gif.37169e37b0af4826a29e9e274e11f1e5.gif

По идее все просто. Восстановление хп и мн до максимума, разве нет? Не пробовал и доступа сейчас нет.

Share this post


Link to post
Share on other sites
4 часа назад, Graf сказал:

По идее все просто. Восстановление хп и мн до максимума, разве нет? Не пробовал и доступа сейчас нет.

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

Edited by Дракан

Share this post


Link to post
Share on other sites

С помощью isFriends() можно пофиксить мгновенную смерть.

 

В тело функции при воскрешении, как костыльное решение - можно добавить проверку на значение в таблице определенного персонажа, и обнулять его когда ХП чара допустим достигло 80% или он ливнул с карты.

В isFriends() поставить проверку, если персонажа есть в таблице, значит запретить атаку.

 

Вообще способ с cha_timer() он очень кустарный, и очень не рекомендую юзать. Как минимум у Вас нету ещё нескольких проверок на отсечение ларьков, блокированных рюкзаков, нпсов, функция cha_timer() бежит по всем объектам, а не только по персонажам.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...