Jump to content

Sistema Exclusive Cave System By Account! 8.6


Recommended Posts

  • 11 months later...
  • Coordinator

@kimera28 Bom dia, qual versão do seu servidor?

 

 

------

tente trocar essa função da lib:

 

function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', '".. getCreatureName(cid) .."', '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

 

por

 

function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', ".. getCreatureName(cid) ..", '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

Edited by Vodkart (see edit history)

vodkart_logo.png

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

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites
2 horas atrás, Vodkart disse:

@kimera28 Bom dia, qual versão do seu servidor?

 

 

------

tente trocar essa função da lib:

 


function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', '".. getCreatureName(cid) .."', '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

 

por

 


function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', ".. getCreatureName(cid) ..", '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

 

Versão é 0.4

 

Vou trocar e já te aviso

 

Muito Obrigado

2 horas atrás, Vodkart disse:

@kimera28 Bom dia, qual versão do seu servidor?

 

 

------

tente trocar essa função da lib:

 


function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', '".. getCreatureName(cid) .."', '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

 

por

 


function doPlayerAddCave(cid, cave_id, hours)
	return db.executeQuery("INSERT INTO `exclusive_cave` (`account_id`, `player_id`, `player_name`, `cave_id`, `friend_id`, `time`) VALUES ('".. getPlayerAccountId(cid) .."', '".. getPlayerGUID(cid).."', ".. getCreatureName(cid) ..", '".. cave_id .."', '0', '".. os.time()+hours*3600 .."');")
end

 

 

Troquei e continua o erro. Ele pega a chave que coloquei como id, mas na hora de entrar na cave ela fala que nao tenho cave 11:49 Caver Man: Desculpe, você não possui nenhuma cave para entrar! e da o erro no distro la

image.thumb.png.f2057ed837b7a031d1e7b40f99678f68.png

 

Link to post
Share on other sites
  • Coordinator

okay!! Tenta voltar a função de antes então...

 

deleta a coluna do banco de dados que vc ja criou e executa essa agora:

 

CREATE TABLE exclusive_cave (
id INT NOT NULL AUTO_INCREMENT,
account_id INTEGER NOT NULL, 
player_id INTEGER NOT NULL, 
player_name VARCHAR( 255 ) NOT NULL,
cave_id 	INT NOT NULL DEFAULT 0,
friend_id INT NOT NULL DEFAULT 0,
time 	INTEGER NOT NULL,
PRIMARY KEY ( id ) 
);

 

 

vodkart_logo.png

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

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites
8 minutos atrás, Vodkart disse:

okay!! Tenta voltar a função de antes então...

 

deleta a coluna do banco de dados que vc ja criou e executa essa agora:

 


CREATE TABLE exclusive_cave (
id INT NOT NULL AUTO_INCREMENT,
account_id INTEGER NOT NULL, 
player_id INTEGER NOT NULL, 
player_name VARCHAR( 255 ) NOT NULL,
cave_id 	INT NOT NULL DEFAULT 0,
friend_id INT NOT NULL DEFAULT 0,
time 	INTEGER NOT NULL,
PRIMARY KEY ( id ) 
);

 

 

Rapaz funcionou agora.

 

Uma dúvida, coloco no pvp? anti logout nas caves? E posso colocar um TP para saida? Se ele sair no tempo da hunt ele pode no caso voltar né

Link to post
Share on other sites
  • Coordinator
28 minutos atrás, kimera28 disse:

Rapaz funcionou agora.

 

Uma dúvida, coloco no pvp? anti logout nas caves? E posso colocar um TP para saida? Se ele sair no tempo da hunt ele pode no caso voltar né

 

não precisa colocar área "No Logout" pq o proprio código kika ele e o amigo(caso tiver) da cave mesmo estando offline!!

 

E sim, coloca um TP na área para ele sair, ou se quiser eu posso adicionar um comando o "/caveleave" ou "/exitcave" para o jogador voltar a pos onde ele estava, exemplo, na área do npc ou no templo.

vodkart_logo.png

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

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites
Em 04/02/2021 em 13:25, Vodkart disse:

 

não precisa colocar área "No Logout" pq o proprio código kika ele e o amigo(caso tiver) da cave mesmo estando offline!!

 

E sim, coloca um TP na área para ele sair, ou se quiser eu posso adicionar um comando o "/caveleave" ou "/exitcave" para o jogador voltar a pos onde ele estava, exemplo, na área do npc ou no templo.

Seria interessante caso o player queira sair tipo para uma war ou algo parecido, mas o tempo dele fica correndo ne?

 

Bem legal esse script

 

Parabéns

Link to post
Share on other sites

Parabéns amigo, simples e limpo. Só uma obs: No zip do arquivo no txt dos comandos do banco de dados o player_name está como interger, caso futuramente alguem tiver com problemas de na hora do tempo da hunt acabar e o player não ser kickado é só alterar esse campo pra varchar.

Link to post
Share on other sites

image.thumb.png.d1b6780ed37368ded3a2523fd409c5a4.png

 

Ta funcionando maravilhosamente, mas agora descobri um problema se o personagem morre ele nao perde o level e não nasce no templo e sim no local onde pegou a cave.

 

Pelo que parece não esta salvando. Depois que passa o tempo das horas de cave se morre ai volta ao templo e perde o level. 

Link to post
Share on other sites
  • Coordinator
Em 11/02/2021 em 22:55, kimera28 disse:

image.thumb.png.d1b6780ed37368ded3a2523fd409c5a4.png

 

Ta funcionando maravilhosamente, mas agora descobri um problema se o personagem morre ele nao perde o level e não nasce no templo e sim no local onde pegou a cave.

 

Pelo que parece não esta salvando. Depois que passa o tempo das horas de cave se morre ai volta ao templo e perde o level. 

esse erro não é do sistema é do seu próprio servidor que não está salvando as informações do jogador na db.

vodkart_logo.png

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

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites
  • 2 weeks later...

Cara muito TOP Mesmo... gostei de mais funcionou perfeitamente  no meu TFS 0.4

 

Porém quando acaba o tempo da cave, poderia teletransportar o player automaticamente para o Templo. Será que tem como fazer isso?

Link to post
Share on other sites
Em 25/05/2019 em 20:31, Vodkart disse:

Explicação:

 

Este sistema proporciona ao jogador a compra de determinada cave por "X" tempo, cada conta poderá comprar somente 1 cave por vez... Lá o jogador poderá upar livremente.

 

Também poderá chamar um amigo para upar na sua cave!!

 

O sistema é o mais completo do mercado, vou estar falando do mesmo abaixo.

 

OBS: Não esqueça de executar a query para funcionar!!

 

 

Exclusive Cave System Features

 

  •  Dentro do pacote terá duas versões:

 

versão 1 : É para vendar as caves em money(Gold's)


Versão 2: É para vender as caves por items, por exemplo por moedas especiais como scarab coins(ID 2159)

 

  •   O sistema é feito por banco de dados

 

  • O tempo da cave é mostrado em tempo real

 

  • Você poderá chamar um amigo para sua cave e também remove-lo quando quiser.

 

  • Existe um globalevents especifico para mostrar no default quando uma cave ficou disponível para venda! (Irá informar o nome da cave o preço dela!)

 

  • Você poderá configurar a cave para vender por exemplo:

 

                 - Level minimo e máximo!

                 - Tempo de duração da cave

                 - Se precisa ser premium account para comprar a cave!

 

 

  • Quando o tempo da cave expira tanto o dono da cave como o friend invitado são removidos da cave, mesmo estando offline ou online!

 

  • Comandos exclusivos:

 

Comando para dono da cave:

 

    /mycave - Mostra informações da sua cave, como:

 

      - Nome da cave

      - Nome do seu amigo de cave(caso tiver invitado)

      - Quando tempo falta para expirar o tempo da sua cave

 

/addcavefriend - Adiciona um amigo seu para que ele possa entrar e sai da sua cave quando quiser... Obs: Tem um exhausted de 1 hora(configurável) para não ficar toda hora tirando e colocando amigo na cave.

 

/removecavefriend - Remove o seu amigo da sua cave(caso ele esteja dentro da cave tanto offline quanto online, ele é removido)

 

/cavetime - Mostra quando tempo falta para expirar a sua cave

 

 

Comando para amigo invitado da cave:

 

/cavefriendtime - Mostra quando tempo falta para expirar a cave que ele invitado.

 

/caveleave - Comando para ele se kikar da cave que está invitado.

 

 

Comandos adicionais importante para todos:

 


 /cavelist -- Mostra em uma janela todas as caves do servidor

 

 

/cave ID -- Neste comando você terá que usar o ID da cave que deseja saber as infor,ações, por exemplo:

 

/cave 1  -- Irá mostrar em uma janela todas as informações desta cave, como:

 

-Nome da cave

-Preço da cave

-Level Minimo e Level Maximo para comprar a cave

-Se nesta cave precisa ser Premium Account para comprar ou não.

 

/cavepurchase -- Filtra em uma janela somente as caves que estão disponíveis para compra.

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

Configurações:

 

Vá na lib e irá se deparar com duas tabelas...

 

 

Esta primeira tabela é onde você irá adicionar novas caves e atribuir as configurações, exemplo:


exclusives_caves_areas = { -- adicionar as caves
                       [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}},
                       [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}}
                       }

 

 

[1] -- Entre os colchetes é o ID da cave, favor colocar e ordem.

 

name = "Demon Hunter" -- Entre as aspas "" Você atribui o nome da cave

 

price = 1000 -- Preço em gps da sua cave(caso use a versão que vende em gps)

 

level = {min = 8, max =30} -- Aqui voce coloca o level min e max que o jogador tem que ser para comprar a cave

 

time = 4 -- Tempo em horas que o jogador poderá ficar na cave

 

premium = false -- Se para comprar a cave terá que ser premium (false ou true)

 

enter = {x = 284, y = 223, z = 7} -- Pos de entrada da cave

 

from = {x = 275, y = 219, z = 5}, -- Aqui você deverá pegar a pos do começa da cave

 

to = {x = 302, y = 240, z = 7} - - -- Aqui você deverá pegar a pos final da cave!(como se fosse um quadrado.

 

e como adicionar mais caves por exemplo? Assim:

 


exclusives_caves_areas = { -- adicionar as caves
                       [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}},
                       [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}},
                       [3] = {name = "Ciclops Cave", price = 5000, level = {min = 20, max = 50}, time = 2, premium = true, enter = {x = 198, y = 320, z = 7}, from = {x = 200, y = 340, z = 7}, to = {x = 250, y = 390, z = 7}}
                       }
                       

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

explicando a segunda tabela:

 

 


exclusives_caves_config = {
                        storage = 547575,
                        check =  547576,
                        comand_add_exaust = {hours = 1, storage = 547577}, -- tempo para nao ficar toda hora tirando e colocando amigo
                        mensagem = "[Exclusive Cave System] Você foi removido ou o tempo da %s cave expirou!",
                        serve_mensagem = "[Exclusive Cave System] A cave %s acabou de ficar liberada para venda por %d Gold's, aproveitem para compra-la no NPC!"
                        }

 

 

storage -- nao mexer!

check -- não mexer!!

 

comand_add_exhausted -- é o tempo que jogador poderá voltar a invitar outro jogador, está configurado para 1 hora!!

 

mensagem -- não mexa

 

serve_mensagem -- não mexa tbm kkk

 

 

Só baixar e executar as querys!!

 

 

Cave System.rar 17 kB · 91 downloads

sensacional, com toda certeza irei implementar no meu servidor, que sistema foda mano!!!

Link to post
Share on other sites
  • 3 months later...
Em 25/05/2019 em 20:31, Vodkart disse:

Explicação:

 

Este sistema proporciona ao jogador a compra de determinada cave por "X" tempo, cada conta poderá comprar somente 1 cave por vez... Lá o jogador poderá upar livremente.

 

Também poderá chamar um amigo para upar na sua cave!!

 

O sistema é o mais completo do mercado, vou estar falando do mesmo abaixo.

 

OBS: Não esqueça de executar a query para funcionar!!

 

 

Exclusive Cave System Features

 

  •  Dentro do pacote terá duas versões:

 

versão 1 : É para vendar as caves em money(Gold's)


Versão 2: É para vender as caves por items, por exemplo por moedas especiais como scarab coins(ID 2159)

 

  •   O sistema é feito por banco de dados

 

  • O tempo da cave é mostrado em tempo real

 

  • Você poderá chamar um amigo para sua cave e também remove-lo quando quiser.

 

  • Existe um globalevents especifico para mostrar no default quando uma cave ficou disponível para venda! (Irá informar o nome da cave o preço dela!)

 

  • Você poderá configurar a cave para vender por exemplo:

 

                 - Level minimo e máximo!

                 - Tempo de duração da cave

                 - Se precisa ser premium account para comprar a cave!

 

 

  • Quando o tempo da cave expira tanto o dono da cave como o friend invitado são removidos da cave, mesmo estando offline ou online!

 

  • Comandos exclusivos:

 

Comando para dono da cave:

 

    /mycave - Mostra informações da sua cave, como:

 

      - Nome da cave

      - Nome do seu amigo de cave(caso tiver invitado)

      - Quando tempo falta para expirar o tempo da sua cave

 

/addcavefriend - Adiciona um amigo seu para que ele possa entrar e sai da sua cave quando quiser... Obs: Tem um exhausted de 1 hora(configurável) para não ficar toda hora tirando e colocando amigo na cave.

 

/removecavefriend - Remove o seu amigo da sua cave(caso ele esteja dentro da cave tanto offline quanto online, ele é removido)

 

/cavetime - Mostra quando tempo falta para expirar a sua cave

 

 

Comando para amigo invitado da cave:

 

/cavefriendtime - Mostra quando tempo falta para expirar a cave que ele invitado.

 

/caveleave - Comando para ele se kikar da cave que está invitado.

 

 

Comandos adicionais importante para todos:

 


 /cavelist -- Mostra em uma janela todas as caves do servidor

 

 

/cave ID -- Neste comando você terá que usar o ID da cave que deseja saber as infor,ações, por exemplo:

 

/cave 1  -- Irá mostrar em uma janela todas as informações desta cave, como:

 

-Nome da cave

-Preço da cave

-Level Minimo e Level Maximo para comprar a cave

-Se nesta cave precisa ser Premium Account para comprar ou não.

 

/cavepurchase -- Filtra em uma janela somente as caves que estão disponíveis para compra.

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

Configurações:

 

Vá na lib e irá se deparar com duas tabelas...

 

 

Esta primeira tabela é onde você irá adicionar novas caves e atribuir as configurações, exemplo:


exclusives_caves_areas = { -- adicionar as caves
                       [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}},
                       [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}}
                       }

 

 

[1] -- Entre os colchetes é o ID da cave, favor colocar e ordem.

 

name = "Demon Hunter" -- Entre as aspas "" Você atribui o nome da cave

 

price = 1000 -- Preço em gps da sua cave(caso use a versão que vende em gps)

 

level = {min = 8, max =30} -- Aqui voce coloca o level min e max que o jogador tem que ser para comprar a cave

 

time = 4 -- Tempo em horas que o jogador poderá ficar na cave

 

premium = false -- Se para comprar a cave terá que ser premium (false ou true)

 

enter = {x = 284, y = 223, z = 7} -- Pos de entrada da cave

 

from = {x = 275, y = 219, z = 5}, -- Aqui você deverá pegar a pos do começa da cave

 

to = {x = 302, y = 240, z = 7} - - -- Aqui você deverá pegar a pos final da cave!(como se fosse um quadrado.

 

e como adicionar mais caves por exemplo? Assim:

 


exclusives_caves_areas = { -- adicionar as caves
                       [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}},
                       [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}},
                       [3] = {name = "Ciclops Cave", price = 5000, level = {min = 20, max = 50}, time = 2, premium = true, enter = {x = 198, y = 320, z = 7}, from = {x = 200, y = 340, z = 7}, to = {x = 250, y = 390, z = 7}}
                       }
                       

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

explicando a segunda tabela:

 

 


exclusives_caves_config = {
                        storage = 547575,
                        check =  547576,
                        comand_add_exaust = {hours = 1, storage = 547577}, -- tempo para nao ficar toda hora tirando e colocando amigo
                        mensagem = "[Exclusive Cave System] Você foi removido ou o tempo da %s cave expirou!",
                        serve_mensagem = "[Exclusive Cave System] A cave %s acabou de ficar liberada para venda por %d Gold's, aproveitem para compra-la no NPC!"
                        }

 

 

storage -- nao mexer!

check -- não mexer!!

 

comand_add_exhausted -- é o tempo que jogador poderá voltar a invitar outro jogador, está configurado para 1 hora!!

 

mensagem -- não mexa

 

serve_mensagem -- não mexa tbm kkk

 

 

Só baixar e executar as querys!!

 

 

Cave System.rar 17 kB · 107 downloads

 

Screenshot_7.png

Link to post
Share on other sites
  • 2 months later...

eu tava procurando algo parecido para um trainer exclusivo com tempo, onde teriam pontos que healaria mana para o jogador treinar ml sem gastar senzu/potion, por tempo limitado.  vou ver se consigo usar este script pra essa função

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By Sekk
      Bom, procurei esse Castle por MUITO TEMPO, mas não achei em NENHUM LUGAR DA INTERNET. Ontem, eu estava vendo alguns mapas do @Deathrocks, e vi nos prints, que o mapa possuia o evento que eu queria!
       
      Então baixei o mapa e extrai o evento, então venho lhes trazer!
       
       
      Nome: Castle 24H
      Cliente: 8.6
      Versão TFS: 0.4
      Tipo: Evento
       
      Bom, para começar, vamos em actions/scripts e crie 2 arquivos:
       
      castledoor1.lua
       
      castlewar1.lua
       
        Agora em actions.xml adicione as tags:
       
      Agora em monster/traps crie 3 arquivos:
       
      porta.xml
       
      protectcastle.xml  
      statue.xml  
      Agora em monsters.xml adicione as tags:    
      Vamos para movements/scripts e crie 2 arquivos:
       
      castlewar2.lua
       
      level.lua  
      Agora em movements.xml adicione as tags:  
       
      Pronto. Agora você só precisa baixar o mapa, inserir o mesmo ao seu servidor, configurar os teleports, e as hunts dentro do castle etc.
       
      PRINTS:
      1ª parte
       
      2ª parte:
       
      Obs.: Todos os ActionID e monsters já estão no mapa! Você só precisa configurar as coordenadas dos teleports, e o que possui no castle!
       
      Obs².: Tudo o que você pode configurar, já está escrito em cada script!
       
       
      Créditos:
      @DeathRocks
      PC98
      mapa.rar
    • By luanluciano93
      Apenas um exemplo, podendo usar este modelo com wieldPosition para verificar se o item é capacete, armadura, bota, calça, anel ou amuleto, ou usar weaponType para verificar se o item é sword, axe, club, distance, shield, wands, rods ou munição.
      local accepted_items = {2160} local function isItemAccepted(itemId) local item = getItemInfo(itemId) if isInArray(accepted_items, itemId) then return true elseif item.wieldPosition == 1 or item.wieldPosition == 2 or item.wieldPosition == 4 or item.wieldPosition == 7 or item.wieldPosition == 8 or item.wieldPosition == 9 then -- capacete, armadura, bota, calça, anel, amuleto return true elseif item.weaponType > 0 then -- sword, axe, club, distance , shield, wands, rods, ammunition return true end return false end E lembrando que os valores de wieldPosition são: 
      CONST_SLOT_HEAD = 1 CONST_SLOT_NECKLACE = 2 CONST_SLOT_BACKPACK = 3 CONST_SLOT_ARMOR = 4 CONST_SLOT_RIGHT = 5 CONST_SLOT_LEFT = 6 CONST_SLOT_LEGS = 7 CONST_SLOT_FEET = 8 CONST_SLOT_RING = 9 CONST_SLOT_AMMO = 10 Estou postando isso porque precisei e não encontrei aqui.
    • By gpedro
      Testado: MySQL & SQLite
      Distro: TFS 0.4_SVN & TFS 0.3.6

      MySQL

      ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
      Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
      * adaptação para 0.4
    • By VitorSubhi
      Apresentação: Olá galera do Tibia King, este é meu primeiro tutorial que desenvolvo após anos apenas sugando da comunidade, chegou a hora de compartilhar um pouco de conhecimento, rsrs...
      Após ver que muitos usuários tinham interesse em um sistema de Trade de Points in-game resolvi trazer um sistema totalmente completo para vocês.
       
      Funcionamento:
      Player 1 após adquirir os Points, pode iniciar uma negociação com o Player 2 através do comando /tradepoints Player 2, Quantidade. Será aberto uma Janela de Trade com o item referente aos Points. Após ambos aceitarem a negociação será realizado a troca de Points pelo item requisitado.
      Observações:
      Necessário ter acesso às Sources de sua Distro. Testado em servidor 8.6 (The Forgotten Server 0.4). Antes que venham falar que possui sistemas parecidos, veja o diferencial (Item não aparece em nenhum inventário, e não é necessário usar/comprar qualquer item).  
      Algumas Imagens:
       
      Instalação:
      Sources > Luascript.cpp Sources > Luascript.cpp Sources > Luascript.h  
       
      Server > Data > Lib > 050-function Server > Data > Creaturescripts > Scripts >Trade_Orbs.lua Server > Data > Creaturescripts > Creaturescripts.xml Server > Data > Creaturescripts > Scripts > Login.lua Server > Data > Talkactions > Scripts > Points_Trade.lua Server > Data > Talkactions > Talkactions.xml Créditos:
      Todo o sistema foi feito completamente por mim: Vítor Subhi.
      The Forgotten Server (Pelas Sources)
      Vodkart, White Wolf, Natanael Beckman, e a todos os demais membros do TK que não lembro o nome, que contribuíram indiretamente através de seus tutoriais.
       
       
       
       
       
    • By Killua
      Últimas atualizações:
       
      16/12/2013:
       
       


       
       
      Introdução:
       
       
      Este é o meu já conhecido evento Blood Castle Automático que estava em outro fórum que acabou. Estou trazendo ele aqui para que ele não "morra".
       
       
       
       
      Informações:  
       
      #Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo.
       
       
      Atualização [12/04/2014]
       
       
      Resolvi refazer o código, para facilitar a instalação e melhorar o funcionamento do evento.
       
       
      O que mudou?
       
       
       
       
       
      Instalando o evento:
       
      Lib:
       


       
       
      Movements: 
       


       
       
       
      Creaturescripts: 
       


       
      Monsters: 
       

          O evento pode acontecer de duas maneiras: automática ou manualmente. Vou por as duas possibilidades:     Automática:   

       
       
      Manual:
       


       
       
      Como Configurar:
       
       
      * Se você for colocar, dentro do evento, um teleporte para as pessoas que não quiserem mais participar, coloque o Action ID 9371 nele.
       
       
      * Lembre-se de por NO-LOGOUT tool e NO-PVP tool em toda área do evento!!
       
       
      Todas as demais explicações estão na lib, mas vou demonstrar como configurar os mais "confusos".
       
       
      No modo automático, você configura de quanto em quanto o tempo o evento vai acontecer. Nessa tag:
      <globalevent name="Blood Castle" interval="3600" event="script" value="BloodGlobalEvent.lua"/> Aqui está 3600 segundos, ou seja, 1 hora.
      * Se seu servidor for em milisegundos, multiplique o número por 1000, assim: 3600 segundos * 1000 = 3600000 milisegundos = 1 hora.
       
      No modo manual, para iniciar o evento, basta usar a talkaction /blood-start com seu god.
       
       
      Em posGuarda, vc deve colocar a posicao do Guarda do Portao, como mostrado abaixo:  
        As posPedras são onde ficam as pedras que tampam a passagem enquanto o evento não esta aberto, conforme na imagem abaixo:  
        Em estátua, vc deve colocar a posição em que o arcanjo vai ser criado, conforme na imagem abaixo:  

        Nas posParedes, vc deve por a posição das paredes que bloqueiam a entrada do castelo e que são removidas quando o guarda morre, conforme abaixo:  
        Em fromPos e toPos, você vai por o canto superior esquerdo e o canto inferior direito do mapa do seu evento, respectivamente. Dessa maneira:  
        As outras configurações eu acredito que já estejam bem explicadas.     Espero que gostem dessa nova versão. Recomendo a todos que já usam o evento, reinstalar com essa nova versão.   Qualquer dúvida ou bug, postem que irei responder.
×
×
  • Create New...

Important Information

Confirmação de Termo