Ir para conteúdo
  • Cadastre-se

Sistema Add Cast System (Pra quem já tem os códigos na distro)


Posts Recomendados

  • Respostas 67
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Bom pessoal, resolvi fazer esse tópico para complementar o tópico da distro que postei ..  Ela é TFS 0.4 rev 3777, e tem os códigos do cast system adicionados na distro, então vou ensinar neste tóp

Tenta muda essa parte:  AND stream_status > 0 AND online > por esta: AND cast > 0 AND online > Se funcionar eu troco no tópico!

A função getOutfitLink() está definida no website.

Posted Images

Funcionou perfeitamente aqui !  pessoal que ta com bug, procure o executável rev3777 tfs 0_4

 

link que contem este executável > http://www.tibiaking.com/forum/topic/57156-global-full-860-zao-war-system-cast-system/

 

baixa o ot por completo e use o executável, ira dar alguns erros, mas nada de grave ! fácil de resolver !

 

alguns bugs que pode ocorrer caso for utilizar esse tfs

 

bug do tile-store no mysql

 

solução :

CREATE TABLE `tile_store`
(
`house_id` INT UNSIGNED NOT NULL,
`world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
`data` LONGBLOB NOT NULL,
FOREIGN KEY (`house_id`) REFERENCES `houses` (`id`) ON DELETE CASCADE
) ENGINE = InnoDB;

 

pode dar error do tipo, não tem cast na tabela players, castviewers etc.. só adicionar !

 

ALTER TABLE `players` ADD `cast` INT( 11 ) NOT NULL DEFAULT '0';
ALTER TABLE `players` ADD `castDescription` VARCHAR( 50 ) NOT NULL;

 

lembrando que se aparecer algum bug sobre o cast no mysql, é só alterar a tag ADD 'NOMEDOERROR' INT( 11 ) para a coluna que estará faltando no mysql.

 

qualquer dúvida posso tentar ajudar ! chame no skype : tiago.newbye

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

Estou apenas com 1 bug na minha, todos os players que entrao no chat do cast, entram com mesmo nome do criados do canal cast, ai quando vou dar !cast off ele fecha o servidor, mais só se tiver pelo menos 1 no chat!

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 5 months later...
  • 4 months later...

Ou brow, fiz tudo certo como voce falou no tutorial, mais quando falo !cast ou / cast não acontece nada! não da nem 1 erro.

 

 

Parece que tá sem cast, estranho, tem que configurar algum comando? ou mudar algo

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 Qwizer
      GLOBAL 100% 7.40
      >> Information:
      -7.4 Features: No Protection zone nos barcos e  tapetes.
      - Spells, vocations e spells formuled baseada em Tibia 7.4. nao tem Hotkleys!
      -War System.
      -Cast System.
      -Anti Clone.
      -Task System (Mais de 50)
      -Party Sharing Experience. You can share experience in-party with your friends, and receive 10% bonus experience when actived (!share).
      -Nao tem runas no Shop. somente conjurada.
      -Editado, conjura runas 2x mais que real tibia (ex. Sd 2x).
      -Fast Soul Regen
      -Conjure Runes na backpack. !
      -Nao tem Wands/Rods, Burst Arrowns baseado em magic level.

      >> Vocation Features:
      -Paladins conjure mais ammunition. (ex. exevo con = 15 arrows)
      -Mages conjure mais runes. (ex. adori vita vis = 2 SDs)
      -Damage melhorado em 10% para Knights and Paladins.
      -Attack speed melhorado em 10% for all vocations.
       
      >> NPCs:
      -Nao vende runes.
      -Pode comprar bp de MF (pode remover se quizer): "buy bp mf"
      -Pode comprar bp de LF (pode remover se quizer): "buy bp lf"
      -Djinns in ankrahmun (Precisa de Quest)
      -Eremo sells amulet of loss.
       
      >> Game Features:
      -Bank system.
      -Auto-stack items
      -Full HP and MP at level up.
      -Stone Skin Amulet nao tem em NPCs, dropa somente de Warlock ou Hydra.
       
      >> Extra Information:
      -Real Tibia map: Full real Tibia map, incluindo todos os NPCs, Port Hope, monsters e quests 100% RL.
      - POI quest e todas as rooms(Custom feita por min).
      - Svarground 7.4.
      -Demon Oak Quest (Custom feita por min).
      -Uptime: Muito Estavel.
      -Cliente Próprio das 3 ultimas imagem, não acompanha o servidor (usei somente para tirar prints).

      DOWNLOAD
      OTSERV/SOURCES OTX 7.x/CLIENTE/WEBSITE/DATABASE  (Pra Editar o cliente basta abrir o Tibia.exe com notepad procurar o ip 167.114.111.25 e alterar pelo o seu ip caso tenha a mesma quantidade de numeros)
      Executavel + DLLs
      Scan Virus Total.
       

      Creditos
      Qwizer - OTX
    • Por luanluciano93
      Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
       
      É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
      -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end  
       
      As funções são:
      • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
      • player:isVip() - Retorna se o player é vip ou não.
      • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
      • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
      • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
      • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
      • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
      • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
       

      Qualquer dúvida ou erro/bug poste aqui.
    • Por Killua
      Como funciona?
      A cada monstro que vc mata, seus itens equipados ganham 1 de exp. Quando seus itens chegarem às quantidades de exp definidas, eles upam e ficam com o nome assim: Demon Helmet + 1. Helmets, armors, legs, e boots recebem 1 de arm a cada vez que upam. Armas recebem 1 de ataque e escudos 1 de defesa.
       
      Para o monstro contar, ele deve dar um mínimo de exp (definido no script). O número de exp a que me refiro é aquele um presente no arquivo .xml.
       
      Para instalar, crie Killua Items Upgrade.lua em data/creaturescripts/scripts e coloque:
        Em data/creaturescripts/creaturescripts.xml coloque essas duas tags:
      <event type="kill" name="Item level" event="script" value="Killua Items Upgrade.lua"/> <event type="login" name="Item levell" event="script" value="Killua Items Upgrade.lua"/> Configurando: Na tabela table_of_slots, coloque em quais slots os itens upam.
      min_exp é a experiência mínima que o monstro deve ter para contar exp para o item. Se vc colocar 500, somente os monstros que tem exp igual ou superior a 500 no arquivo.xml vão valer.
      exp_levels são os valores de exp que os itens devem atingir para upar. No meu caso, quando o item alcançar 50 de exp, ele upa para o level 1. Quando alcançar 50 de exp, upa para o level 2 e assim por diante.
    • Por 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
    • Por 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



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo