Postado Abril 12, 2021 4 anos Bom dia/tarde/noite galera ! Bom, gostaria de saber se consigo criar um novo npc que use os diamonds do server para comercializar os itens ao invés do dinheiro normal. Mas que ele abra o trade normalmente para visualizar os itens. (O module Shop) Abraço e agradeço desde já !
Postado Abril 18, 2021 4 anos Da pra fazer porem quando der "trade" o preço dos itens vai ser em golds mas ao comprar vai descontar os diamonds normalmente.
Postado Abril 19, 2021 4 anos Autor 3 horas atrás, WhiteBubble disse: Da pra fazer porem quando der "trade" o preço dos itens vai ser em golds mas ao comprar vai descontar os diamonds normalmente. Acho que ja é um adianto enorme. Se tiver como dar essa força, ficarei mto agradecido.
Postado Abril 21, 2021 4 anos Primeiramente, crie um arquivo com o nome diamonds.lua em npc/scripts e dentro coloque: Spoiler 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 storage = 23254 local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local shopWindow = {} local moeda = 2145 -- ID DOS DIAMONDS. local t = { [2178] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR} [10220] = {price = 200}, [2153] = {price = 10}, } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid) else doPlayerAddItem(cid, item) selfSay("aqui está seu item!", cid) setPlayerStorageValue(cid, 23254,0) 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.price, 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()) Agora em NPCS crie um arquivo com nome de diamonds.xml e dentro adicione: <?xml version="1.0" encoding="UTF-8"?> <npc name="Diamonds seller" script="diamonds.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="10" head="91" body="114" legs="86" feet="0"/> <parameters> <parameter key="message_greet" value="Eae |PLAYERNAME|.Eu troco seus diamonds. Digita {trade}!" /> </parameters> </npc>
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.