Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Fala galera,

 

Venho compartilhar com vocês o NPC A Sweaty Cyclops 100% idêntico ao global.

 

O NPC precisa das 3 bast skirt para fazer as trocas, exceto o amulet da blue legs, como disse, 100% global.

Para verificar suas ações, pode fazer uma busca sites de spoilers que está funcionando exatamente como descrito.

 

créditos: runeraserver

 

A Sweaty Cyclops.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="A Sweaty Cyclops" script="data/npc/scripts/asweatycyclops.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="22" head="0" body="0" legs="0" feet="0" addons="0"/>
<parameters>
        <parameter key="message_greet" value="Hum Humm! Welcume lil' Player.."/>
        <parameter key="message_farewell" value="Good bye lil' one."/>
    </parameters>
</npc>

asweatycyclops.lua

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
	local storage = getPlayerStorageValue(cid, 52180) -- Storage Quest A Sweaty Cyclops
	local storagexorlosh  = getPlayerStorageValue(cid, 52186) -- Storage Xorlosh Mission
	local valuexorlosh = 1  -- Verifica Value Xorlosh Mission
	local ironore = 5880 -- Iron Ore ID
	local gearwheel = 9690 -- Gear Wheel ID
	
	-- no Quest
	if storage == -1 then
		if msgcontains(msg, 'uth\'lokr')then
			npcHandler:say("Firy steel it is. Need green ones' breath to melt. Or red even better. Me can make from shield. Lil' one want to trade?", cid)
			talkState[talkUser] = 1
		elseif msgcontains(msg, "yes")then	
			if talkState[talkUser] == 1 then
				npcHandler:say("Wait. Me work no cheap is. Do favour for me first, yes?", cid)
				talkState[talkUser] = 2
			elseif talkState[talkUser] == 2 then
				npcHandler:say("Me need gift for woman. We dance, so me want to give her bast skirt. But she big is. So I need many to make big one. Bring three okay? Me wait.", cid)
				talkState[talkUser] = 3
			elseif talkState[talkUser] == 4 then
				if getPlayerItemCount(cid,3983) >= 3 then
					npcHandler:say("Good good! Woman happy will be. Now me happy too and help you.", cid)
					doPlayerRemoveItem(cid,3983,3)
					setPlayerStorageValue(cid, 52180, 1)
					talkState[talkUser] = 0
				else
					npcHandler:say("You do not have the gifts of my girlfriend.", cid)
				end
			elseif talkState[talkUser] == 10 then
				if getPlayerItemCount(cid,2152) >= 50 and getPlayerItemCount(cid,8262) >= 1 and getPlayerItemCount(cid,8263) >= 1 and getPlayerItemCount(cid,8264) >= 1 and  getPlayerItemCount(cid,8265) >= 1 then
					npcHandler:say("Ahh, lil' one wants amulet. Here! Have it! Mighty, mighty amulet lil' one has. Don't know what but mighty, mighty it is!!!", cid)
					doPlayerRemoveItem(cid,8262,1)
					doPlayerRemoveItem(cid,8263,1)
					doPlayerRemoveItem(cid,8264,1)
					doPlayerRemoveItem(cid,8265,1)
					doPlayerRemoveItem(cid,2152,50)
					doPlayerAddItem(cid,8266,1)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			end
		elseif msgcontains(msg, "bast skirt")then
			if talkState[talkUser] == 3 then
				npcHandler:say("Lil' one bring three bast skirts?", cid)
				talkState[talkUser] = 4
			end
		elseif msgcontains(msg, "broken") or msgcontains(msg, "amulet") then
			npcHandler:say("Me can do unbroken but Big Ben want 5000 gold to make it unbroken. You accept??", cid)
			talkState[talkUser] = 10
		elseif msgcontains(msg, "no") then 
			npcHandler:say("What do you want here?", cid)
		elseif msgcontains(msg, "help") then 
			npcHandler:say("I can forge Amulet, Huge Chunk of Crude Iron, Piece of Draconian Steel, Piece of Royal Steel, Piece of Hell Steal and Infernal Bolts!", cid)
		elseif msgcontains(msg, "uth'kean") or msgcontains(msg, "za'ralator") or msgcontains(msg, "uth'prta") or msgcontains(msg, "soul orb") then
			npcHandler:say("I need 3 bart skirt so I can help you.", cid)
		elseif(msgcontains(msg, "iron ore") or msgcontains(msg, "gear wheel") or msgcontains(msg, "gear wheels")) then 
			npcHandler:say("You do not have the gifts of my girlfriend.", cid)
			talkState[talkUser] = 0
		end
	end
	-- True Quest
	if storage == 1 then
		--Gear Wheel
		if(msgcontains(msg, "iron ore") or msgcontains(msg, "gear wheel") or msgcontains(msg, "gear wheels")) then 
			if getPlayerStorageValue(cid,storagexorlosh) > 0 then
				if getPlayerStorageValue(cid, storagexorlosh) < 4 then
					npcHandler:say("Want to trade iron ore by gear wheel?", cid)
					talkState[talkUser] = 90
				else
					npcHandler:say("You've traded 3 Iron Ores with me", cid)
				end
			else
				npcHandler:say("Go to talk with Xorlosh", cid)
			end
		--Amulet
		elseif msgcontains(msg, "broken") or msgcontains(msg, "amulet") then talkState[talkUser] = 10
			npcHandler:say("Me can do unbroken but Big Ben want 5000 gold to make it unbroken. You accept??", cid)
		--Piece of Royal Steel
		elseif msgcontains(msg, "uth'kean") then talkState[talkUser] = 20
			npcHandler:say("Very noble. Shiny. Me like. But breaks so fast. Me can make from shiny armour. Lil' one want to trade?", cid)
		--Piece of Draconian Steel
		elseif msgcontains(msg, "uth'lokr") then talkState[talkUser] = 30
			npcHandler:say("Firy steel it is. Need green ones' breath to melt. Or red even better. Me can make from shield. Lil' one want to trade?", cid)
		--Piece of Hell Steel
		elseif msgcontains(msg, "za'ralator") then talkState[talkUser] = 40
			npcHandler:say("Hellsteel is. Cursed and evil. Dangerous to work with. Me can make from evil helmet. Lil' one want to trade?", cid)
		--Huge Chunk of Crude Iron
		elseif msgcontains(msg, "uth'prta") then talkState[talkUser] = 50
			npcHandler:say("Good iron is. Me friends use it much for fight. Me can make from weapon. Lil' one want to trade?", cid)
		--Infernal Bolts
		elseif msgcontains(msg, "soul orb") then talkState[talkUser] = 60
			npcHandler:say("Uh. Me can make some nasty lil' bolt from soul orbs. Lil' one want to trade all?", cid)
		--Help
		elseif msgcontains(msg, "help") then 
			npcHandler:say("I can forge Amulet, Huge Chunk of Crude Iron, Piece of Draconian Steel, Piece of Royal Steel, Piece of Hell Steal and Infernal Bolts!", cid)
		--No
		elseif msgcontains(msg, "no") then 
			npcHandler:say("What do you want here?", cid)
		--Yes
		elseif msgcontains(msg, "yes") then
			--Piece of Royal Steel
			if talkState[talkUser] == 20 then
				if getPlayerItemCount(cid,2487) >= 1 then
					doPlayerRemoveItem(cid,2487,1)
					doPlayerAddItem(cid,5887,1)
					npcHandler:say("Cling clang!", cid)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Piece of Draconian Steel
			elseif talkState[talkUser] == 30 then
				if getPlayerItemCount(cid,2516) >= 1 then
					doPlayerRemoveItem(cid,2516,1)
					doPlayerAddItem(cid,5889,1)
					npcHandler:say("Cling clang!", cid)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Piece of Hell Steel
			elseif talkState[talkUser] == 40 then
				if getPlayerItemCount(cid,2462) >= 1 then
					doPlayerRemoveItem(cid,2462,1)
					doPlayerAddItem(cid,5888,1)
					npcHandler:say("Cling clang!", cid)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Huge Chunk of Crude Iron
			elseif talkState[talkUser] == 50 then
				if getPlayerItemCount(cid,2475) >= 3 then
					doPlayerRemoveItem(cid,2475,3)
					doPlayerAddItem(cid,5892,1)
					npcHandler:say("Cling clang!", cid)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Infernal Bolts
			elseif talkState[talkUser] == 60 then
				if getPlayerItemCount(cid,5944) >= 1 then
					doPlayerRemoveItem(cid,5944,1)
					doPlayerAddItem(cid,6529,6)
					npcHandler:say("Cling clang!", cid)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Amulet	
			elseif talkState[talkUser] == 10 then
				if getPlayerItemCount(cid,2152) >= 50 and getPlayerItemCount(cid,8262) >= 1 and getPlayerItemCount(cid,8263) >= 1 and getPlayerItemCount(cid,8264) >= 1 and  getPlayerItemCount(cid,8265) >= 1 then
					npcHandler:say("Ahh, lil' one wants amulet. Here! Have it! Mighty, mighty amulet lil' one has. Don't know what but mighty, mighty it is!!!", cid)
					doPlayerRemoveItem(cid,8262,1)
					doPlayerRemoveItem(cid,8263,1)
					doPlayerRemoveItem(cid,8264,1)
					doPlayerRemoveItem(cid,8265,1)
					doPlayerRemoveItem(cid,2152,50)
					doPlayerAddItem(cid,8266,1)
				else
					npcHandler:say("Come back when you got the neccessary items.", cid)
				end
			--Gear Wheel
			elseif talkState[talkUser] == 90 then
				if getPlayerItemCount(cid,ironore) >= 1 then
					setPlayerStorageValue(cid, 52186, valuexorlosh + 1)
					doPlayerAddItem(cid, gearwheel, 1)
					doPlayerRemoveItem(cid, ironore, 1)
					npcHandler:say("Here's your Gear Wheel", cid)
					talkState[talkUser] = 0
				else
					npcHandler:say("You've traded 3 Iron Ores with me", cid)
					talkState[talkUser] = 0
				end
			end
		end
	end
	return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado por runeraserver (veja o histórico de edições)

Precisa de ajuda? Poste a versão de seu TFS.

*************************************************************************************************************

 

Servidores? Eu indico:

logo2.png

Use o cupom TIBIAKING e receba 50% de desconto na primeira mensalidade!

Pague menos de R$ 19,00 no primeiro mês!

 

protecaoddos.jpg afiliados.jpg

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por Heyron
      Elysia OT (Global Full 8.60)   IP: elysiaot-global.servegame.com   ✔︎ Login pelo Account Manager 1/1, não temos site. ✔︎ Login zerado é Cast System.   XP (Rates): Stages = Sim Experience = 50.0 Skill = 15.0 Magic = 5.0 Loot = 1.0 Spawn = 1.0 Protection Level: 30   ✔︎ Sem itens VIP. ✔︎ Premiação ao upar nível 20, 50 e 80. ✔︎ Itens iniciais por vocação. ✔︎ Free Bless até o level 50. ✔︎ Danos de spells balanceados. ✔︎ Sem fast attack ou ataque rápido (padrão 2seg). ✔︎ Sem itens infinitos, exceto munição de Paladin.           Jogue agora!   IP: elysiaot-global.servegame.com Versão: 8.60      
    • Por Johncore
      Otg Server é um projeto fork do The Forgotten Server 1.3, feito por brasileiros que visam sempre por estabilidade, um código mais clean, temos no projeto várias Datapacks como
      Global 11.0, Global 8.6, Global 8.0, RadBR 11.0, Evolutions 11.0, Yurots Classic 11.0, nossa base também é excelente para rodar projetos que são mapa Baiak ou ATS Custom pelo baixissimo uso de cpu e fix do Decay de itens.

      Todos são bem vindos para colaborar com o projeto... que não visa nenhum lucro financeiro, queremos apenas colaborar com a comunidade OTSERV,
      temos ouvido de muitas pessoas que procuram uma base estável, limpa, esse é o nosso objetivo nesse projeto.
       
      Estamos a procura de programadores/dev/webmaster que queiram ajudar / que tenham tempo e serão recompensados por isso.
       
      Nossa Datapack principal Global 11.00 contem as seguintes features:
      CAST SYSTEM ✅
      AUTOLOOT ✅
      WINTER UPDATE 2023 ✅
      SUMMER UPDATE 2023 ✅
      ADDONS 13.22 UPDATE ✅
      MONTARIAS 13.22 UPDATE ✅
      ITEMS 13.22 UPDATE ✅
      DAILY REWARD ✅
      IMBUEMENTS ✅
      PREY ✅
      EXERCISE WEAPONS ✅
      HIRELINGS NPCS ✅
      ANTI ROLLBACK ✅
       
       
      Github Global 11x:  💾
      https://github.com/otg-br/global-11x
      Clients e outras ferramentas:  💾
      https://github.com/otg-br/tools
      Github Otg Gesior:  💾
      https://github.com/otg-br/gesior
      Github Otg Otclientv8:  💾
      https://github.com/otg-br/otclientv8
      Wiki Otg:  💾
      https://github.com/otg-br/global-11x/wiki
       
       
      Creditos:
      TFS Team Erick Nunes Gui Bruxo Worthdavi LuSKT Leo Pereira Luan Luciano Cjaker Comedinhas Nekiro OTG Colaborators
    • Por Kralifezik1
      sfddfg
    • Por Adriano SwaTT
      Procurei aqui pelo forum, e não achei um NPC de Bank que fosse tão perfeito como este que estou postando...
      Eu mesmo havia postado há alguns dias atrás um NPC de Bank, mas não é tão bom quanto este...

      Detalhes do NPC:
      Executa as funções como do Tibia Global.
      Deposit, Transfer, Withdraw, Change Gold, Change Platinum, Change Crystal...

      Funcionando perfeitamente...
      #Testado'

      Vamos ao que interessa.

      Crie um arquivo chamado "bank.xml" na pasta "data / npc"... Cole o código abaixo dentro do arquivo:
      <?xml version="1.0" encoding="UTF-8"?> <npc name="BankMan" script="data/npc/scripts/bank.lua" walkinterval="25" floorchange="0" access="5" > <health now="150" max="150"/> <look type="132" head="115" body="0" legs="114" feet="0" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|! Here, you can {deposit}, {withdraw} or {transfer} your money from your bank account. I can change your coins too."/> <parameter key="message_alreadyfocused" value="You are drunked ? I talk with you."/> <parameter key="message_farewell" value="Goodbye. I wanna see your money... oh you again."/> </parameters> </npc> Salve e feche o arquivo.

      Agora vá na pasta Scripts e crie um arquivo chamado "bank.lua" e cole o código abaixo dentro do mesmo:
       
      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 --------------------MESSAGES------------------------------------------------------------------------------ if msgcontains(msg, 'deposit') then selfSay('Please tell me how much gold it is you would like to deposit.', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'withdraw') then selfSay('Please tell me how much gold you would like to withdraw.', cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'transfer') then selfSay('Please tell me the amount of gold coins you would like to transfer.', cid) talkState[talkUser] = 5 elseif msgcontains(msg, 'change gold') then selfSay('How many platinum coins do you want to get?', cid) talkState[talkUser] = 8 elseif msgcontains(msg, 'change platinum') then selfSay('Do you want to change your platinum coins to gold or crystal?', cid) talkState[talkUser] = 10 elseif msgcontains(msg, 'change crystal') then selfSay('How many crystal coins do you want to change to platinum?', cid) talkState[talkUser] = 15 elseif msgcontains(msg, 'balance') then n = getPlayerBalance(cid) selfSay('Your balance are '..n..' golds.', cid) talkState[talkUser] = 0 ----------------------DEPOSIT------------------------------------------------------- elseif talkState[talkUser] == 1 then if msgcontains(msg, 'all') then n = getPlayerMoney(cid) selfSay('Do you want deposit '..n..' golds ?', cid) talkState[talkUser] = 2 else n = getNumber(msg) selfSay('Do you want deposit '..n..' golds ?', cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 2 then if msgcontains(msg, 'yes') then if getPlayerMoney(cid) >= n then doPlayerDepositMoney(cid,n) selfSay('Sucessfull. Now your balance account is ' ..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) end else selfSay('Ok then', cid) end ----------------------WITHDRAW------------------------------------------------------------------------------------- elseif talkState[talkUser] == 3 then if msgcontains(msg, 'all') then n = getPlayerBalance(cid) selfSay('Do you want withdraw '..n..' golds ?', cid) talkState[talkUser] = 4 else n = getNumber(msg) selfSay('Do you want withdraw '..n..' golds ?', cid) talkState[talkUser] = 4 end elseif talkState[talkUser] == 4 then if msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= n then doPlayerWithdrawMoney(cid, n) selfSay('Here you are, '..n..' gold. Now your balance account is ' ..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('There is not enough gold on your account', cid) end else selfSay('Ok then', cid) end ----------------------TRANSFER---------------------------------------------------------------------------------------- elseif talkState[talkUser] == 5 then if msgcontains(msg, 'all') then n = getPlayerBalance(cid) selfSay('Who would you like transfer '..n..' gold to?', cid) talkState[talkUser] = 6 else n = getNumber(msg) selfSay('Who would you like transfer '..n..' gold to?', cid) talkState[talkUser] = 6 end elseif talkState[talkUser] == 6 then p = msg selfSay('So you would like to transfer '..n..' gold to '..p..'?', cid) talkState[talkUser] = 7 elseif talkState[talkUser] == 7 then if msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= n then if doPlayerTransferMoneyTo(cid, p, n) == TRUE then selfSay('You have transferred '..n..' gold to '..p..' and your account balance is '..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('This player does not exist. Please tell me a valid name!', cid) talkState[talkUser] = 0 end else selfSay('There is not enough gold on your account', cid) talkState[talkUser] = 0 end else selfSay('Ok then', cid) talkState[talkUser] = 0 end ----------------------CHANGE GOLD--------------------------------------------------------------------------------- elseif talkState[talkUser] == 8 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..b..' of your gold coins to '..n..' platinum coins for you?', cid) talkState[talkUser] = 9 elseif talkState[talkUser] == 9 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2148, b) == TRUE then doPlayerAddItem(cid, 2152, n) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end ---------------------CHANGE PLATINUM------------------------------------------------------------------------- elseif talkState[talkUser] == 10 then if msgcontains(msg, 'gold') then selfSay('How many platinum coins do you want to change to gold?', cid) talkState[talkUser] = 11 elseif msgcontains(msg, 'crystal') then selfSay('How many crystal coins do you want to get?', cid) talkState[talkUser] = 13 end elseif talkState[talkUser] == 11 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..n..' of your platinum coins to '..b..' gold coins for you?', cid) talkState[talkUser] = 12 elseif talkState[talkUser] == 12 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, n) == TRUE then doPlayerAddItem(cid, 2148, b) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 13 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..b..' of your platinum coins to '..n..' crystal coins for you?', cid) talkState[talkUser] = 14 elseif talkState[talkUser] == 14 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, b) == TRUE then doPlayerAddItem(cid, 2160, n) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end ---------------------CHANGE CRYSTAL------------------------------------------------------------------------------- elseif talkState[talkUser] == 15 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..n..' of your crystal coins to '..b..' platinum coins for you?', cid) talkState[talkUser] = 16 elseif talkState[talkUser] == 16 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2160, n) == TRUE then doPlayerAddItem(cid, 2152, b) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -- function maded by Gesior-- function getNumber(txt) --return number if its number and is > 0, else return 0 x = string.gsub(txt,"%a","") x = tonumber(x) if x ~= nill and x > 0 then return x else return 0 end end  
       
       

      Salve o arquivo e feche-o.

      Agora seu NPC está pronto, basta adicioná-lo ao seu mapa usando o Map Editor.
      Espero que seja de utilidade de alguém...

      Créditos: Tibiaa4e (outro forum)
      Pequeno Tuto: Adriano Swatt
       
      Testado em:
      Versões do Client: 8.54 e 8.60.
      Versões da Distro: TFS 3.4.5, TFS 0.4 e Alissow 0.4.1.

      Espero que seja útil.


      Abraços'
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo