Ir para conteúdo
  • Cadastre-se

Talkaction Jail System & Talkaction - TFS 1.3


Posts Recomendados

Olá!

 

Boa tarde à todos.

 

Como vocês estão?

 

Pessoal,

 

Não sei se estou com o título correto ou algo do tipo (foi o melhor que pensei).

 

Gostaria de solicitar uma Talkaction/System que mandaria o player para a Jail e retirasse 15% da XP TOTAL do player.


Eu tenho uma prisão montada e só falta os comandos e o sistema.

 

A Versão do servidor é uma das mais recentes: 12.1/12.15.

 

Teria como me ajudar com algo? 

 

Desde já,

 

agradeço a compreensão.

Link para o post
Compartilhar em outros sites

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

Spoiler

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

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
  • Moderador
13 horas atrás, movie disse:

Posso tentar fazer no final de semana. Outra coisa, ele ficaria um tempo determinado ou você iria determinar no comando? Se for no comando, seria de horas ou dias?

 


Oi,

 

Bom dia!

Obrigado pela resposta.

Iria determinar no comando e seria por dias. Por exemplo: 1 dia, 2 dias, 3 dias, 7 dias, 14 dias e 21 dias.

E também teria a possibilidade de criar o /unjail no mesmo e manda-lo para o templo?

Obrigado, mesmo.

Editado por Gabriel Farre
Correção de informações. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Moderador

Tentarei criar o seguinte comando então:

 

/jail nome,tempo

/unjail nome

 

 

Outra coisa, o PVP será aberto na prisão? 

Fiz aqui rapidinho sendo que a prisão não é PVP.

 

Em talkactions, crie um arquivo lua com o nome jail.lua

local posPrison = Position(x,y,z)

function onSay(player, words, param)
	if not player:getGroup():getAccess() then
		return true
	end

	if player:getAccountType() < ACCOUNT_TYPE_GOD then
		return false
	end
	
	local split = param:split(",")
	local preso = (split[1])
	local tempo = (split[2])
	tempo = tempo * 60 * 24
	
	if not preso then
		player:sendCancelMessage("A player with that name is not online.")
		return false
	end
	
	if not tempo then
		player:sendCancelMessage("Insufficient parameters.")
		return false
	end
	
	if preso:getStorageValue(41234) > os.time() then
		player:sendCancelMessage("The player ".. preso .." is already arrested.")
		return false
	end
	if preso and tempo then
		preso:setStorageValue(41234, (tempo) + os.time())
		preso:getPosition():sendMagicEffect(11)
		preso:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You were arrested until ".. tempo .." days.")
		preso:teleportTo(posPrison)
		posPrison:sendMagicEffect(11)
	else
		player:sendCancelMessage("You need to inform the player and the time (in days) he will be stuck.")
	end
	
	return true
end

 

Em talkactions, crie um arquivo lua com o nome unjail.lua

function onSay(player, words, param)
	if not player:getGroup():getAccess() then
		return true
	end

	if player:getAccountType() < ACCOUNT_TYPE_GOD then
		return false
	end
	
	local targetPlayer = Player(param)
	
	if targetPlayer == nil then
		return false
	end
	
	if not targetPlayer then
		player:sendCancelMessage("Insufficient parameters.")
		return false
	end
	
	if targetPlayer:getStorageValue(41234) <= os.time() then
		player:sendCancelMessage("The player ".. targetPlayer .." is already free.")
		return false
	end
	
	local town = targetPlayer:getTown():getTemplePosition()
	
	if targetPlayer then
		targetPlayer:setStorageValue(41234, 0)
		targetPlayer:getPosition():sendMagicEffect(11)
		targetPlayer:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. targetPlayer ..", now you are free.")
		targetPlayer:teleportTo(town)
	else
		player:sendCancelMessage("The player is offline.")
	end
	
	return true
end

 

Em talkactions.xml adicione as seguintes tags

<talkaction words="/jail" separator=" " script="jail.lua" />
<talkaction words="/unjail" script="unjail.lua" />

 

Agora em creaturescript, crie um arquivo chamado unjail.lua

function onLogin(player)
	player:registerEvent("unjailLogin")
	player:registerEvent("unjailThink")
	local town = player:getTown():getTemplePosition()
	if player:getStorageValue(41234) > 0 then
		player:teleportTo(town)
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. player ..", now you are free.")
		player:getPosition():sendMagicEffect(11)
	end
end

function OnThink(creature, interval)
	local player = creature:getPlayer()
	local town = player:getTown():getTemplePosition()
	if player:getStorageValue(41234) > 0 then
		player:teleportTo(town)
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. player ..", now you are free.")
		player:getPosition():sendMagicEffect(11)
	end
end

 

Em creaturescript.xml adicione as seguintes tags

<event type="login" name="unjailLogin" script="unjail_creature.lua"/>
<event type="think" name="unjailThink" interval="60" script="unjail_creature.lua"/>

 

Não é necessário registrar no login.lua

 

Qualquer erro me avisa aqui que eu tento arrumar pra você.

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

Tentarei criar o seguinte comando então:

 

/jail nome,tempo

/unjail nome

 

 

Outra coisa, o PVP será aberto na prisão? 

Fiz aqui rapidinho sendo que a prisão não é PVP.

 

Em talkactions, crie um arquivo lua com o nome jail.lua


local posPrison = Position(x,y,z)

function onSay(player, words, param)
	if not player:getGroup():getAccess() then
		return true
	end

	if player:getAccountType() < ACCOUNT_TYPE_GOD then
		return false
	end
	
	local split = param:split(",")
	local preso = (split[1])
	local tempo = (split[2])
	tempo = tempo * 60 * 24
	
	if not preso then
		player:sendCancelMessage("A player with that name is not online.")
		return false
	end
	
	if not tempo then
		player:sendCancelMessage("Insufficient parameters.")
		return false
	end
	
	if preso:getStorageValue(41234) > os.time() then
		player:sendCancelMessage("The player ".. preso .." is already arrested.")
		return false
	end
	if preso and tempo then
		preso:setStorageValue(41234, (tempo) + os.time())
		preso:getPosition():sendMagicEffect(11)
		preso:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You were arrested until ".. tempo .." days.")
		preso:teleportTo(posPrison)
		posPrison:sendMagicEffect(11)
	else
		player:sendCancelMessage("You need to inform the player and the time (in days) he will be stuck.")
	end
	
	return true
end

 

Em talkactions, crie um arquivo lua com o nome unjail.lua


function onSay(player, words, param)
	if not player:getGroup():getAccess() then
		return true
	end

	if player:getAccountType() < ACCOUNT_TYPE_GOD then
		return false
	end
	
	local targetPlayer = Player(param)
	
	if targetPlayer == nil then
		return false
	end
	
	if not targetPlayer then
		player:sendCancelMessage("Insufficient parameters.")
		return false
	end
	
	if targetPlayer:getStorageValue(41234) <= os.time() then
		player:sendCancelMessage("The player ".. targetPlayer .." is already free.")
		return false
	end
	
	local town = targetPlayer:getTown():getTemplePosition()
	
	if targetPlayer then
		targetPlayer:setStorageValue(41234, 0)
		targetPlayer:getPosition():sendMagicEffect(11)
		targetPlayer:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. targetPlayer ..", now you are free.")
		targetPlayer:teleportTo(town)
	else
		player:sendCancelMessage("The player is offline.")
	end
	
	return true
end

 

Em talkactions.xml adicione as seguintes tags


<talkaction words="/jail" separator=" " script="jail.lua" />
<talkaction words="/unjail" script="unjail.lua" />

 

Agora em creaturescript, crie um arquivo chamado unjail.lua


function onLogin(player)
	player:registerEvent("unjailLogin")
	player:registerEvent("unjailThink")
	local town = player:getTown():getTemplePosition()
	if player:getStorageValue(41234) > 0 then
		player:teleportTo(town)
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. player ..", now you are free.")
		player:getPosition():sendMagicEffect(11)
	end
end

function OnThink(creature, interval)
	local player = creature:getPlayer()
	local town = player:getTown():getTemplePosition()
	if player:getStorageValue(41234) > 0 then
		player:teleportTo(town)
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Congratulations ".. player ..", now you are free.")
		player:getPosition():sendMagicEffect(11)
	end
end

 

Em creaturescript.xml adicione as seguintes tags


<event type="login" name="unjailLogin" script="unjail_creature.lua"/>
<event type="think" name="unjailThink" interval="60" script="unjail_creature.lua"/>

 

Não é necessário registrar no login.lua

 

Qualquer erro me avisa aqui que eu tento arrumar pra você.

 

Oi,

 

boa noite,

 

Deu certinho e era isso que eu queria.

No caso seria non-pvp mesmo, caso fosse PvP teria alguma mudança de variável? 


Nesse comando o player perde alguma XP ou só vai para a prisão mesmo?

REP+

 

Link para o post
Compartilhar em outros sites

desculpe me intrometer no post, estava procurando uma talk igual a essa mais estou com seguintes erros http://prntscr.com/ptpt1z  meus scripts estao iguais a esse. (o erro da direto na distro sem eu usar o comando)     obs: tem q remover o _creature no final

<event type="login" name="unjailLogin" script="unjail_creature.lua"/> ------aki
<event type="think" name="unjailThink" interval="60" script="unjail_creature.lua"/> ------- aki

 

Editado por maper007
arrumar (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Moderador
21 horas atrás, Gabriel Farre disse:

Oi,

 

boa noite,

 

Deu certinho e era isso que eu queria.

No caso seria non-pvp mesmo, caso fosse PvP teria alguma mudança de variável? 


Nesse comando o player perde alguma XP ou só vai para a prisão mesmo?

REP+

 

 

Caso fosse PVP teria que fazer algumas verificações, por que ao morrer ele iria para o templo e não para a prisão.

Está somente para ir para a prisão, não está perdendo XP

10 horas atrás, maper007 disse:

desculpe me intrometer no post, estava procurando uma talk igual a essa mais estou com seguintes erros http://prntscr.com/ptpt1z  meus scripts estao iguais a esse. (o erro da direto na distro sem eu usar o comando)     obs: tem q remover o _creature no final


<event type="login" name="unjailLogin" script="unjail_creature.lua"/> ------aki
<event type="think" name="unjailThink" interval="60" script="unjail_creature.lua"/> ------- aki

 

 

Tenta desmembrar o script em dois pra ver se dá certo.. Separa o function onLogin e o function onThink

Link para o post
Compartilhar em outros sites
13 horas atrás, movie disse:

Caso fosse PVP teria que fazer algumas verificações, por que ao morrer ele iria para o templo e não para a prisão.

Está somente para ir para a prisão, não está perdendo XP

Tenta desmembrar o script em dois pra ver se dá certo.. Separa o function onLogin e o function onThink

 

Bom dia,

 

Beleza então, iremos fazer o teste dos Scripts e qualquer coisa se der algum erro, aviso. 

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.


  • Conteúdo Similar

    • Por amoxicilina
      Olá Kings, venho aqui trazer uma TalkAction pra você comprar premium account, sei que pode ser algo meio inútil por existir a store.
      Então vamos script:
       
       
    • Por ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por Jpminatel
      Estou com os seguintes erros ; e procuro quem poça ajudar ai a eliminar esses 3 erros , erro 1 e 2 acontece qnd um pokemon usa ps   e o erro 3 é nas potions 
      [Error - TalkAction Interface] 
      [30/01/2022 17:04:25] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 17:04:25] Description: 
      [30/01/2022 17:04:25] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 17:04:25] stack traceback:
      [30/01/2022 17:04:25]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      Erro 2 ;
      [30/01/2022 18:08:53] [Error - Spell Interface] 
      [30/01/2022 18:08:53] In a timer event called from: 
      [30/01/2022 18:08:53] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:53] Description: 
      [30/01/2022 18:08:53] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:53] stack traceback:
      [30/01/2022 18:08:53]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:53]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:53]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:08:54] [Error - Spell Interface] 
      [30/01/2022 18:08:54] In a timer event called from: 
      [30/01/2022 18:08:54] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:54] Description: 
      [30/01/2022 18:08:54] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:54] stack traceback:
      [30/01/2022 18:08:54]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:54]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:54]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:18:20] [Error - TalkAction Interface] 
      [30/01/2022 18:18:20] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 18:18:20] Description: 
      [30/01/2022 18:18:20] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:18:20] stack traceback:
      [30/01/2022 18:18:20]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:18:20]     data/lib/newStatusSyst.lua:1119: in function 'doMoveInAreaMulti'
      [30/01/2022 18:18:20]     data/lib/pokemon moves.lua:458: in function 'docastspell'
      [30/01/2022 18:18:20]     data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
      Erro 3 ; 
      erro potion 
      [30/01/2022 18:48:35] [Error - Action Interface] 
      [30/01/2022 18:48:35] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:35] Description: 
      [30/01/2022 18:48:35] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:35] stack traceback:
      [30/01/2022 18:48:35]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:35]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
      [30/01/2022 18:48:39] [Error - Action Interface] 
      [30/01/2022 18:48:39] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:39] Description: 
      [30/01/2022 18:48:39] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:39] stack traceback:
      [30/01/2022 18:48:39]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:39]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
       
    • Por Erimyth
      Fala galerinha eu estava e um amigo meu me pediu um script de health e mana por talkaction por MSN, fiz ele e resolvi postar-lo aqui no TK para a galera usar-lo.

      Vá em data > talkactions > talkactions.xml e adicione a seguinte tag:

      <talkaction words="!buyhealth;!buymana" event="script" value="buylife.lua">
      Agora vá até a pasta scripts dentro de talkactions, crie um arquivo chamado buylife.lua com isto dentro:
      -- [( Script created by Matheus for TibiaKing.com )] -- function onSay(cid, words, param) local health = 1000 -- Vida que será adicionada ao player após ele usar o comando! local mana = 1000 -- Mana que será adicionada ao player após ele usar o comando! local cost = 10000 -- Preço para você comprar mana ou health! if (words == "!buymana") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddMana(cid, mana) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") return TRUE end elseif (words == "!buyhealth") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddHealth(cid, health) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") end return TRUE end end
      Prontinho, espero que gostem, é um script bem simples mas pode ser útil para alguns.  
        Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!  
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo