Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

tfs04version.png

 

 

Sobre o sistema: Serve para encaminhar cartas ao admin do servidor, nessas cartas vão o que o player achar importante como sugestões, reports, babozeiras... sei lá.
                              Logo a baixo tem spoiler, com imagens...

Spoiler

O player da use na bag de cartas, e ganha uma carta... nela escreve o que quiser, e move para o mailbox
depois disso a carta vai para a casa das cartas, onde o god pode ler todas as cartas que chegarem.



Cartinhas.thumb.jpg.45bc94df071dce6e67efcc57db6ed467.jpg

 

 

Bom vamos ao que interessa...

Em movements.xml adicione a tag:

  <movement type="AddItem" tileitem="1" uniqueid="44442" event="script" value="moveall.lua"/>

 

moveall.lua
 

Spoiler
Spoiler


local c = {
    checkItems = {[2597] = 1}, -- id da carta carta
    checkPlaces = {{x=1012, y=1099, z=6}}, -- posição do mailbox
    casaDasCartas = {x=332, y=25, z=7}, -- posição da casa onde vai as cartas.
}

local function getTableMax(t)
    local ret = 0
    for _, i in pairs(t) do
        ret = ret + 1
    end
    return ret
end

function onAddItem(moveItem, tileItem, position, cid)
            local done = {}
            for n, pos in pairs(c.checkPlaces) do
                for itemId, count in pairs(c.checkItems) do
                    local posItem = getTileItemById(pos, itemId)
                    if(posItem.uid ~= 0 and (count == 1 or posItem.type >= count) and not done[itemId]) then
                        done[itemId] = {count, pos}
                        break
                    end
                end
            end
            if(getTableMax(done) == getTableMax(c.checkItems)) then    
                if position ~= nil then
                    doTeleportThing(moveItem.uid, c.casaDasCartas, true)
                    doSendMagicEffect(getPlayerPosition(cid), 3)
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Sua carta foi encaminhada com sucesso.")
                    return false
                end
                
                else
            doCreatureSay(cid, "Voce so pode mandar cartas para o god.", TALKTYPE_ORANGE_1)
            local position = {x=position.x, y=position.y+1, z=position.z}
                if position ~= nil then
                    doTeleportThing(moveItem.uid, position, true)
                    doSendMagicEffect(position, 2)
                    return false
                end
            end            
    return true
end

 

 

Dentro do script moveall.lua da pasta movements. Você deve modificar os sequintes dados:

    checkPlaces = {{x=149, y=50, z=7}}, -- posição do mailbox
    casaDasCartas = {x=151, y=45, z=7}, -- posição da casa onde vai as cartas.

FAÇA UMA "HOUSE" COMO SE FOSSE A HOUSE DO GOD, EM ALGUM LUGAR QUE NENHUM PLAYER CONSIGA ENTRAR EXCETO O GOD
      e então indique no script onde coloca a posição do sqm de dentro da casa...

(isso de suma importância para que as cartas não sejam apagadas com o clean do servidor e para que ninguém consiga ter acesso as cartas).
  você não precisa comprar a casa com o god, apenas tem que existir uma casa que ninguém consiga comprar ou chegar. ex: em cima de um telhado talvez

 

 


EM Actions.xml adicione a tag:
       <action uniqueid="44443" script="carta.lua"/>

 

carta.lua
 

Spoiler
Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)

local tempo = 10 * 60  -- aqui você coloca o tempo, lembrando que é minutos * segundos


local stg = getPlayerStorageValue(cid, 123541)
if (stg == -1) then
stg = 0
end
if getPlayerStorageValue(cid, 123540) - os.time() <= 0 then
        doPlayerAddItem(cid, 2597, 1)
time = os.time() + tempo
setPlayerStorageValue(cid, 123540, time)
setPlayerStorageValue(cid, 123541, stg+1)
local stg = getPlayerStorageValue(cid, 123541)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce recebeu uma carta, voce pode enviar uma mensagem direta aos admins quando terminar coloque na mailbox.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You must wait 10 Min to get letter. Next avaiable will be at: " .. os.date("%H:%M:%S", getPlayerStorageValue(cid, 123540)) .. ".")
end
return true
end


 

 

 

Modifique ao seu gosto o tempo para poder adquirir a carta novamente em:

local tempo = 10 * 60  -- aqui você coloca o tempo, lembrando que é minutos * segundos

 

 


 

Agora você só precisa editar seu mapa colocar o mailbox e a bag de cartas.  (outra dica é que retire formas de conseguir cartas, como monstros que dropam ela, ou npcs que vendem), caso não queira fazer isso é só mudar o id da carta no script para outra.



ID mailbox: 3981
    no mailbox você coloca uniqueid: 44442

ID da Bag com cartas: 2330
    na bag cartas voce coloca uniqueid: 44443   e    actionid: 100 (quando coloca actionid: 100 os players não pode mover a bag)

 Finalizado.


 

 

Editado por pablobion (veja o histórico de edições)

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

  • Respostas 21
  • Visualizações 4.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • thelifeofpbion
    thelifeofpbion

    De nada.. se precisar pode chamar.. qualquer hora eu atualizo ele, sei lá coloco prioridade de cartas pra quem é donate do servidor ou outras coisas.. não sei vou pensar kkk

  • thelifeofpbion
    thelifeofpbion

    Ta em verde no final do tópico   "ID da Bag com cartas: 2330"

  • thelifeofpbion
    thelifeofpbion

    verifica de novo se você copiou certo o moveall.lua do sistema 

Posted Images

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor
1 hora atrás, KotZletY disse:

@pablobion você é o criador do sistema ? Se não adicione os créditos do criador do mesmo! 


Sim, sou em partes. Eram 2 scripts que eu tinha aqui diferentes para outras finalidades, ai tirei algumas partes de outros e fiz esse.  

Não lembro se os scripts originais eu peguei do Tk mas depois da facul eu do uma procurada nos tópicos e coloco os créditos da glr.
 

Editado por pablobion (veja o histórico de edições)

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Postado
1 hora atrás, pablobion disse:


Sim, sou em partes. Eram 2 scripts que eu tinha aqui diferentes para outras finalidades, ai tirei algumas partes de outros e fiz esse.  

Não lembro se os scripts originais eu peguei do Tk mas depois da facul eu do uma procurada nos tópicos e coloco os créditos da glr.
 

pode dar um help, terei que mudar o nome do meu adm? ou é algum erro que não quer enviar a carta?

 

 

 

adm.png

       112674.gif

 

 

 

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.6k

Informação Importante

Confirmação de Termo