Postado Agosto 6, 2017 7 anos Ola galera queria uma ajuda de vocês estou criando no meu OT uma porta tipo a 999 do global, mas queria colocar algo significativo para quem for o primeiro a conseguir chegar ao level algo realmente que faca o player gostar e os outros quando ver também se dedicar a conseguir o certo level... Então oque pensei e que queria colocar um item X em um bau e através desse item o player que estiver ele possa falar como se fosse o /b do GOD **OBS: Seria outro comando /player100 xxxxx , queria que em vez da mensagem fosse vermelha colocasse verde para não confundir com o ADM GM GOD falando, que e existisse um exaut/delay para o players que tiver o item não spamar as mensagem e por ultimo se tivesse tipo um tanto de mensagem que pode-se mandar tipo 100 mensagem e depois através de um NPC ou comando algo assim pudesse carregar o item atravez de COIS Isso e opcional se der para fazer colocar seria bacana se não agradeço tudo bem, OBG Editado Agosto 6, 2017 7 anos por F0RG1 (veja o histórico de edições)
Postado Agosto 7, 2017 7 anos Esta é uma mensagem automática! Este tópico foi movido para a área correta.Pedimos que você leia as regras do fórum. Mostrar conteúdo oculto This is an automated message! This topic has been moved to the correct area.Please read the forum rules.
Postado Agosto 7, 2017 7 anos Data/talkactions/scripts PlayerBroadcast.lua Mostrar conteúdo oculto local config = { itemID = 9999, -- id do item necessario cor = "green", -- cor da mensagem de acordo com o constant.lua da lib tempo = 1, -- tempo de delay em minutos storage = 84454, -- storage para armazenar o delay do player storage2 = 84455, -- storage que determina quantos usos do item o player ainda tem } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerItemCount(cid, config.itemID) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode usar o comando sem ter ".. getItemNameById(config.itemID) ..".") return true end if getPlayerItemCount(cid, config.itemID) >= 1 and getPlayerStorageValue(cid, config.storage2) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Acabou sua permissão para usar ".. getItemNameById(config.itemID) ..", compre mais no NPC.") return true end if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 and getPlayerStorageValue(cid, config.storage2) >= 1 then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60)) setPlayerStorageValue(cid, config.storage2, (getPlayerStorageValue(cid, config.storage2)) - 1) doBroadcastMessage(""..getCreatureName(cid)..": "..param.."", config.cor) return true else doPlayerSendCancel(cid, "Espere " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " segundos para falar novamente.") return true end end data/talkactions talkactions.xml <talkaction words="/player100" event="script" value="PlayerBroadcast.lua"/> data/npc Rechargebroad.xml Mostrar conteúdo oculto <?xml version="1.0" encoding="UTF-8"?> <npc name="Recharger" script="Rechargerbroad.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2"> <health now="150" max="150"/> <look type="510" head="115" body="148" legs="39" feet="41"/> <parameters> <parameter key="message_greet" value="Ola jogador, deseja {recarregar}?"/> </parameters> </npc> data/npc/scripts Rechargerbroad.lua Mostrar conteúdo oculto local config = { itemprice = 2160, -- id do dinheiro necessário para recarregar price = 50, -- quantos 'itemprice' será necessário para recarregar itemID = 9999, -- id do item usos = 100, -- quantos usos do comando o player vai comprar storage = 84455, -- storage que salva quantos usos do item o player vai ganhar ( mesmo do storage2 da talkaction) } 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() doCreatureSetLookDirection(getNpcId(), (2)) end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'recarregar') or msgcontains(msg, 'yes')) then selfSay('Voce deseja recarregar seu '.. getItemNameById(config.itemID) ..' por '.. price ..' '.. itemprice ..'?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, config.storage) <= 0 then if(getPlayerItemCount(cid, config.itemID) >= 1) then if(doPlayerRemoveItem(cid, config.itemprice, config.price) == TRUE) then setPlayerStorageValue(cid, config.storage, config.usos) selfSay('Pronto, agora você pode usar por mais '.. config.usos ..' vezes!', cid) else selfSay('Desculpe, mas voce nao tem dinheiro.', cid) end else selfSay('Desculpe, mas voce nao possui '.. getItemNameById(config.itemID) ..'', cid) end else elfSay('Desculpe, mas voce ainda pode usar o comando '.. getPlayerStorageValue(cid, config.storage) ..' vezes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok, obrigado.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Criei sem testar, qualquer coisa só falar. Editado Agosto 11, 2017 7 anos por luangop correções (veja o histórico de edições)
Postado Agosto 7, 2017 7 anos Autor @luangop O único erro que to tento e com o NPC eu add no mapa com o RME ai abro o servidor mas ai quando chego perto com o personagem da ERRO no client do tibia e fecha sozinho tento entra e fica dando erro e fechando, fora isso ta tudo certinho nem um erro na distro obrigado desde já mesmo.. a versao do tibia e 8.6 nao sei se muda alguma coisa Editado Agosto 7, 2017 7 anos por F0RG1 (veja o histórico de edições)
Postado Agosto 8, 2017 7 anos <?xml version="1.0" encoding="UTF-8"?> <npc name="Recharger" script="Rechargerbroad.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2"> <health now="150" max="150"/> <look type="510" head="115" body="148" legs="39" feet="41"/> <parameters> <parameter key="message_greet" value="Ola jogador, deseja {recarregar}?"/> </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.