Ir para conteúdo

[moveevent] Luva De Akilliz


dgprado

Posts Recomendados

Agora esta gastando o tempo corretamente script fixed por Marcryzius.

Testado no crying dansom 0.3.5 pl1(8.5)

 

Bom este e um item muito bacana e com certeza sera muito cobiçado em qualquer servidor, principalmente os de baixa xp. Quando voce veste a luva voce passa a ganhar 2x a xp das criaturas e quando voce tira vc volta a ganhar a xp normal, porem este item tem 60 minutos de duraçao, que pode ser facilmente modificado. Quando descarregar a luva, ela podera ser recarregada por um npc da mesma forma q uma soft boots

 

Os itens usados serao os de numero 10309, 10310, 10311 "Claw of 'The Noxious Spawn", o 10309 sera a luva equipada, o 10310 a luva desequipada e o 10311 a luva descarregada.

 

Primeiro vamos modificar os itens no itens.xml para dar-lhes os devidos atributos, ficarao assim :

 

<item id="10309" article="a" name="Luva de Akilliz">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Voce pode sentir o poder desta luva."/>
       <attribute key="slotType" value="ring"/>
        <attribute key="decayTo" value="10311"/>
       <attribute key="transformDeEquipTo" value="10310"/>
       <attribute key="duration" value="3600"/>
       <attribute key="showduration" value="1"/>
          </item>
   <item id="10310" article="a" name="Luva de Akilliz">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Dizem os sabios que esta luva pode aumentar seu poder evolutivo quando vestida."/>
       <attribute key="slotType" value="ring"/>
       <attribute key="transformEquipTo" value="10309"/>
       <attribute key="stopduration" value="1"/>
       <attribute key="showduration" value="1"/>
   </item>

   <item id="10311" article="a" name="Luva de Akilliz descarregada">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Talvez o homem mais forte do mundo possa recarregar este poderoso acessorio."/>
   </item>

 

Agora va na pasta movements/scripts copie qualker arquivo e renomeie para luva.lua, apague tudo e cole o code abaixo:

 

function onEquip(cid, item, slot)
if getPlayerLevel(cid) >= 200 then
else
doPlayerSendTextMessage(cid,22,"Somente players de lv 200+ podem usar a luva.")
return FALSE
end
doTransformItem(item.uid, 10309, 1)
doDecayItem(item.uid)
doPlayerSendTextMessage(cid, 22, 'Now you have 2x extra experience!')
doPlayerSetExperienceRate(cid, 2)
return TRUE
end


function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 10310, 1)
doPlayerSendTextMessage(cid, 22, 'Extra experience ended.')
doPlayerSetExperienceRate(cid, 1)
return TRUE
end

Agora va na pasta movements e adicione as tags no movements.xml como segue abaixo:

 

<movevent type="Equip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
<movevent type="DeEquip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
<movevent type="Equip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/><!-- luva despida-->
<movevent type="DeEquip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/><!-- luva despida-->

 

Feito a luva esta pronta, agora so falta o npc que ira carrega-la.(Nao entrarei em muitos detalhes sobre o npc).

 

Aki vai o xml do npc:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Akilliz" script="data/npc/scripts/Akilliz2.lua" access="3" lookdir="1" walkinterval="2000">
<health now="1" max="1"/>
       <parameters>
	<parameter key="message_greet" value="Posso recarregar sua {luva} magica." />
</parameters>
<look type="255" head="78" body="19" legs="19" feet="114" corpse="3128"/>
</npc>

 

 

Aki o .lua do npc:

 

 

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

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

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
	return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if(msgcontains(msg, 'luva') or msgcontains(msg, 'magica')) then
	selfSay('Voce gostaria de recarregar sua luva por 50000 moedas de ouro?', cid)
	talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
	if(getPlayerItemCount(cid, 10311) >= 1) then
		if(doPlayerRemoveMoney(cid, 50000)) then
			local item = getPlayerItemById(cid, true, 10311)
			doTransformItem(item.uid, 10310)
			selfSay('Aki esta.', cid)
		else
			selfSay('Voce nao tem 50k.', cid)
		end
	elseif(getPlayerItemCount(cid, 10311) >= 1) then
		if(doPlayerRemoveMoney(cid, 50000)) then
			local item = getPlayerItemById(cid, true, 10311)
			doTransformItem(item.uid, 10310)
			selfSay('Here you are.', cid)
		else
			selfSay('Voce nao tem 50k.', cid)
		end
	else
		selfSay('Voce nao tem uma luva descarregada.', cid)
	end
	talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
	talkState[talkUser] = 0
	selfSay('Ok.', cid)
end

return true
end

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

 

 

O movement eu catei no otland post do dragaoart, mas tamb n era dele o script, e era um ring nao recarregavel, a montagem dos itens eu fiz e o npc adaptei a partir da soft boots, muito simples porem axo que fico muito bacana, no meu server eu fiz uma quest com varias missoes para a galera suar tentando catar este item, dae nada mais justo que ele poder ser recarregado.

 

Espero q gostem, acabei de terminar este item e apesar de eu ter testado pode haver algum bug.

 

Thx :smile_positivo: GODines :smile_positivo:

Editado por dgprado
Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
×
×
  • Criar Novo...