Eae Galera blz ? Eu queria perguntar a vocês se é possivel criar um NPC que venda item e quando o player comprar, ele adicionar o o nome do player no ifnal do nome do item, tipo site, será que tem como ? desde já, orbigado!
[Resolvido] NPC que vende itens e add nome do player no item

Configure as frases, o item, o preço como quiser:
vendeItem.lua
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidlocal t = {item = 2154, -- item que vai ser dado ao playermoney = 10000 -- preço (gold coins)} if(msgcontains(msg, 'item') or msgcontains(msg, 'ITEM')) then -- configure para o que quiser selfSay('Do you want to buy item for this price?', cid) -- configure aqui talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveMoney(cid, t.money)) then local item_desc = doPlayerAddItem(cid, t.item, 1) doItemSetAttribute(item_desc, "description", "This item belongs to " .. getPlayerName(cid) ..".") selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough gold.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())

Em 04/08/2017 at 23:09, Leoxtibia disse:Configure as frases, o item, o preço como quiser:
vendeItem.lua
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cidlocal t = {item = 2154, -- item que vai ser dado ao playermoney = 10000 -- preço (gold coins)} if(msgcontains(msg, 'item') or msgcontains(msg, 'ITEM')) then -- configure para o que quiser selfSay('Do you want to buy item for this price?', cid) -- configure aqui talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveMoney(cid, t.money)) then local item_desc = doPlayerAddItem(cid, t.item, 1) doItemSetAttribute(item_desc, "description", "This item belongs to " .. getPlayerName(cid) ..".") selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough gold.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
Mano... perfeito! Muito obrigado, e desculpa por demora para responder, min desculpe mesmo por favor, agora uma duvida Tem como por para vender mais de um item ? Se poder poderia editar a script para min ? por favor !?
Este sistema tem como clocar para itens comprados no shop do site gesior?
2 horas atrás, Henrique Gomes disse:Mano... perfeito! Muito obrigado, e desculpa por demora para responder, min desculpe mesmo por favor, agora uma duvida
Tem como por para vender mais de um item ? Se poder poderia editar a script para min ? por favor !?
<?xml version="1.0" encoding="UTF-8"?><npc name="Dwarfer" script="vendeItem.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="66"/> <parameters> <parameter key="message_greet" value="Hail, |PLAYERNAME|. Let's make a deal? Say {trade} if you are ready." /> </parameters></npc>
vendeItem.lua
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal shopWindow = {}local money = 2160 -- ID_da_moedalocal t = {[2154] = {price = 15}, -- [ID_DO_ITEM_QUE_SERÁ_VENDIDO] = {price = preço}[2158] = {price = 25},[2155] = {price = 70},[2156] = {price = 100},}local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)if t[item] and not doPlayerRemoveItem(cid, money, t[item].price) thenselfSay("You need "..t[item].price.." "..getItemNameById(money)..".", cid)elselocal bought = doPlayerAddItem(cid, item)doItemSetAttribute(bought, "description", "This item belongs to " .. getPlayerName(cid) ..".")selfSay("Here you go.", cid)endreturn trueendif (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))thenfor var, ret in pairs(t) dotable.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})endopenShopWindow(cid, shopWindow, onBuy, onSell)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())

Funcionou Perfeitamente mano, Muito Obrigado!
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.
"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.
Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.
Deus é pai, mas abandonou seus filhos a servidão.
Deus é vida, mas condenou a humanidade a morte.
Deus é o senhor. Senhor das guerras, da morte, do ódio.
Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.
Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.
Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."