Ir para conteúdo

Featured Replies

Postado

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 por F0RG1 (veja o histórico de edições)

  • Respostas 9
  • Visualizações 865
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Data/talkactions/scripts PlayerBroadcast.lua data/talkactions talkactions.xml <talkaction words="/player100" event="script" value="PlayerBroadcast.lua"/> data/npc R

  • <?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"/> &l

  • E não aparece nenhum erro na distro? Tente assim:   local config = { itemprice = 2160, -- id do dinheiro necessário para recarregar price = 50, -- quantos 'itemprice' será necessário para

Posted Images

Postado

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

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

Postado

Data/talkactions/scripts

PlayerBroadcast.lua

Spoiler

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

Spoiler

<?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

Spoiler

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 por luangop
correções (veja o histórico de edições)

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Postado
  • 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 por F0RG1 (veja o histórico de edições)

Postado
<?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>

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo