Ir para conteúdo
  • Cadastre-se

(Resolvido)[AJUDA] preciso de um Npc que venda por points


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Iaew Galera do TK fmz?

 Venho mais uma vez pedir ajuda a vcs, 

preciso de um Npc que venda itens para um player por certa quantia de points retirados do Site.

e só venda o item se o player tiver espaço na BP.

 

e se possivel um npc igual a ele, só que vendesse Vocation por points.

 

Obs: é o item que da a vocation para o player, mas tenho medo que alguem consiga clonar itens e clone o item da voca. então se for ter que escolher entre 1 dos 2 npcs sugeridos.

preferia o que vendesse a voca. que é + seguro. agradecido.

 

Informações:

servidor DBO 8.60

Tfs 0.4

Link para o post
Compartilhar em outros sites

Eu fiz esse NPC para vender vocações pelos pontos no Site, você postou e logo fui criar ele, e postei para toda a galera usar, está faltando somente a Moderação aprovar, tutorial bem explicado, eu acho. Kkkk, fácil de usar. Bom, o de vocações eu entendo, evita que o Player clone o Item que vai transforma ele na vocação vip, agora itens são itens, vai ser Clonado de qualquer jeito se seu server tiver algum Bug, então deixa ser comprado pelo site mesmo que é mais bonitinho! 

 

xD

Editado por KotZletY (veja o histórico de edições)

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
14 horas atrás, KotZletY disse:

Eu fiz esse NPC para vender vocações pelos pontos no Site, você postou e logo fui criar ele, e postei para toda a galera usar, está faltando somente a Moderação aprovar, tutorial bem explicado, eu acho. Kkkk, fácil de usar. Bom, o de vocações eu entendo, evita que o Player clone o Item que vai transforma ele na vocação vip, agora itens são itens, vai ser Clonado de qualquer jeito se seu server tiver algum Bug, então deixa ser comprado pelo site mesmo que é mais bonitinho! 

 

xD

tlg, mas não tenho mt experiencia em editar site. e no servidor ficaria mais simples tanto pra min quanto para os Players.

1 npc para cada vocação.

 

vou esperar a moderação aprovar seu Npc pra facilitar :D. assim q for aprovado pf mandar link.

Link para o post
Compartilhar em outros sites

claro que dá, vc usa aquele sistema de premium_point que é pelo site ne

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Vodkart disse:

claro que dá, vc usa aquele sistema de premium_point que é pelo site ne

sim. uso um sistema basico que ja vem nos Ots.

 de points no site e etc.

problema q n manjo em Scripts :s 

Link para o post
Compartilhar em outros sites
  • Solução

quer pelo trade say né? aquele que vc fla tipo

 

hi

sword

yes

tem esse aqui que é por trade normal, mas tem que ter GP na bp

 

 

lib

function getAccountPoints(cid)
local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'')
return res:getDataInt("premium_points") < 0 and 0 or res:getDataInt("premium_points")
end
function doAccountRemovePoints(cid, count)
return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
end

 

Npc:

 

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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid,string.lower(msg)
local shopWindow = {}
local t = {
[2195] = 1,
[2493] = 25,
[2361] = 30,
[8851] = 20,
[8925] = 30,
[2640] = 50,
[2494] = 100,
[9932] = 50,
[2472] = 70,
[8931] = 100
}
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if t[item] and getAccountPoints(cid) < t[item] then
selfSay("You need "..t[item].." points to buy this item.", cid)
else
doAccountRemovePoints(cid, t[item])
doPlayerAddItem(cid, item)
selfSay("Here your item!", cid)
end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
Em 07/11/2016 ás 21:38, Vodkart disse:

quer pelo trade say né? aquele que vc fla tipo

 

hi

sword

yes

tem esse aqui que é por trade normal, mas tem que ter GP na bp

 

 

lib


function getAccountPoints(cid)
local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'')
return res:getDataInt("premium_points") < 0 and 0 or res:getDataInt("premium_points")
end
function doAccountRemovePoints(cid, count)
return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
end

 

Npc:

 


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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid,string.lower(msg)
local shopWindow = {}
local t = {
[2195] = 1,
[2493] = 25,
[2361] = 30,
[8851] = 20,
[8925] = 30,
[2640] = 50,
[2494] = 100,
[9932] = 50,
[2472] = 70,
[8931] = 100
}
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if t[item] and getAccountPoints(cid) < t[item] then
selfSay("You need "..t[item].." points to buy this item.", cid)
else
doAccountRemovePoints(cid, t[item])
doPlayerAddItem(cid, item)
selfSay("Here your item!", cid)
end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


 

é tipo isso mesmo que eu quero. mas poderia me explicar como é a instalação da Lib? tipo tenho q criar uma e por ela ou tenho q colocar ela dentro de outra seilá.

 e se possivel ensinar a editar o Npc.  ja tou lhe dando Rep+ pelo script.

Link para o post
Compartilhar em outros sites

a lib vc vai na pasta LIB e coloca em 050-function.lua

adc lá no finalzinho as funções.

 

pra editar vc vem aqui:

 

 

local t = {
[2195] = 1,
[2493] = 25,
[2361] = 30,
[8851] = 20,
[8925] = 30,
[2640] = 50,
[2494] = 100,
[9932] = 50,
[2472] = 70,
[8931] = 100
}

 

 

[ID DO ITEM QUE SERÁ VENDIDO] = QUANTIDADE DE POINTS

 

lembrando que tem que ter os gp's na BP, se vc quiser pelo trade-say eu tbm posso fazer

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
9 horas atrás, Vodkart disse:

a lib vc vai na pasta LIB e coloca em 050-function.lua

adc lá no finalzinho as funções.

 

pra editar vc vem aqui:

 

 


local t = {
[2195] = 1,
[2493] = 25,
[2361] = 30,
[8851] = 20,
[8925] = 30,
[2640] = 50,
[2494] = 100,
[9932] = 50,
[2472] = 70,
[8931] = 100
}

 

 

[ID DO ITEM QUE SERÁ VENDIDO] = QUANTIDADE DE POINTS

 

lembrando que tem que ter os gp's na BP, se vc quiser pelo trade-say eu tbm posso fazer

Vlw mano, funcionou perfeitamente. Rep+ dnv pra vc :D

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo