Jump to content
Sign in to follow this  
Zmurik

Использование Хаос Очков

Recommended Posts

Пример на коленке  без проверок(а они нужны): 
Добавляем эту функцию в любой файл, лучше в forge.lua

      Функция получения очков чести и обмена на предмет с ID 1 
      function chaos_point(role,npc)
        local Medal = GetChaItem2 ( role , 2 , 3849 ) -- получаем медаль отваги
        local chaos_point = GetItemAttr ( Medal , ITEMATTR_MAXENERGY ) --получаем значение очков хаоса
        if chaos_point > 5 then -- если хаос поинтов больше 5 то 
			chaos_point = chaos_point - 5 -- отнимаем 5 очков
			GiveItem ( role  , 0 , 1  , 1 , 4 ) -- выдаем предмет 
			SetItemAttr ( Medal , ITEMATTR_MAXENERGY , chaos_point) -- обновляем кол-во ОХ
		end 	
      end

Добавляем эту функцию в NPCScript.lua

function MsgProc( character, npc, rpk, page, trade, missionlist, exchangeData )
...
if item.func == JumpPage then
			return JumpPage( character, npc, page, item.p1 ) --после этой строчки
elseif item.func == chaos_point then
			return chaos_point(character,npc)
...
end


Используем функцию у нпс 

function leo_talkzz()
	Talk( 1, "Если утебя много ОХ я обменяю их на предмет с ID 1.")
	Text( 1, "Обменять очки Хаоса",chaos_point)
end

Я не помню есть ли уже написанные функции, мб они и есть, копаться не стал.

  • Like 1

Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
2 часа назад, BETEP/macs509 сказал:

должна была быть или в баре аргента в 1.39 или у каких обменников 2+

я помню что у меня не было точно и у тебя, вроде, так как обмен на звания делали без  ОХ, но я могу ошибаться.

вот на подобии этой функции можно сделать и проверка там есть.

function HasHonorPoint(character,value)
		--SystemNotice( character , "HasHonorPoint" )
		local i= CheckBagItem( character, 3849 )
		--SystemNotice( character , "i=="..i)
		if i~=1 then
			SystemNotice( character , "Пожалуйста проверьте, если у Вас Медаль отваги ")
			return LUA_FALSE
		end
		local DEFER_RYZ1 = GetChaItem2 ( character , 2 , 3849 )
		local HonorPoint = GetItemAttr ( DEFER_RYZ1 , ITEMATTR_VAL_STR)
	if value > HonorPoint then
		return LUA_FALSE
	else
		return LUA_TRUE
	end
end

 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
В 09.01.2018 в 18:42, NMS3RR сказал:

я помню что у меня не было точно и у тебя, вроде, так как обмен на звания делали без  ОХ, но я могу ошибаться.

вот на подобии этой функции можно сделать и проверка там есть.


function HasHonorPoint(character,value)
		--SystemNotice( character , "HasHonorPoint" )
		local i= CheckBagItem( character, 3849 )
		--SystemNotice( character , "i=="..i)
		if i~=1 then
			SystemNotice( character , "Пожалуйста проверьте, если у Вас Медаль отваги ")
			return LUA_FALSE
		end
		local DEFER_RYZ1 = GetChaItem2 ( character , 2 , 3849 )
		local HonorPoint = GetItemAttr ( DEFER_RYZ1 , ITEMATTR_VAL_STR)
	if value > HonorPoint then
		return LUA_FALSE
	else
		return LUA_TRUE
	end
end

 

Вот нашел обменника на честь, на хаос поины так и не получилось

Share this post


Link to post
Share on other sites
5 часов назад, Zmurik сказал:

Вот нашел обменника на честь, на хаос поины так и не получилось

Я тебе выше расписал все. 
У тебя все есть, только голову включить


Делай добро и бросай его в воду

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...