Ir para conteúdo

Featured Replies

Postado

Meu servidor é de Nto 8.60 tfs 0.4 extendido
 

estou fazendo um systema de aura,no qual o npc da x storage para o player em troca de um item,essa storage aumentaria o dano magico do player em 5% permanente

e ele poderia pegar apenas 1 vez.

eu nao sou muito bom com scripts,Obrigado a todos que tentarem ajudar REP+ <3

Postado

Pra escolher o item e a quantiade, arruma no script do ivan.lua

 

npc/ivan.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Ivan" walkinterval="2000" floorchange="0" script="ivan.lua">
	<health now="100" max="100"/>
	<look type="128" head="0" body="112" legs="107" feet="113" addons="0"/>
</npc>

npc/scripts/ivan.lua

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)
	npcHandler:onCreatureAppear(cid)
end
function onCreatureDisappear(cid)
	npcHandler:onCreatureDisappear(cid)
end
function onCreatureSay(cid, type, msg)
	npcHandler:onCreatureSay(cid, type, msg)
end
function onThink()
	npcHandler:onThink()
end

local function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return
	end
		local player = Player(cid)
		local nomedoITEM = "Crystal Coin"
		local itemID = 2160
		local itemCOUNT = 2

	if msgcontains(msg, "aura") or msgcontains(msg, "help")  then
		npcHandler:say("Deseja comprar a aura? Isso vai lhe custar "..itemCOUNT.." "..nomedoITEM.."", cid)
		npcHandler.topic[cid] = 1	
	end
	
	if msgcontains(msg, "yes") then
		if npcHandler.topic[cid] == 1 then
			if player:getStorageValue(AURAstorage) == 1 then
				npcHandler:say("Voce ja tem essa aura.", cid)
			else
				if player:removeItem(itemID, itemCOUNT) then
					npcHandler:say("Voce agora tem bonus de 5% em qualquer dano causado!", cid)
					player:setStorageValue(AURAstorage, 1)
					else
					npcHandler:say("Voce nao tem os items necessarios.", cid)
					
				end
			end
		end
	end
end
npcHandler:setMessage(MESSAGE_GREET, "Hello, |PLAYERNAME| i can sell auras for u.")
npcHandler:setMessage(MESSAGE_FAREWELL, 'Bye.')

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

creaturescripts/Creaturescript.xml

    <event type="healthchange" name="aura" script="aura.lua"/>
    <event type="login" name="auraregister" script="aura.lua"/>

 

creaturescripts/script/aura.lua

Spoiler

AURAstorage = 7475761

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
if attacker:getStorageValue(storage) == 1 then
    if primaryDamage > 0 then
    primaryDamage = primaryDamage*1.05
    end
    
    if secondaryDamage > 0 then
    secondaryDamage = secondaryDamage*1.05
    end
end
     return primaryDamage, primaryType, secondaryDamage, secondaryType
end

function onLogin(player)
		player:registerEvent("aura")
	return true
end

 

 

Editado por Mor3nao (veja o histórico de edições)

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Postado
22 minutos atrás, Gabrieldsadaxas disse:

@Mor3nao esse script q vc postou eh p tfs 1.3, ele pediu 0.4

ahh nao sabia, eu só fiz um q funcionasse no meu, n sei diferenciar as versoes, na real, nem uso o tfs, uso o otbr kk

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo