HA
pedido

Npc De Reparar Soft Boots Por 1K!

Por hadamais, 11 de out. de 2012 em Scripts

problemas
resolvido
script
9
1.6k
hadamaisH
11 de outubro de 2012 às 23:56

Bom estou tentando criar um npc ja tem dias,

e sempre que entro no remes (Arquivo de programas) e tenta salvar em creatures

 

Da Acesso Negado pra mim!

 

É erro meu?

Me passa um script de npc simples, e que funcione?

 

Obrigado!

 

Distro Real Server 3.0

 

8.6

Piabeta KunP
12 de outubro de 2012 às 06:23

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, 'soft') or msgcontains(msg, 'boots')) then
	selfSay('Do you want to repair your worn soft boots for 10000 gold coins?', cid)
	talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
	if(getPlayerItemCount(cid, 6530) >= 1) then
		if(doPlayerRemoveMoney(cid, 1000)) then
			local item = getPlayerItemById(cid, true, 6530)
			doTransformItem(item.uid, 6132)
			selfSay('Here you are.', cid)
		else
			selfSay('Sorry, you don\'t have enough gold.', cid)
		end
	elseif(getPlayerItemCount(cid, 10021) >= 1) then
		if(doPlayerRemoveMoney(cid, 1000)) then
			local item = getPlayerItemById(cid, true, 10021)
			doTransformItem(item.uid, 6132)
			selfSay('Here you are.', cid)
		else
			selfSay('Sorry, you don\'t have enough gold.', cid)
		end
	elseif(getPlayerItemCount(cid, 6132) >= 1) then
		if(doPlayerRemoveMoney(cid, 1000)) then
			local item = getPlayerItemById(cid, true, 6132)
			doPlayerRemoveItem(cid,6132, 1)
			doPlayerAddItem(cid, 6132, 1)
			selfSay('Here you are.', cid)
		else
			selfSay('Sorry, you don\'t have enough gold.', cid)
		end
	else
		selfSay('Sorry, you don\'t have the item.', cid)
	end
	talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
	talkState[talkUser] = 0
	selfSay('Ok then.', cid)
end

return true
end

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

Espero que funcione!

Editado Outubro 12 por PiabetaMan01

hadamaisH
12 de outubro de 2012 às 10:18

Acho que falta muita coisa nisso ai.

qual é o .lua dele?

e o xml?

Nome?

 

Por favor.

Piabeta KunP
12 de outubro de 2012 às 10:41

mano basta voce por o nome que quizer, crie um npc com o nome que quizer e coloque o diretorio que quizer, eu ja postei o codigo, basta testar! ¬¬

 

eu nem sou scripter to passndo aqui pra dar uma força!

hadamaisH
12 de outubro de 2012 às 11:08

E depois pra importar ele no Remeres, como faz?

Piabeta KunP
12 de outubro de 2012 às 13:38

basta seguir oq eu te falei add os unique ids e acion ids citados nos items que teram as ações como na minha explicação

hadamaisH
12 de outubro de 2012 às 16:43

Não entendi nada, desculpa.

 

Colokei na talkaction, ficou melhor. Podem fexar, mas obrigado pela ajuda!

fokus090F
13 de outubro de 2012 às 19:03

Reportado para Moverem!

 

Abraços !

caoticC
13 de outubro de 2012 às 19:13

Tópico movido para a seção de dúvidas e pedidos resolvidos.