Ir para conteúdo

Npc


camapo

Posts Recomendados

Seria isto --> vá em data/npc/ copie qualquer arquivo xml renomeio para NPC Premium e cole isto :

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="NPC Premium" script="data/npc/scripts/NPC Premium.lua" walkinterval="3000" floorchange="0" access="5" >

<health now="150" max="150"/>

<look type="57" head="78" body="86" legs="114" feet="116" addons="0" corpse="2212"/>

<parameters>

<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo {premium account}."/>

<parameter key="message_farewell" value="Ate logo, e volte se quizer comprar premium account."/>

</parameters>

</npc>

 

Agora em npc/script copie qualquer arquivo , renomeio para NPC Premium e cole isto :

 

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

local node1 = keywordHandler:addKeyword({'prem'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para comprar uma premium account fale {GPs}.'})

function creatureSayCallback(cid, type, msg)

p = 150 -- valor da P.A em GP

if(not npcHandler:isFocused(cid)) then

return false

end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

---------- MSGs ----------

if msgcontains(msg, 'gp') or msgcontains(msg, 'gps') or msgcontains(msg, 'GP') or msgcontains(msg, 'GPs') or msgcontains(msg, 'GPS') then

selfSay('Cada dia de premium account custa '..p..' gold coins, quantos dias você deseja comprar?', cid)

talkState[talkUser] = 1

---== compra por GPs ==---

elseif talkState[talkUser] == 1 then

if getNumber(msg) < 365 then

n = getNumber(msg)

if n ~= 0 then

if getPlayerMoney(cid) > p*n then

selfSay('Você deseja mesmo comprar {'..n..'} dias de premium account por {'..n*(p)..'} gold coins?', cid)

talkState[talkUser] = 3

else

selfSay('Desculpe, você não possue dinheiro suficiente para comprar {'..n..'} dias de premium account.', cid)

talkState[talkUser] = 0

end

else

selfSay('Escolha um numero maior que 0.', cid)

talkState[talkUser] = 0

end

else

selfSay('Você não pode ter mais de 360 dias de premium account.', cid)

talkState[talkUser] = 0

end

elseif talkState[talkUser] == 3 then ---== GPs ==---

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or msgcontains(msg, 'SIM') or msgcontains(msg, 'YES') then

if getPlayerPremiumDays(cid)+n <= 360 then

if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then

npcHandler:say('Desculpe, você não tem dinheiro.', cid)

talkState[talkUser] = 0

else

doPlayerAddPremiumDays(cid, n)

selfSay('Você realizou sua compra de { '..n..' } dias de premium account com sucesso.', cid)

talkState[talkUser] = 0

end

else

npcHandler:say('Você não pode ter mais de 360 dias de premium account.', cid)

talkState[talkUser] = 0

end

end

elseif msgcontains(msg, 'no') or msgcontains(msg, 'nao') or msgcontains(msg, 'não') or msgcontains(msg, 'NO') or msgcontains(msg, 'NAO') or msgcontains(msg, 'NÃO')then

selfSay('Okay.', cid)

talkState[talkUser] = 0

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

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...