NPC premium BY ALEX0007
TUTORIAL:
vá em data/npc e copie um arquivo qualquer, renomeie-o para premmy
agora abra-o, exclua tudo dentro e cole isso:
<?xml version="1.0" encoding="UTF-8"?><npc name="premmy" script="data/npc/scripts/premmy.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="Adeus. volte quando precisar de ajuda."/>
</parameters>
</npc>
agora va na pasta data/npc/scripts e copie um arquivo qualquer, renomeie-o para premmy
agora abra-o, exclua tudo dentro e cole isso:
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 = 'Eu vendo premium account somente por {GPs}, infelizmente nao temos outra forma de pagamento.'})
function creatureSayCallback(cid, type, msg)
p = 10000 -- 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('Pois bem, cada dia de premium account custa '..p..' GPs, quantos dias você deseja comprar?', cid)
talkState[talkUser] = 1
---== compra por GPs ==---
elseif talkState[talkUser] == 1 then
if getNumber(msg) < 350 then
n = getNumber(msg)
if n ~= 0 then
if getPlayerMoney(cid) > p*n then
selfSay('Dias de P.A: {'..n..'} por {'..n*(p)..'} GPs?', cid)
talkState[talkUser] = 3
else
selfSay('Você nao tem GPs suficientes para comprar {'..n..'} dias de P.A.', cid)
talkState[talkUser] = 0
end
else
selfSay('Escolha um numero acima de zero.', cid)
talkState[talkUser] = 0
end
else
selfSay('Você nao pode comprar mais que 350 dias de P.A.', 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 <= 350 then
if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then
npcHandler:say('Voce nao tem GPs suficientes!', cid)
talkState[talkUser] = 0
else
doPlayerAddPremiumDays(cid, n)
selfSay('Compra efetuada com sucesso, dias de P.A:{ '..n..' }.', cid)
talkState[talkUser] = 0
end
else
npcHandler:say('Voce nao pode ter mais que 350 dias de Premium!', 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('Tudo bem.', 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
Simulação de conversa:
EU: hi
Premmy: Ola alex. Eu vendo premium account.
EU: premium account
Premmy: Eu vendo premium account somente por GPs, infelizmente nao temos outra forma de pagamento.
EU: gps
Premmy: Pois bem, cada dia de premium account custa 10000 GPs, quantos dias você deseja comprar?
EU: 3
Premmy: Dias de P.A: 3 por 30000 GPs?
EU: sim, yes
Premmy: Compra efetuada com sucesso, dias de P.A:3.
na verdade esse script eu fiz pra ter dois modos de compra (gps e créditos), eu apenas modifiquei um pouco para comprar somente por GPs
NAO testei ainda, mais tenho certeza que finciona
para mudar o outfit do NPC acesse meu script - [action] Criando Outfit Para Npc Facilmente
Qualquer problema favor avisar, que eu arrumarei ;]
















