Ir para conteúdo

Pedido De Script De Npc


MichelFelipe

Posts Recomendados

Opa pessoal...

 

Vim aqui pedir se alguma alma boa do Xtibia pode me ajudar em 1 script de npc...

 

Assim 1 NPC que quando fala hi, ele diga uma msgem falando que vende VIP

 

dai o player diz VIP e ele fala que custa 10 vip coins...

 

dai o player fala yes... ele remove 10 scarab coins (2159) e add 1 storage no player... (ou que faça que nem o script do antigo Jhonny que vende Premmy ele era como um gm no script dele quando o player falava yes ele fala /premmy nome...) dai no caso o npc fosse access de gm e falasse /vip

 

Obs: so falta o NPC o arquivo da VIP eu ja tenho quero so 1 que o NPC adicione vip (adicionar com o gm e chato...)

 

Qualquer coisa (eu sou meio inrolado) postem aqui

 

Me ajudem Please ;D

Link para o comentário
Compartilhar em outros sites

Não faço idéia de como é seu sistema vip, se passasse daria pra fazer completo.

Então é só alterar a parte onde muda o storage value.

 

npcvip.xml

<?xml version="1.0"?>
<npc name="Nome do NPC" script="npcvip.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="17" body="54" legs="114" feet="0" addons="2"/>

<parameters>
	<parameter key="message_greet" value="Ola |PLAYERNAME|. Vendo {vip}." />
</parameters>
</npc>

 

npcvip.lua

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 talkState = {}
local price = 10
local coinId = 2159
local storageVip = 100000

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, 'vip') then
	selfSay('A VIP custa '..price..' vip coins. Deseja comprar?', cid)
	talkState[talkUser] = 1
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
	if getPlayerItemCount(cid, coinId) >= price then
		doPlayerRemoveItem(cid, coinId, price)
		doPlayerSetStorageValue(cid, storageVip, getPlayerStorageValue(cid, storageVip)+10)
		selfSay('Sua VIP foi adicionada!', cid)
	else
		selfSay('Você não possui '..price..' vip coins.', cid)
	end
	talkState[talkUser] = 0
elseif msgcontains(msg, 'no') and talkState[talkUser] == 1 then
	selfSay('Ok.', cid)
	talkState[talkUser] = 0
end
return true
end

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

Link para o comentário
Compartilhar em outros sites

Muito obrigado cara... Irei testar aqui ve se funciona 8.54...

 

Meu sistema VIP é basico, tinha um comnando em que o GM usava o comando /vip nome do char ... e adicionava o storage no char VIP e dai depois de 30 dias ele volta pro storage normal e voltava pro town inicial...

 

Vo confessar que peguei do noobinhu esse sistema...

 

Umas das únicas coisas que não fui eu que fiz no meu ATS...

 

Mais valeu ai cara... vou testar ai eu edito...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...