Ir para conteúdo
  • Cadastre-se

Posts Recomendados

--[[ 
///////////////////////////////////////////////////////////////////////////////////////////////////////
Discord: San#7791
-- Loja System 2.0 -- TFS 0.3.6 --

para adicionar qualquer item na loja:
basta adicionar na tabelinha, seguindo o exemplo do vip!
valor = quantidade de DIAMOND a ser cobrada;
itemID = item a ser recebido;
quantidade = quantidade de itens a ser recebidos;
msg = mensagem que o player vai receber após comprar!

Feito por San
Discord: San#7791

exemplo de como comprar: !loja vip 
podendo ser adicionado a modules também.
tag talkactions.xml //

<talkaction words="!loja"  case-sensitive="no" event="script" value="Loja System 2.0.lua"/>
//////////////////////////////////////////////////////////////////////////////////////////////////////

depois de tantos sistemas com mil elseifs, vim trazer esta contribuição simples, para facilitar a vida de muitos adms!


Contribuição pra comunidade =D


]]--


LOJA_CANCEL = "Você não possui diamantes o suficiente." 
LOJA_INVALID = "Não temos este item a venda na loja!"
INVALID = "Comando incorreto"
DIAMOND = 2145 -- item que será cobrado;

tabelinha = {
["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},
-- coloque sempre minusculo o nome ! ["vip"]... etc

}


function onSay(cid, words, param, channel)
local msg = string.lower(param) -- Não mexa!
if msg == "" then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação 
if tabelinha[msg] == nil then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação 
if tabelinha[msg].valor  then 
if getPlayerItemCount(cid, DIAMOND) >= tabelinha[msg].valor then 
doPlayerRemoveItem(cid, DIAMOND, tabelinha[msg].valor)
doPlayerAddItem(cid, tabelinha[msg].itemID, tabelinha[msg].quantidade)
doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg)
else
doPlayerSendTextMessage(cid, 22, LOJA_CANCEL)
return true 
end
else
doPlayerSendTextMessage(cid, 22, LOJA_INVALID)
end
return true 
end 

 

Editado por sannn (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
15 horas atrás, sannn disse:

--[[ 
///////////////////////////////////////////////////////////////////////////////////////////////////////
Discord: San#7791
-- Loja System 2.0 -- TFS 0.3.6 --

para adicionar qualquer item na loja:
basta adicionar na tabelinha, seguindo o exemplo do vip!
valor = quantidade de DIAMOND a ser cobrada;
itemID = item a ser recebido;
quantidade = quantidade de itens a ser recebidos;
msg = mensagem que o player vai receber após comprar!

Feito por San
Discord: San#7791

exemplo de como comprar: !loja vip 
podendo ser adicionado a modules também.
tag talkactions.xml //

<talkaction words="!loja"  case-sensitive="no" event="script" value="Loja System 2.0.lua"/>
//////////////////////////////////////////////////////////////////////////////////////////////////////

depois de tantos sistemas com mil elseifs, vim trazer esta contribuição simples, para facilitar a vida de muitos adms!


Contribuição pra comunidade =D


]]--


LOJA_CANCEL = "Você não possui diamantes o suficiente." 
LOJA_INVALID = "Não temos este item a venda na loja!"
INVALID = "Comando incorreto"
DIAMOND = 2145 -- item que será cobrado;

tabelinha = {
["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},


}


function onSay(cid, words, param, channel)
local msg = string.lower(param) -- Não mexa!
if msg == "" then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação 
if tabelinha[msg] == nil then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação 
if tabelinha[msg].valor  then 
if getPlayerItemCount(cid, DIAMOND) >= tabelinha[msg].valor then 
doPlayerRemoveItem(cid, DIAMOND, tabelinha[msg].valor)
doPlayerAddItem(cid, tabelinha[msg].itemID, tabelinha[msg].quantidade)
doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg)
else
doPlayerSendTextMessage(cid, 22, LOJA_CANCEL)
return true 
end
else
doPlayerSendTextMessage(cid, 22, LOJA_INVALID)
end
return true 
end 

 

seria bom se, aparece um pop-up dos itens adicionados,

e outra.. estou colocando o comando !loja e diz "comando incorreto, ao invés de dizer oque tem.

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

seria bom se, aparece um pop-up dos itens adicionados,

e outra.. estou colocando o comando !loja e diz "comando incorreto, ao invés de dizer oque tem.

Boa noite,tem certeza que colocou corretamente na tabela? fiz o teste aqui, e não deu problema.
sobre o popup, é simples:

substitua:
 

doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg)


por 
 

doPlayerPopupFYI(cid, tabelinha[msg].msg)



exemplo da tabela:


 

tabelinha = {
["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},
["exemplo"] = {valor = 5, itemID = 2145, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},
}

coloque sempre minusculo*


você irá digitar, !loja exemplo
o sistema é case-insensitive também.
 

Editado por sannn (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
46 minutos atrás, sannn disse:

Boa noite,tem certeza que colocou corretamente na tabela? fiz o teste aqui, e não deu problema.
sobre o popup, é simples:

substitua:
 



doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg)


por 
 



doPlayerPopupFYI(cid, tabelinha[msg].msg)



exemplo da tabela:


 



tabelinha = {
["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},
["exemplo"] = {valor = 5, itemID = 2145, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"},
}

coloque sempre minusculo*


você irá digitar, !loja exemplo
o sistema é case-insensitive também.
 

eu nao entendi bem oque seria essa case-insensitive, e quando eu falo loja.. n aparece nada, mesmo alterando oque v falou

Editado por leozincorsair (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
12 horas atrás, leozincorsair disse:

eu nao entendi bem oque seria essa case-insensitive, e quando eu falo loja.. n aparece nada, mesmo alterando oque v falou

manda msg no meu discord.

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 looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por willian646
      O evento é totalmente baseado no Foxy Quiz proveniente do GLA, no entanto é apenas uma base para vocês alterarem como acharem melhor.
      Para começar será necessario que você crie um arquivo em talkactions>scripts para entrar no evento, como por exemplo : participar.lua
      e entao colocar sua tag em talkactions.xml, como por exemplo: 
      <talkaction words="!participar;/participar" script="!participar.lua"/> Tendo feito isso você irá colar esse codigo dentro desse arquivo: 
      function onSay(cid, words, param)pos = {x=1236, y=1125, z=15} --POSIÇAO QUE O PLAYER IRÁ COM O COMANDO if getGlobalStorageValue(88788) == 1 then doSendMagicEffect(getPlayerPosition(cid),19) doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "Desculpe mas o evento esta fechado !") end return true end Agora iremos para o script principal, vá em global events>scripts e crie o arquivo pokequiz.lua em seguida coloque sua tag em globalevents.xml como por exemplo: 
      <globalevent name="Pokequiz" interval="10" event="script" value="pokequiz.lua"/> Lembrando que o intervalo de inicio do evento é com vcs, Tendo feito isso abra o arquivo e cole o  seguinte código dentro : 
      quizstrg = 88788 local wave = 0 local CPpos = {x=1051, y=1047, z=7} --POSIÇAO QUE O PLAYER IRÁ SE ERRAR function wave_acresc() wave = wave + 1 addEvent(Quiz, 5000) end function Quiz() if wave == 1 then doBroadcastMessage("Na serie pokemon RAYQUAZA possui mega evolucao ?", RED) addEvent(Resposta, 10000) elseif wave == 2 then doBroadcastMessage("Na serie pokemon ARCEUS e considerado um pokemon RARO ?", RED) addEvent(Resposta, 10000) elseif wave == 3 then doBroadcastMessage("Na serie pokemon MEW criou os 3 caes lendarios ?", RED) addEvent(Resposta, 10000) elseif wave == 4 then doBroadcastMessage("Na serie pokemon ARCEUS tem o poder de mudar de tipo livremente ?", RED) addEvent(Resposta, 10000) elseif wave == 5 then doBroadcastMessage("Na serie pokemon GIRATINA possui 2 formas sendo elas alterada e fantasma ?", RED) addEvent(Resposta, 10000) elseif wave == 6 then doBroadcastMessage("Na serie pokemon DIALGA e PALKIA sao rivais ?", RED) addEvent(Resposta, 10000) elseif wave == 7 then doBroadcastMessage("Na serie pokemon CELEBI possui a habilidade de viajar entre dimensoes ?", RED) addEvent(Resposta, 10000) elseif wave == 8 then doBroadcastMessage("Na serie pokemon SOLGALEO e a primeira evolucao de cosmog ?", RED) addEvent(Resposta, 10000) elseif wave == 9 then doBroadcastMessage("Na serie pokemon MAGEARNA e uma das ultra beasts ?", RED) addEvent(Resposta, 10000) elseif wave == 10 then doBroadcastMessage("Na serie pokemon a cor original de MAGEARNA e laranja ?", RED) addEvent(Resposta, 10000) elseif wave == 11 then doBroadcastMessage("O evento Quiz terminou !", RED) addEvent(winPlayers, 5000) end end function Resposta() if wave == 1 then addEvent(TPFalso, 5000) elseif wave == 2 then addEvent(TPVerdadeiro, 5000) elseif wave == 3 then addEvent(TPVerdadeiro, 5000) elseif wave == 4 then addEvent(TPFalso, 5000) elseif wave == 5 then addEvent(TPVerdadeiro, 5000) elseif wave == 6 then addEvent(TPFalso, 5000) elseif wave == 7 then addEvent(TPVerdadeiro, 5000) elseif wave == 8 then addEvent(TPVerdadeiro, 5000) elseif wave == 9 then addEvent(TPVerdadeiro, 5000) elseif wave == 10 then addEvent(TPFalso, 5000) end end function TPFalso() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1236, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function TPVerdadeiro() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1235, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function winPlayers() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) doPlayerAddItem(sid,2159, 10) end wave = 0 setGlobalStorageValue(88788, 0) end end --AVISOS DE INICIO function finalEventWarning() if getGlobalStorageValue(quizstrg) == 1 then setGlobalStorageValue(88788, 2) doBroadcastMessage("O evento Quiz fechou, a primeira pergunta surgira em 30 segundos.", RED) addEvent(wave_acresc, 30000) end end function secondEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 1 minuto, usem o comando !participar ou /participar.", RED) addEvent(finalEventWarning, 60000) end end function firstEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 3 minutos, usem o comando !participar ou /participar.", RED) addEvent(secondEventWarning, 120000) end end function onThink(interval, lastExecution) if getGlobalStorageValue(quizstrg) == 0 then setGlobalStorageValue(88788, 1) doBroadcastMessage("O evento Quiz ira iniciar em 5 minutos, usem o comando !participar ou /participar.", RED) addEvent(firstEventWarning, 120000) end return true end Já ia me esquecendo, a unica coisa ao qual vocês devem mudar de acordo com as coordenadas do seu mapa e área do evento são as funções TPVerdadeiro , TPFalso, winPlayers , elas servem para indicar qual área é a errada e teleportar quem tiver nessa área pro cp, caso o lado errado seja o esquerdo então será usado a função  TPVerdadeiro, e é a msm coisa para o outro lado, no caso da winPlayers é toda a área do evento.
       
      Aqui vai um exemplo: 
       
      E é isso rapaziada, não sei se já possui algum evento parecido por essas bandas, mas eu não encontrei ,então fiz  e resolvi contribuir com a comunidade, peço que se for repostar em algum outro lugar dê os devidos créditos, obg e até a próxima.
    • Por Ghaz
      Fala pessoal tudo bem?
       
      Estou com dificuldades em um script e preciso da ajuda dos magos do LUA rs.
       
      Tenho um script que quando o player morre (onDeath), ele faz algumas coisas e depois ele chama uma função que deveria retornar uma table (array) para eu fazer o for com o ipairs certinho. Segue abaixo o código:
       
       
      Segue abaixo a função getPlayersInArea:
       
       
      Acontece que no código de cima (do primeiro spoiler) eu dou um print no retorno da função getPlayersInArea, porém ela não tá me retornando a table, tá me retornando só: 2
       
       
       
      Alguém consegue me ajudar em, como raios eu faço a função retornar a lista de players ao invés da quantidade? Acredito que ta retornando o count da table, e não os itens do array.
       
       
      Agradeço desde já, valeu tchurma!
    • Por tataboy67
      Opa galera beleza?
      Meu amigo esses dias pediu um sistema basicamente assim:
      sistema:
      !quests charizard (você é teleportado para hunt ou quest por "x" tempo, e após esse tempo, você é teleportado para 1 posição "y" (cp/templo)) !quest time (o jogador recebe uma msg de quanto tempo ainda resta para ele ficar nessa hunt/quest) !quest (abre uma janela aonde fala as informações dessa hunt/quest)
      bom eu tentei usar o "for" para fazer com que tenha varios tipos de hunts dentro (criando uma tabela), mas como ainda estou estudando lua e esse é meu 1º script, eu não consegui fazer, então eu to usando o "param" E eu fui pesquisar aqui no forum e em outro forums tbm esse sistema, e vi que ninguem nunca postou  
      então resolvi cria-lo.
       
      Em Talkactions.xml, adicione a linha:

      Em Talkactions, crie um arquivo com o nome de quest_time.lua, e adicione:

      Creditos:
      Eu: Pelo script

      Desculpa se o script ficou ruim, é que é meu primeiro script, tenham pena de mim.  
      Eu farei melhoras nesse script mais pra frente.
    • Por Guilherme.
      Bom galera, certa vez eu abri um servidor de tibia 8.55, ai pra incrementar ele resolvi colocar um sistema que faz com que o player compre os Itens VIPs direto do jogo.
       
       
      Funciona assim: Eu disponibilizei no site, a venda de moedas que podem ser usadas para comprar tanto VIP Account, quanto Itens VIP direto do jogo. O jogador que compra as moedas, recebe 100 delas e para poder comprar os itens eu editei uma TalkAction que veio no Baiak Yourots que era uma simples quest por comando, e transformei em uma ótima ferramenta para servidores com sistema vip.
      Vamos ao Script:
      Vá em data\talkactions\scripts , e crie um arquivo com o nome desejado e com o final ".lua" (Exemplo: ex.lua)
      Coloque isso dentro:
      Edite conforme você quiser, salve e feche.
      Laranja: ID do iten que vai servir como "moeda"
      Verde: Quantidade do iten
      Vermelho: ID do iten que o player vai receber quando usar o comando
      Azul: Quantidade do iten recebido
      Roxo: Palavra que aparecerá quando o player digitar o comando
      Rosa: Mensagem enviada ao player caso ele não tenha o iten ou quantidade neessária para a compra.
      Agora vá em "data\talkactions\" , edite o talkactions.xml
      Coloque isso la dentro:
      Verde: O Que o Player irá falar para usar o comando. ( Exemplo: !armor )
      Azul: O Nome do Arquivo que você criou em "data\talkactions\scripts". ( Exemplo: ex.lua )
      Créditos:
      Script: Baiak Lula ( Peguei o script do OT dele então, não tenho Certeza )
      Edição e Nova Função: Guilherme.
      COMENTEM !
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo