Ir para conteúdo

jacksonsns

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    jacksonsns deu reputação a Stigal em Descompiladores de Clientes (Todos)   
    Download's:
    1 Descompila qualquer coisa que seja compilada no Molebox.(Molebox UnPacker)
    1 Descompila o Dbko2. (Dbko2 UnPacker)
    1 Descompila qualquer client que seja versão e title correto.(Tibia UnBinder 0.2)

    Scan's:
    Molebox UnPacker
    Dbko2 Unpacker
    Tibia UnBinder

    Créditos:
    Wookash & Zelek: Por Criar os Progamas
    Chojrak: Por Criar o TibiaUnbinder
  2. Gostei
    jacksonsns deu reputação a tvrzerah em Global 8.6 com varias atualizações do 12   
    Na Source, no arquivo protocolgame.cpp altere TODA essa função
     
    void ProtocolGame::sendOutfitWindow()
     
    Para:
      
    void ProtocolGame::sendOutfitWindow() { NetworkMessage msg; msg.addByte(0xC8); Outfit_t currentOutfit = player->getDefaultOutfit(); AddOutfit(msg, currentOutfit); std::vector<ProtocolOutfit> protocolOutfits; if (player->isAccessPlayer()) { static const std::string gamemasterOutfitName = "Gamemaster"; protocolOutfits.emplace_back(gamemasterOutfitName, 75, 0); } const auto& outfits = Outfits::getInstance().getOutfits(player->getSex()); protocolOutfits.reserve(outfits.size()); for (const Outfit& outfit : outfits) { uint8_t addons; if (!player->getOutfitAddons(outfit, addons)) { continue; } protocolOutfits.emplace_back(outfit.name, outfit.lookType, addons); if (protocolOutfits.size() == 100) { // Game client doesn't allow more than 50 outfits break; } } msg.addByte(protocolOutfits.size()); for (const ProtocolOutfit& outfit : protocolOutfits) { msg.add<uint16_t>(outfit.lookType); msg.addString(outfit.name); msg.addByte(outfit.addons); } writeToOutputBuffer(msg); }  
    Espero ter ajudado, me reportem todos os demais problemas que eu tentarei solucionar.
  3. Gostei
    jacksonsns deu reputação a Bruxo Ots em Npc Imbuiment item Seller   
    Ola meus queridos, trago para vosas senhorias este belo npc vendedor de itens para imbuiment.
     
    Ele pode ser melhorado? sim claro.
    Esta funcionando? sim claro
    Bruxo você entende de programação? claro...que não.
     
    Esta por Gold, ja que curto coisas custons, o npc base usado foi a A Sweaty Cyclops.
    E isso pessoal espero que usem e abusem.
     
     
    Instalação:
    Dentro da pasta Npc de CTRL+C E CTRL+V em cima de algum dos arquivos .XML e renomeio o mesmo para Imbuiment.
    ou o nome que desejar e cole isso dentro.
    <?xml version="1.0" encoding="utf-8"?> <npc name="Imbuiment Seller" script="Imbuiment.lua" walkinterval="0" floorchange="0"> <health now="100" max="100" /> <look type="1078" /> </npc>  
     
    Crie um arquivo na pasta Npc/Scripts chamado de Imbuiment.lua ou o nome que desejar e cole isso dentro!!!
     
     
    Essa é a linha que pede os golds e que remove o mesmo pela troca dos items if player:removeItem(2160,100) then.
    2160, id do coin e 100 a quantidade.
     
    Já essa é a linha que vai adicionar os items ao player. Deixei comentado pra ficar facil a visualização.
    player:addItem(10602, 25) --Vampire Teeth
    player:addItem(10550, 15) --Bloody Pincers
    player:addItem(10580, 5) --Piece of Dead Brain
     
     
     
    É isso queridos até o proximo npc basicão.
  4. Curtir
    jacksonsns deu reputação a Pedro. em Aldora Layout 1x   
    Olá, tava olhando aqui um antigo HD que por acaso não estava funcionando e acabei conseguindo recuperar algumas coisas, então como estou afastado do forum estarei disponibilizando aqui. 
     
     
    Version: TFS 1x+
     
    Download:
    Aldora
     
    Virustotal:
    AQUI
    Images:
     
     
     
     
     
  5. Gostei
    jacksonsns deu reputação a SuggestName em [001] - Movements - StepIn/StepOut: Parâmetros   
    Aula 001 Movements- Explicação de parâmetros.
     
    Dentro das funções StepIn/StepOut temos alguns parâmetros que podem ser muito uteis para alguns tipos de scripts.
     
    Esses parâmetros são:
     

     position, lastPosition, fromPosition, toPosition  
    1° Parâmetro - position
     
    Esse parâmetro é o responsável por mostrar a posição de onde o script foi ativado, Toda vez que um player ou creature executar um movement StepIn/StepOut o parametro position vai marcar a exata posição de onde o script foi ativado.
     
    2/3 ° Parâmetros - lastPosition, fromPosition
     
    Esses dois parâmetros tem a mesma função, que é registrar de onde o player ou creature que executou o script veio, Toda vez que um player ou creature se move, ele sai de um lugar, passar por outro lugar e termina em outra posição, e a função do lastPosition, fromPosition é mostrar de onde esse player ou creature vieram antes de ativar o script.
     
    4° Parâmetro - toPosition
     
    Esse parâmetro tem como objetivo mostrar para onde o player ou creature foram depois de executar o script, Como dito antes, Toda vez que um player ou creature se move, ele sai de um lugar, passar por um lugar e termina em uma outra posição, e essa posição aonde ele termina a sua ação é o toPosition.
     
    Quais quer duvidas, ou acrecemos que tenham a fazer no tópico serão bem vindos, Afinal eu não sei tudo, me desculpe se errei em alguma coisa,
     
    Essa é a explicação da primeira vídeo aula [9/12/2014]
  6. Gostei
    jacksonsns deu reputação a MaXwEllDeN em O que é o item.UID?   
    Items UniqueID
     
    Olá, pessoal. Tudo tranquilo?
     
    Após muito tempo sem publicar nada, resolvi comentar um assunto que pode ser um pouco obscuro, que eu usava bastante mas demorei certo tempo pra entender realmente o que era. Estou falando do UniqueID, os IDs únicos.
     
     
    Alguma vez vocês já se perguntaram como o servidor faz para diferenciar o health potion que você possui em sua backpack, do health potion que outro player acabou de dropar em uma caçada?
    Pois é! O servidor tem uma forma bem simples e inteligente de distinguir um item do outro. Ele atribui a cada item um número único, que funciona como a digital do item. Dessa forma, quando usamos o health potion que está em nossa backpack, o servidor sabe exatamente qual item remover, dentre tantos outros existentes no seu servidor.
     
    -Certo Max, mas aonde você quer chegar com esse papinho?
     
    As UniqueIDs podem ser usadas para fazer a ligação de um item específico a um script, assim como as actionIDs, a diferença nesse caso é que só podemos ter um único item em todo o servidor com esse UID(uniqueID).
     
    -Hmm, quer dizer que a UID em um script funciona da mesma forma que uma AID(actionID)?
     
    Quase isso. Pelo Map Editor você pode atribuir a UniqueID diretamente a algum item do mapa, assim como você faz com ActionID. Basicamente, você poderia dividir as ações no seu servidor em duas partes: Aquelas que são exclusivas de um único item e aquelas que podem ser atribuídas a mais de um item. Presta atenção que quando falo único item não estou me referindo ao tipo do ítem, como por exemplo todos os crystal coins(itemID 2160) do jogo, mas sim a um crystal coin específico, como um que esteja em uma área de alguma quest.
     
    Por fim, para esclarecer mais um pouco, vou deixar dois exemplos distintos, onde em um eu escolheria usar o itemUID para atribuir certa ação a um item, e em outro eu escolheria usar a actionID.
     
    Caso onde seria mais agradável utilizar itemUID:
     
    Imagina que você está desenvolvendo um script para a Annihilator, mais precisamente da alavanca que teletransporta os players para dentro da sala dos Demons. Como essa alavanca é um item único no servidor, não haverá nenhuma outra alavanca que quando clicada levará os players para a sala dos Demons, eu escolheria atribuir a ela um itemUID único, e associar esse UID ao script que teletransporta os players para dentro da quest.
     
    Caso onde seria mais agradável utilizar  actionID:
     
    Agora, imaginemos um caso onde precisamos criar por exemplo, uma pedra que heala quem clicar nela, e precisamos atribuir essa mesma ação a três pedras iguais, distribuídas pelo mapa. Como nesse caso teremos mais de um item compartilhando a mesma ação, seria ideal utilizarmos actionIDs para fazer a ligação dessas pedras com o script que heala o player.
     
    É isso, pessoal. O tópico de hoje foi bem simples e enxuto. Caso tenha restado alguma dúvida ou vocês tenham alguma dúvida sobre scripting no geral e gostariam de saber mais, pode deixar um comentário aí que assim que eu tiver tempo respondo.
     
    Abraços e fiquem com Deus.
     
     
  7. Gostei
    jacksonsns deu reputação a Noob II em Adicionar Storage e remover outra Storage   
    setPlayerStorageValue(cid, STORAGE, -1) Essa é a função de remover storage, não sei se é só isso que você quer 
  8. Gostei
    jacksonsns deu reputação a TonyHalk em Pasta Data - Funções Em Lua   
    Parte I – Funções Lua


    irei mostrar como usar e quase todas as funções em lua existentes no otserver, lembrando que esse tutorial foi baseado no The Forgotten Server 0.3.0 Alpha 3. Portanto poderá haver funções aqui que não terá em outros otservers ou será diferente o nome.
    Lembrando que todas as funções existentes aqui poderão ser usadas tanto em actions,npcs,movements,talk actions e spells.
    Dividi as funções em três grandes grupos e subgrupos, os três grandes são funções get(receba), set (insira) e do (faça).

    Use Forgotten Server 3.0 pelo amor de deus, se você não saber usar sql aprende a usar SqlLite nesse link... Se você Aries você não tem honra para mexer aqui

    Funções Get
    São as funções que retornam valores, ou seja, elas fazem checagens. São muitos usadas e uteis. Ela é usada em condicionais (If, while, for) ou inseridas em variaveis. O modo de usa-la depende do tipo de script ou do jeito que você preferir.
    Dividi elas em dois grupos, a get simples e a get com parametros.

    Funções get simples
    São funções simples mesmo basta coloca-las e elas retornarão um valor, pode coloca-las em condicionais ou em variaveis. E todas elas buscam valores em players.
    Os que há creature pode ser usados em monstros (a maioria).
    São elas :

    getPlayerFood(cid) – Verifica quanto de tempo de comida o player possui.
    getCreatureHealth(cid) – Verifica a health atual do player.
    getCreatureMaxHealth(cid) – Verifica a health maxima do player.
    getCreatureMana(cid) – Verifica a mana atual do player.
    getCreatureMaxMana(cid) – Verifica a mana maxima do player.
    getPlayerLevel(cid) – Verifica o level do player.
    getPlayerExperience(cid) – Verifica a experiencia.
    getPlayerMagLevel(cid) – Verifica o magic level.
    getPlayerAccess(cid) – Verifica o nivel de acesso (player,gm,tutor...)
    getPlayerTown(cid) - Verifica o id da cidade natal do player.
    getPlayerVocation(cid) – Verifica a vocação dele.
    getPlayerSoul(cid) – Verifica o soul points.
    getPlayerFreeCap(cid) – Verifica quanto de capacidade atual existe.
    getPlayerLight(cid) - Verifica o tamanho da luz do player.
    getPlayerGuildId(cid) – Verifica o id atual da guild do player.
    getPlayerGuildName(cid) – Verifica o nome da guild.
    getPlayerGuildRank(cid) - Verifica o posto dele na guild.
    getPlayerGuildNick(cid) – Verifica o nick dele na guild. (aquilo escrito no final entre parenteeses).
    getPlayerGuildLevel(cid) – Verifica o nivel da guild.
    getPlayerSex(cid) – Verifica o sexo do player(0-mulher, 1 – homem).
    getPlayerLookDir(cid) – Verifica a direção na qual ele está olhando. (0-norte, 1-leste, 2-sul, 3 -oeste).
    getPlayerGUID(cid) – Verifica o id dele na database.
    getPlayerPromotionLevel(cid) – Verifica o nivel da promoção do player.
    getPlayerGroupId(cid) – Verifica o nivel dele. (igual acesso).
    getPlayerInstantSpellCount(cid) - Verifica quantas spells o player sabe.
    getMonsterTargetList(cid) – Verifica os montros na qual você está atacando.
    getMonsterFriendList(cid) – Verifica os monstros amigo (provavelmente summons).
    getCreatureOutfit(cid) – Verifica o id da roupa do player.
    getCreaturePosition(cid) – Verifica a posição x,y,z do player.
    getCreatureSpeed(cid) – Verifica a velocidade atual do player.
    getCreatureBaseSpeed(cid) – Verifica a velocidade base do player.
    getCreatureName(cid) – Verifica o nome do player.
    getCreatureTarget(cid) – Verifica quem o player está atacando.
    getPlayerPremiumDays(cid) – Verifica quantos dias de premmium account o player possui.
    getPlayerSkullType(cid) – Verifica qual skull o player possui.
    getPlayerBalance(cid) – Verifica o saldo bancario do player.
    getPlayerStamina(cid) – Verifica o tempo de stamina.
    getPlayerNoMove(cid) – Verifica se ele pode se mover.
    getPlayerExtraExpRate(cid) – Verifica a taxa de experiencia extra (a confirmar).
    getPlayerPartner(cid) – Se o player está em parte ou não.
    getPlayerParty(cid) – Verifica informações da party do player.
    getPartyMembers(lid) – Verifica os membros da party segundo o id da função acima.
    getCreatureMaster(cid) – Verifica a criatura mestre (a que sumona).
    getCreatureSummons(cid) – Verifica os summons da criatura.


    A sintaxe dessas funções é essa :
    Exemplo :

    if getCreatureMana(cid) == 20 then

    Ou

    mana = getCreatureMana(cid)
    if mana == 20 then


    Funções get com parametros.

    Essas funções fazem o mesmo papel da outra get simples, porém elas tem certos parametros pois normalmente elas checam coisas a mais, e algumas checam objetos e não só valores do player.
    Lembrando que se for comparar itens que são com nomes (exemplo : getItemNameById(2195) == 'boots of haste' then) deve se colocar entre aspas pois é uma função string. Numeros não prescisam estar dentro de aspas.
    São elas :


    getPlayerSkill(cid, skillid) - checa o skill especificado do player (0- fist,1-club, 2-sword, 3-axe, 4-distance, 5 -shield, 6 – fishing).
    getPlayerItemCount(cid,itemid) - checa a quantidade de item agrupaveis.
    getPlayerSlotItem(cid, slot) - Checa que item tem no slot do player (1-cabeca, 2- amuleto, 3- backpack, 4-armadura, 5-mao direita, 6-mao esquerda, 7-pernas, 8- botas, 9-anel, 10 slot da torcha).
    getPlayerWeapon(cid, <optional> ignoreAmmo) - Checa que arma o player esta usando. (o outro paramentro ainda n usei).
    getPlayerItemById(cid, deepSearch, itemId, <optional> subType) - Procura o item especifica no item, pode colocar o subtipo (viais por exemplo).
    getPlayerDepotItems(cid, depotid) - Ve quantos itens tem no depot da cidade (Por id de cidade).
    getPlayerFlagValue(cid, flag) - Ve as flag dos players (Apenas em TFS e nunca usei).
    getPlayerCustomFlagValue(cid, flag) - Verifica o valor da flag.
    getPlayerLearnedInstantSpell(cid, name) - Verifica se o player sabe a magia.
    getPlayerInstantSpellInfo(cid, index) - Desconheço
    getInstantSpellInfoByName(cid, name) - Verifica valores da magia
    getInstantSpellWords(name) - Retorna a palavra magica da magia.
    getPlayerStorageValue(uid, valueid) - Verifica o valor do storage do player
    getCreatureByName(name) - Retorna o nome da criatura.
    getPlayerGUIDByName(name) - Verifica o numero da tabela sql do player.
    getPlayerNameByGUID(guid) - Verifica o nome do jogador pelo numero da tabela sql
    getContainerSize(uid) - Verifica quantos slots tem o container.
    getContainerCap(uid) - Verifica quanto pesa o container.
    getContainerItem(uid, slot) - Verifica se há um container no slot especificado.
    getDepotId(uid) - - Verifica o id da cidade do depot.
    getItemDescriptionsById(itemid) - Pega a descrição do item pelo id.
    getItemNameById(itemid) - - Pega o nome do item pelo id.
    getItemPluralNameById(itemid) - Pega o nome em plural do item pelo id.(apenas itens agrupaveis).
    getItemIdArticleById(itemid) - Retorna um valor pelo id. Desconheço essa função
    getItemWeightById(itemid, count, <optional: default: 1> precise) - -Pega o peso do item por id.
    getItemDescriptions(uid) - - Pega a descrição do item por uid. (por exemplo se ele é item ou item2 em actions).
    getItemName(uid) - - Pega a descrição do item por uid.
    getItemAttack(uid) - Pega o ataque do item por uid.
    getItemPluralName(uid) - Pega o nome em plural por uid.
    getItemExtraAttack(uid) - Modifica o ataque extra da arma (Acho que deve ser ataque elemental ou defesa de armor).
    getItemIdArticle(uid) - - Desconheço.
    getItemDefense(uid) - - Pega a defesa do item por uid.
    getItemExtraDefense(uid) - - Pega a defesa extra (armor) por uid.
    getItemArmor(uid) - - Pega o valor de armour por uid.
    getItemAttackSpeed(uid) - - Pega a velocidade de ataque por uid.
    getItemHitChance(uid) - - Pega a chanche de dano do item por uid.
    getItemIdByName(name) - - Retorna o id do item pelo nome.
    getPromotedVocation(vocation) - - Verifica qual o nome da vocação promocional da vocação(Sorcerer = Master Sorcerer).
    getPlayerBlessing(cid, blessing) - - Verifica qual nivel de benção o player tem (1 = 1, 2 =2...).
    getTemplePositionByName(townName) - - Verifica as coordenadas do templo pelo nome da cidade.
    getTemplePositionById(townId) - - Verifica as coordenadas do templo pelo id da cidade.





    Funções Set
    São poucas funções. Elas inserem valores ou seja inserem novos valores, inutilizando os antigos. Deve se usa-las dentro de condicionais.
    Exemplo :

    Quote

    if getItemNameById(item.uid) == 'boots of haste' then
    setItemArmor(item.uid, 5)
    end

    No caso se o item se chamar boots of haste, o script coloca arm 5 nela.

    São elas :

    setItemAttack(uid, attack) - Modifica o ataque da arma
    setPlayerStamina(cid, minutes) - Adicione tempo em stamina.
    setPlayerExtraExpRate(cid, value) - Modifica mais taxa de experiencia
    setPlayerPartner(cid, guid) - Desconheço
    setItemPluralName(uid) - Modifica ou adiciona o nome do item no plural.
    setItemName(uid) - Muda o nome do item.
    setItemIdArticle(uid) - Modifica o article no item (sei la q merda é essa)
    setItemExtraAttack(uid, extraattack) - Adiciona ataque extra na arma.
    setItemDefense(uid, defense) - Modifica defesa no item
    setItemExtraDefense(uid, extradefense) - Modifica aquela defesa extra na arma
    setItemArmor(uid, armor) - Modifica a armor do item
    setItemAttackSpeed(uid, attackspeed) - Muda a velocidade de ataque do item
    setItemHitChance(uid, hitChance) - Modifica a taxa de dano do item
    setGlobalStorageValue(valueid, newvalue) - Adiciona um valor global (Muito util para scripts avançados)
    setHouseOwner(houseid, ownerGUID) - Muda o dono da casa
    setWorldType(type) - Muda o estilo do mundo para PvP, Non Pvp e Pvp Enforced




    Funções do
    Funções que fazer algo, normalmente modificam , porem ao contrario do set algumas apenas adiciona valores. São usadas dentro de condicionais.
    A sintaxe dela é :
    if item.itemid == 2195 then
    doCreatureAddHealth(cid, -1000)
    end

    No caso se o item usado no script for 2195, ele remove 1000 de hp.

    São elas :
    doPlayerLearnInstantSpell(cid, name) - Faz o player aprende a magia pelo nome dela.
    doRemoveItem(uid, quantidade) - Remove o item do player.
    doPlayerFeed(cid, food) - Adiciona "comida" ao player.
    doPlayerSendCancel(cid, text) - Manda aquela mensagem branca no rodape da tela.
    doPlayerSendDefaultCancel(cid, ReturnValue) - Inutil pelo que saiba , pq nunca vi um script com isso e por isso n sei pra q serve.
    doTeleportThing(cid, newpos, <optional> pushmove) - Teleporta o player para uma nova posição.
    doTransformItem(uid, toitemid, <optional> count/subtype) - Transforma o item em outro.
    doCreatureSay(cid, text, type) - - Faz o player falar algo.
    doSendMagicEffect(pos, type[, player]) - Faz algum efeito magico
    doSendDistanceShoot(frompos, topos, type) - Faz algum efeito de distancia
    doChangeTypeItem(uid, newtype) - Muda o tipo dele ou a quantidade de itens agrupaveis.
    doSetItemActionId(uid, actionid) - Adiciona uma nova actionid por uid.
    doSetItemText(uid, text) - - Adiciona um texto ao item.
    doSetItemSpecialDescription(uid, desc) - Coloca a descrição especial no item. (Esse item foi feito especialmente para sei la kem).
    doSendAnimatedText(pos, text, color) - Manda um texto animado (Se vc joga servidor Pvp Enforced sabe qual é).
    doPlayerAddSkillTry(cid, skillid, n) - Adiciona uma tentativa em um skill (Se vc colocar 9999999 ele aumenta apenas 1 skill).
    doCreatureAddHealth(cid, health) - Adiciona life ao player.
    doCreatureAddMana(cid, mana) - Adiciona mana ao player.
    doPlayerSetTown(cid, townid) - Muda a cidade do player.
    doPlayerSetVocation(cid,voc) - Muda a vocação do player ( Não coloque vocação promocional em TFS pq dará erros).
    doPlayerRemoveItem(cid, itemid, count, <optional> subtype) - Remove um item do player.
    doPlayerAddExp(cid, exp) - Adiciona experiencia ao player.
    doPlayerAddOutfit(cid,looktype,addons) - Adiciona addons do outfit ao player.
    doPlayerRemoveOutfit(cid,looktype,addons) - Remove addons do outfit do player.
    doAddContainerItem(uid, itemid, <optional> count/subtype) - Adiciona um container por uid.
    doBroadcastMessage(message, type) - Manda uma mensagem global ao servidor.
    doPlayerBroadcastMessage(cid, message, <optional> type) -
    doPlayerSetSex(cid, newSex) - - Muda o sexo do Player (0- mulher, 1 homem)
    doCreatureChangeOutfit(cid, outfit) - Muda a roupa do player.
    doSetMonsterOutfit(cid, name, time) - Muda a roupa para de um monstro.
    doSetItemOutfit(cid, item, time) - Muda a roupa do player para de um item.
    doSetCreatureOutfit(cid, outfit, time) - Adiciona uma roupa por tempo.
    doPlayerAddMapMark(cid, pos, type, <optional> description) - Adiciona aquelas marcações no mapa do jogador.
    doPlayerAddPremiumDays(cid, days) - Adiciona dias de premmium no jogador
    doPlayerAddManaSpent(cid, mana) - Adiciona % de magic level (Se vc colcoar 99999999 ele aumentará muitos mls...)
    doPlayerAddSoul(cid, soul) - Adiciona soul points ao jogador
    doPlayerAddItem(uid, itemid, <optional> count/subtype, <optional: default: 1> canDropOnMap) - Adiciona itens no player.
    doPlayerAddItemEx(cid, uid, <optional: default: 0> canDropOnMap) - Adiciona um item2 no player (Estranho).
    doPlayerSendTextMessage(cid, MessageClasses, message) - Manda um texto pro player.
    doPlayerAddMoney(cid, money) - Adiciona dinheiro ao player
    doPlayerRemoveMoney(cid, money) - Remove dinheiro do player.
    doPlayerWithdrawMoney(cid, money) - Remove dinheiro do banco
    doPlayerDepositMoney(cid, money) - Adiciona dinheiro ao banco.
    doPlayerTransferMoneyTo(cid, target, money) - Transfere dinheiro do banco.
    doShowTextDialog(cid, itemid, text) - Mostra o texto do item
    doDecayItem(uid) - Decai o item (aprodecer)
    doCreateItem(itemid, type/count, pos) -
    doCreateItemEx(itemid, <optional> count/subtype) - Cria um item2.
    doTileAddItemEx(pos, uid) - Cria um item2 em um tile
    doAddContainerItemEx(uid, virtuid) - Adiciona um item2 no container
    doCreateTeleport(itemid, topos, createpos) - Cria um teleport
    doSummonCreature(name, pos) - Sumona um monstro

    Existem mais comandos porém são rarissimos de ser usados. Por que os cara do TFS criam comandos em Luas para o Gesior e Jiddo se lascarem criando tranqueiras em Lua.


    Stackpos
    Sem duvidas, umas das partes mais chatas de explicar, porém ao aprender é dificil esquecer.
    O stackpos é usado para se mexer em itens empilhados, infelizmente ele se modifica muito então essa tabela mostra os stackpos que não mudam.


    Quote

    0 – ground (chão)
    1- Qualquer objeto acima do chão (se houver chão)
    253 – player ou monstro
    255 – item mais alto de qualquer pilha
    65535 – dentro de um player

    Agora tirando isso os de 2 a 252 sempre mudam (Eu acho que não esqueci os outros que mudam), então vou tentar explicar do jeito que entendi antigamente...
    Se você tem empilhado o chão, uma mesa, e um bag. Os stackpos ficam assim


    Quote

    0 – chão
    1 – mesa
    2 – bag
    Agora se você tem os mesmo itens e em cima da bag uma backpack e um scarab coin.

    Quote

    0-chão
    1-mesa
    2-scarab coin
    3-backpack
    4-bag

    Confundiu ? Sim é normal, se houver três ou mais itens acima do chão, o chão e o objeto acima dele continuam com o mesmo stackpos. Porém depois é contado de cima para baixo.
    Veja esse exemplo :
    stackpos:

    Quote

    0-areia
    1-mesa
    2-backpack
    3-bag
    4-gold coin
    5-rope
    6-shovel
    7-machete
    8-dead human

    Nesse caso a ordem dos itens de baixo para cima é :
    Areia, mesa, dead human, machete, shovel, rope, gold coin.bag e backpack. Entenderam agora ?
    Se não tente fazer uns testes que com certeza entenderá. E depois pelo seu bem, tente não esquecer isso. Pois em movements é importantissimo.



    Bem esse tutorial foi leve e servirá de base para os proximos, pois esses comandos podem ser usados em tudo que há lua.
    Peço desculpas se ele fico confuso
    Pois não estou vagal quanto antes e tenho pouco tempo...
    Esperem que virão mais tutoriais.

    Comentarios é o combustivel. Então deem sugestões, reclamações ou me ofendam sei la.
  9. Gostei
    jacksonsns deu reputação a MaXwEllDeN em [Aula 1] Introdução   
    Introdução
    Aula 1
    O que é scripting?
    Do modo mais simples possível: scripting é o ato de programar. O nome scripting vem do nome "script".
    O que é um script?
    De um modo geral, um script é um bloco de código escrito em uma linguagem de programação interpretada, ou seja, ele precisa que alguma coisa leia ele e possa "traduzir" seu conteúdo. Lembre-se de que "script" não é um termo específico de Open Tibia Servers.
    O que é uma linguagem de programação interpretada?
    Os brasileiros falam português, ingleses falam inglês e chineses falam mandarim, e com isso o mundo é composto por várias línguas.
    No mundo da programação não é diferente. Existem várias línguas que podem ser usadas, cada uma com uma característica e modo de escrever diferente (Assim como o português é diferente do inglês).
    Entre estas linguagens, existem 2 tipos: as linguagens interpretadas e as linguagens compiladas (Não-interpretadas). Podemos fazer uma comparação tosca com a vida real: o português seria uma linguagem interpretada (Nosso cérebro precisa "traduzir" a mensagem), e os desenhos seriam a língua compilada (Nosso cérebro reconhece automaticamente a "mensagem" do desenho).
    As linguagens compiladas são aquelas que não precisam ser lidas por nenhum programa, pois "conversam" diretamente com o computador, enquando a linguagem interpretada não consegue se comunicar com o computador, então a linguagem compilada recebe a mensagem do codigo interpretado e traduz numa linguagem que o computador entenda, dai a linguagem interpretada pode conversar com o computador (Desde que alguém traduza suas mensagens).
    Voltando para a parte de Open Tibia Servers, a linguagem compilada é a linguagem usada no seu servidor: o .exe no Windows, por exemplo, e a linguagem interpretada são os scripts .lua. O seu servidor compilado vai ler os scripts .lua e traduzir o conteúdo deles para que o computador possa executar o que o script manda.
    Se os scripts são escritos em linguagens interpretadas, qual é a linguagem dos script usados nos Open Tibia Servers?
    Os Open Tibia Servers usam uma linguagem de programação (Interpretada) chamada Lua, que foi feita aqui no Brasil mesmo.
    Características da linguagem de programação Lua:
    Linguagem de Programação Interpretada Linguagem de Programação Imperativa ou Programação Procedural Linguagem de Scripts ou Linguagem de Extensão Pequena, Fácil, Leve e Eficiente " Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princípio, para ser usada em um projeto da Petrobras. Devido à sua eficiência, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da programação, como no desenvolvimento de jogos (a LucasArts, por exemplo, usou a linguagem no jogo Escape from Monkey Island), controle de robôs, processamento de texto, etc. Também é freqüentemente usada como uma linguagem de propósito geral. "
    Wikipédia - Lua (Linguagem de Programação)
    O que eu preciso para aprender Lua e começar a produzir meus scripts?
    Paciência (Embora seja de fácil aprendizado, você vai levar algum tempo para aprender a linguagem)
      Humildade (Nunca se sinta o melhor, nem ridicularize aqueles que tiverem um conhecimento menor que o seu)
      Vontade (Não adianta fazer as coisas sem o menor interesse, você não chegará a lugar nenhum sem vontade)
      Criatividade (O principal para produzir um script é ter a idéia do que você vai fazer)
      Conhecer a Lógica da Programação (Não se preocupe, eu vou ensinar a Lógica da Programação nas próximas aulas.)
      Interpretador Lua (Para testar seus scripts, claro. Você pode usar o seu OTServer para testar, e ainda usar um interpretador Lua para testar seus scripts simples fora do OTServer)
      Editor Lua (Não é realmente necessário, uma vez que você pode usar um editor de textos qualquer, como o bloco de notas, mas ter um Editor Lua vai ajudar muito, e alguns até vêm com um Interpretador Lua junto!)
      Pagar uma taxa de R$ 700,00, afinal, não estou escrevendo estas aulas de graça! (OK, não precisa pagar nada, mas no mínimo poste seus scripts aqui e ajude a seção a crescer ) Onde posso encontrar um Interpretador e/ou Editor Lua?
    Como interpretador (No caso de produzir scripts para Open Tibia Servers) você deve usar um servidor próprio, pessoal somente para testar os scripts que você fez, e pode usar também um Interpretador Lua geral, para testar seus scripts fora dos OTServers.
    Como Editor Lua você pode usar qualquer editor de textos, mas eu recomendo usar um editor que seja próprio para a linguagem Lua. Existem dois editores que já vem com um Interpretador Lua "embutido". São eles: OTScript Live! [Download] e SciTE (Scintilla) [Download].
    Exercício-Tarefa:
    Pesquise mais na internet sobre a linguagem Lua, Scripts, etc...
    Somente dúvidas serão aceitas aqui! Comentários que não forem dúvidas serão apagados e os autores serão reportados!
    Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos são dele.
    Aula 2 - Lógica da programação >> Script Live By colex.rar
  10. Gostei
    jacksonsns deu reputação a Vampira em [Tutorial] Criando quest log   
    *Criando quest log por Action*


    Como eu não achei nenhum tutorial desse por aqui resolvi criar um, neste tutorial ensinarei vocês a criar um quest log para suas quests

    Oque é quest log: Quest Log tem a função de armazenar as quests que você fez ou está fazendo, mostrar em que parte da QUEST você está e como seguir adiante, etc...

    Em data/XML abra o arquivo chamado quests.xml nele vai ter mais ou menos assim:


    Entendendo:

    Vermelho = Nome da sua Quest
    Verde = Storage ID da Quest que vai aparecer no Quest Log
    Azul = Numéro de Início da Quest
    Negrito = Nome da Missão
    Rosa = Storage da Missão
    Laranja = Valor de Início da Missão
    Marrom = Valor de Finalização
    Preto = Descrição da Missão

    Bom, agora que nós já entendemos o que cada coisa faz, podemos dar continuidade com o SCRIPT. aonde estáNome da Quest você deve colocar o Nome que vai aparecer no Quest Log, depois que você inseriu o nome da sua Quest você deve ir na pasta data/actions/scripts e achar o arquivo .lua da sua Quest, nele você apertaCTRL+F e depois digita isso aqui:


    Depois que você encontrar este comando clique em Cancelar, depois vai ter mais ou menos isso:

    Exemplo:


    Relembrando que a cor Verde é o nosso Storage ID e o Azul é o nosso Comando de Início

    Agora que nós achamos o nosso Storage ID e o nosso Comando de Início podemos preencher a primeira linha da nossa Quest assim:


    Explicando um pouco para poder continuarmos com nosso Tutorial, uma quest é composta de Storages Values, cada movimento que você avança em sua Quest é dado um Storage Value novo.

    EX: Você pega a Quest (Ganhou seu primeiro Storage Value), Você abriu o Baú (Ganhou seu Storage Value Final.). Isso quando você está fazendo a Quest por Action.

    Então nós entendemos que na primeira linha da Quest nós precisamos por o Value de quando você pega a Quest. Agora continuando com o SCRIPT...

    Nós vimos que o nosso Storage ID era 1 e o nosso Comando de Início era 1, então nós acabamos de preencher a primeira linha com os números que encontramos.

    Agora nós vamos para a segunda linha, primeiramente você deve colocar o nome da sua missão, dai você me pergunta:

    - Nós já não colocamos o nome da nossa Quest?
    Resposta: Sim, nós colocamos o NOME DA QUEST agora vamos colocar o NOME DA MISSÃO, ou seja, aqueles nomes que fica no retângulo de cima quando você da SHOW na QUEST, aquilo é uma Missão.

    Bom, depois que você colocou o Nome da sua Missão, como eu havia explicado antes sobre Storages Values, nós devemos pegar agora o nosso primeiro Storage Value novamente e o nosso primeiro Comando de início, ficando assim:


    Pronto, nós preenchemos o nosso StorageValue e o nosso Comando de Início agora nós precisamos inserir o valor de término, depois que você pega o Baú (como expliquei ali em cima) você recebe o seu segundo Storage Value digamos que o meu seja assim:


    Observe que o Storage Value de quando você pega o Baú tem 2 em vez de 1, isto porque o 2 é o número de encerramento da missão, então nós devemos colocar assim na segunda linha:


    Resumindo, a nossa missão começa logo quando você recebe a missão do NPC e ela se completa quando você abre o Baú. Agora que a parte mais difícil já foi, vamos para a parte mais fácil do nosso SCRIPT, a Descrição da missão (a frase que aparece no quadro de baixo).


    Esse
    é o número da descrição, no caso nós colocamos apenas uma Missão então seria uma Descrição, se você colocar 2 Missão, você vai colocar e na outra você vai colocar depois da nossa missionstate tudo que devemos fazer é colocar nossa descrição onde está "Descrição da Missão.", ficando assim:

    Lembrando que nunca se deve usar carácteres especiais, como:


    Terminamos aqui nosso tutorial espero que tenham gostado

    Creditos: meu
    Inspiração: joaovbz
  11. Obrigado
    jacksonsns deu reputação a gabriel28 em (Resolvido)(pedido) sistema de Dodge e Critical   
    Dodge:
    http://www.tibiaking.com/forum/topic/33545-dodge-system-854/
     
    Critical:
    http://www.tibiaking.com/forum/topic/35663-critical-skill-system/
  12. Curtir
    jacksonsns deu reputação a Ayron5 em NPC que vende informação   
    Dale! suave? deixo aqui um npc que fiz agora para meu servidor...
    Como fala no titulo, ele cobra uma certa quantia de dinheiro ou item, para dar uma informação, só configure certinho.
    É bem simples mas pode ajudar alguém  
    Lembrando que está testado e funcionando 100% 
     
    Vá em data/npc e crie um arquivo XML com o nome info e cole isso dentro...
    Salve e feche...
    Agora em data/npc/scripts crie um arquivo LUA com o nome info e cole dentro...
    Bom, é só isso espero ajudar alguém, se ajudei deixa o REP! Aí pra fortalecer a amizade  
    LEMBRANDO QUE DENTO DO ARQUIVO ESTÁ A EXPLICAÇÃO.  
  13. Curtir
    Refugia Jack
     8.60 
     

     

     

     


    Informações
    Templo foi modificado. Foram adicionados novos teleports. Novos treiners. Área de teleports completamente modificada.
    Download
    http://www.4shared.com/rar/4RNEg-6W/Refugia_86.html
     
    Scan
    https://www.virustotal.com/file/5a6ac95f69e215e51a263ca35eb629e60ac69eaf0b656fc115fa18e27758de26/analysis/1358487516/
     

    Créditos totais à jacksonsns.
  14. Curtir
    jacksonsns deu reputação a G3 Yuri em [Link Quebrado] ferumbras' ascendant quest   
    Entrada da quest  darashia 19:03 Your current position is: 33277, 32397, 7.
    Link Da Quest
     
    Scan
     




    items.otb
  15. Gostei
    jacksonsns deu reputação a turnes em problema me ajuda plx compilação ubuntu   
    Boa noite, 
     
    se você baixou os arquivos corretamente das sources, você deve ter uma estrutura de arquivos parecida com essa na sua pasta do ot:
     
     
    para compilar, os 3 itens sublinhados acima são obrigatórios:
     
    Basta instalar as bibliotecas necessárias:
     
    (centOS):
     
    (Ubuntu)
     
    Criar uma pasta build na pasta raiz do seu otserver:
     
     
    Entre em sua pasta build:
     
     
    Nesse momento você estará dentro da pasta build, execute o seguinte comando:
     
     
    Com esse comando, o cmake vai "preparar o terreno" na pasta build para executar a compilação, ele irá ler o arquivo CMakeLists.txt da pasta que está a um nível acima, espere ele finalizar o processo, após isso, ainda na pasta build, execute o seguinte comando:
     
     
    Agora sim as sources serão compiladas para a sua versão do linux, após o processo, dentro de sua pasta build, irá ser criado o arquivo tfs, basta mover ele uma pasta acima, e executa-lo:
     
     
    e para executar:
     
     
     
    Lembrando que o servidor so irá abrir corretamente, se existir comunicação com o banco de dados, ip's configurados corretamente etc...
  16. Gostei
    Olá Pessoal tudo bem? 
     
    Estava com este problema há dias e depois de buscar em diversos fóruns finalmente consegui entender a situação. 
     
    Problema: 
    Ao criar uma guild no website, não era possível entrar no Guild Manager pois a seguinte mensagem de erro aparecia: 
    The Following Erros Have Occured: 
    Guild with ID 0 doesn't exist.  
    Causa: 
    Resposta curta: Este problema ocorre porque o MySQL não está configurado corretamente. Resposta longa: ao executar um INSERT INTO `guilds`, o MySQL lança uma mensagem de erro dizendo que a quantidade de threads utilizados é menor que a quantidade disponível para executar a query. Desta forma, a guilda não é criada, o banco de dados só consegue encontrar o ID "0" e, por não haver dado algum surge a mensagem de erro. Tentando realizar a criação manualmente dentro do próprio mySQL, esta é a mensagem ao tentar inserir uma nova linha na tabela guilds:  
    Como corrigir: 
    Esta correção se aplica aos usuários do Uniserver Z, no entanto é muito provável que todas as instalações do MySQL tenham a mesma configuração. 
    Abra o Uniserver Z e inicie o MySQL Vá para a pasta onde o MySQL está rodando. No caso do uniserver o caminho é \UniServerZ\core\mysql\ Abra o arquivo my.ini no editor de texto de sua preferência (Notepad ++, Vistual Studio Code, etc.) Na linha 31, troque:
    thread_stack = 128K para
    thread_stack = 128M Salve o arquivo e pare o serviço do MySQL (caso o Apache esteja ligado, desligue-o primeiro); Ligue o MySQL novamente e Ligue o Apache (precisa ser nesta ordem); Agora é só criar uma guild e você perceberá que o erro não volta mais a acontecer:   
     
    Pessoal, espero que isso possa ajudar a vocês. Dúvidas, críticas e sugestões, eu fico inteiramente à disposição.
     
    Por enquanto é isso e até a próxima!

     
     
  17. Curtir
    jacksonsns deu reputação a Bruxo Ots em Duvidas Store In game   
    Vai em data/modules/scripts/gamestore/gamestore.lua
    {name = "Snow Pelt", thingId = 102, type = GameStore.OfferTypes.OFFER_TYPE_MOUNT, price = 5, icons = {"o890.png"}, description = "This mount looks so hot!"}, }  
     
     
    Usei essa linha como exemplo, mais acho que é isso cara.....se eu entendi né.
  18. Gostei
    jacksonsns deu reputação a tev em [10.77] Mapa: Atlantyda World   
    Tamanho: 29.2 MB
    Conteúdo: Há houses e spawns, tudo 100%.
    Categoria: Mapa.
    Versão: 10.77
    Créditos: 5mok3
    Tópico: tev
    Anexos: Scan | Download
     
    Screenshot;

  19. Curtir
    jacksonsns deu reputação a Rikudou em MUDAR IP CLIENTE OTC   
    TU ta querendo mudar no lugar errado OTclient e diferente Vai na pasta do OTclient Modules/client_entergame/entergame.lua  la vc proucura por EnterGame.setUniqueServer do lado vai ter o ip so vc substituir 
  20. Gostei
    jacksonsns deu reputação a Guilherme em AJUDA SISTEMA DE MINERAÇÃO   
    Erro meu no script, modifique pra esse aqui
     

    local pedras = {13635, 13636, 13637, 13638, 13639, 13640} function onUse(cid, item, fromPosition, itemEx, toPosition) if(isInArray(pedras, itemEx.itemid)) then doPlayerAddItem(cid, 2157, 1) return true end end
  21. Gostei
    jacksonsns deu reputação a Liane em (Resolvido)(PEDIDO) Pagina De Cast Para O Novo Gesior   
    Primeiramente acesse data/talkactions/scripts e crie os arquivos abaixo:
     
    start_cast.lua:
    function onSay(cid, words, param) local player = Player(cid) if player:startLiveCast(param) then db.query("UPDATE `players` SET `cast` = 1 WHERE `id` = " .. getPlayerGUID(cid) .. ";") player:sendTextMessage(MESSAGE_INFO_DESCR, "You have started casting your gameplay.") return false else player:sendCancelMessage("You're already casting your gameplay.") return false end end depois
    stop_cast.lua:
    function onSay(cid, words, param) local player = Player(cid) if player:stopLiveCast(param) then db.query("UPDATE `players` SET `cast` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. ";") player:sendTextMessage(MESSAGE_INFO_DESCR, "You have stopped casting your gameplay.") return false else player:sendCancelMessage("You're not casting your gameplay.") return false end end Depois add as tags em data/talkactions/talkactions.xml:
    <talkaction words="!cast" separator=" " script="start_cast.lua"/> <talkaction words="!stopcast" script="stop_cast.lua"/> não esqueça de criar a coluna na database:
    ALTER TABLE `players` ADD `cast` INT( 11 ) NOT NULL DEFAULT '0' para não dar nenhum problema entre no creaturescripts/scripts/others e crie um arquivo cast.lua e coloque:
    function onLogout(cid) db.query("UPDATE `players` SET `cast` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. ";") return true end depois em creaturescripts.xml adicione a linha:
    <event type="logout" name="Cast" script="others/cast.lua"/> e por fim entre em globalevents/scripts abra o arquivo startup.lua e adicione:
    db.query("UPDATE `players` SET `cast` = 0") abaixo de:
    db.query("TRUNCATE TABLE `players_online`")  e pronto agora e só por a pagina no site código abaixo:
    <?php if(!defined('INITIALIZED')) exit; $order = $_REQUEST['order']; if($order == 'name') { $orderby = 'name'; } if($order == 'level') { $orderby = 'level'; } if($order == 'vocation') { $orderby = 'vocation'; } if(empty($orderby)) { $orderby = 'name'; } if(count($config['site']['worlds']) > 1) { $worlds .= '<i>Select world:</i> '; foreach($config['site']['worlds'] as $idd => $world_n) { if($idd == (int) $_GET['world']) { $world_id = $idd; $world_name = $world_n; } } } if($idd == (int) $_GET['world']) { $world_id = $idd; $world_name = $world_n; } if(!isset($world_id)) { $world_id = 0; $world_name = $config['server']['serverName']; } if(count($config['site']['worlds']) > 1) { $main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD> <FORM ACTION="?subtopic=whoisonline" METHOD=get><INPUT TYPE=hidden NAME=subtopic VALUE=whoisonline><INPUT TYPE=hidden NAME=list VALUE=experience> <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>World Selection</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['lightborder'].'"> <TABLE BORDER=0 CELLPADDING=1><TR><TD>World: </TD><TD><SELECT SIZE="1" NAME="world"><OPTION VALUE="" SELECTED>(choose world)</OPTION>'; foreach($config['site']['worlds'] as $id => $world_n) { $main_content .= '<OPTION VALUE="'.$id.'">'.$world_n.'</OPTION>'; } $main_content .= '</SELECT> </TD><TD><INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18> </TD></TR></TABLE></TABLE></FORM></TABLE><br>'; } $players_online_data = $SQL->query('SELECT * FROM players WHERE level > 0 AND cast = 1 ORDER BY '.$orderby); $number_of_players_online = 0; foreach($players_online_data as $player) { $number_of_players_online++; if($config['site']['show_flag']) { $account = $SQL->query('SELECT * FROM accounts WHERE id = '.$player['account_id'].'')->fetch(); $flag = '<image src="images/flags/'.$account['flag'].'.png"/> '; } if(is_int($number_of_players_online / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $players_rows .= ' <TR BGCOLOR='.$bgcolor.'> <TD WIDTH=40%>'.$flag.'<A HREF="index.php?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].'</A><br/>'.$player['level'].' '.$vocation_name[$player['world_id']][$player['promotion']][$player['vocation']].'</TD> <TD WIDTH=20%><font color="#008000">ONLINE</font></TD> </TR>'; } if($number_of_players_online == 0) { //server status - server empty $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently there are no active casts on '.$config['server']['serverName'].'.</TD></TR></TABLE></TD></TR></TABLE><BR>'; } else { //server status - someone is online $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD CLASS=white><B>Server Status</B></TD> </TR> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD>'; $main_content .= 'Currently there are '.$number_of_players_online.' active live casts'; $main_content .= ' on '.$world_name.' gameworlds.<br> </TD> </TR> </TABLE><BR>'; //list of players $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD><A HREF="index.php?subtopic=whoisonline&order=name" CLASS=white>Name</A></TD> <TD><A HREF="index.php?subtopic=whoisonline&order=vocation" CLASS=white>Status</TD> </TR> '.$players_rows.'</TABLE>'; //search bar //$main_content .= '<BR><FORM ACTION="index.php?subtopic=characters" METHOD=post> <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>'; } $main_content .= '<BR><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Description</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><h4 style="margin: 0px;">Commands (owner):</h4><i>!cast {on/off}</i> - Create or close your own cast<br/><i>!cast password, |password|</i> - Sets a password for the cast<br/><i>!cast,desc, |description|</i> - Set a description for the cast<br/><i>!cast status</i> - Information about your cast (viewer amount, description, password)<br/><i>!cast viewers</i> - Displays the name of all viewers<br/><i>!cast {ban/unban},"name"</i> - Bans a viewer from joining your cast/Removes the ban<br/><i>!cast {mute/unmute} "name"</i> - Mutes a viewer on your cast/Removes the mute<br/><i>!cast bans</i> - Displays a list of banned viewers<br/><i>!cast mutes</i> - Displays a list of muted viewers<br/><i>!cast update</i> - Updates the description and status on the website<br/><br/><h4 style="margin: 0px;">Commands (viewer):</h4><i>!nick newNick</i> - Changes the viewer\'s name<br><i>!info</i> - Displays a list of all viewers</TD></TR></TABLE>';                                                                   DOWNLOAD TFS 1.0 COM CAST
     
    Se Ajudei Minda Rep++
  22. Gostei
    Fala galerinha!
     
    Criei e arrumei o servidor para que todos possa colocar online e fazer um ótimo uso do mesmo.
    Coloquei ele online por umas semanas e fui arrumando tudo, agora creio eu que está em 70% o projeto.
     
    Porfavor, ninguém publique esse servidor em algum outro fórum a não ser que venha me pedir permissão.
     
    Vamos ao que interessa.
     
     
    LKing OT
    TFS 1.2
     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    • King Itens Quest
    • King Set (Vendida no Npc)
    • Divine Itens Quest
    • Super Divine Itens Quest
    • Epic Divine Itens Quest
    ~#~
    VIP I, II e III (Quest)
    ~#~
    Pits Of Inferno (POI)
    Anihi
    Demon Oak
    Yalahari Quest
    Firewalker Boots Quest
    Warzone I, II e III
     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    ♦ Cast System (!cast on // !cast off)
    ♦ Reward Chest
    ♦ Critical e Dodge System
    ♦ War System
    ♦ Battlefield Event
    ♦ Zombie Event
    ♦ Bank System
    ♦ Market System
    ♦ Training Offline
    ♦ All Mounts 10.90 (Só com Mount Doll, vendida no npc)
    ♦ All Addons 10.90 (Só com Addon Doll, vendida no npc)
    ♦ Mágias modificadas (retirado um pouco do exhausted)
     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    Fuon City (Cidade principal)
    3 Cidades VIP
    Roshamuul
    Grey Island
    Gnomebase (Warzone I, II e III)
    ~#~
    +15 Quests
    +25 Teleports (com monstros editados)
     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    ◄ IMAGENS ►
     
    Minimap

     
    Templo (+sub solo)

     

     
    Depot

     
    Teleports

     
    Quests (1 e 2)

     

     
    Entrada Área Vip I, II e III

     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    ◄ DOWNLOAD ►
    Servidor + Mapa + Executável 64bits ~ Clique aqui
    Executável 32bits ~ Clique aqui
    Vírus Total ~ Clique aqui
    ~#~
    Sources ~ Clique aqui
    Vírus Total ~ Clique aqui
    ~#~
    Website Gesior Acc + Database ~ Clique aqui
    Vírus Total ~ Clique aqui
    ~#~
    LKing - Remere's Map Editor 10.90 ~ Clique aqui
     
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     
    ◄ CRÉDITOS ►
    Executável 10.90 ~ Marco Oliveira
    Mapa, npcs, quests, teleports, vip, itens, magias.. 80% do Servidor ~ Lukaz Giovanni (EU )
     
    Espero que vocês goste do servidor.
    Se eu ver que a galera curtiu e quer mais atualizações, vou modificando e publicando atualizações sempre.
  23. Gostei
    jacksonsns deu reputação a Sociopata em (Resolvido) Como criar uma nova pagina no GESIOR?   
    http://tibiaking.com/forum/topic/8928-criando-abas-paginas-e-corrigindo-seguranca-do-gesioraac/
  24. Gostei
    jacksonsns deu reputação a 11111111 em [Link Quebrado]Tibia 8.6 traduzido para Brasil   
    Venho aqui Posta Meu Primeiro Topico, Fui Ensetivado Por Renan Domiciano Que sempre acreditou em mim e no meu talento e entao decedir traduzir o Tibia 8.60 que e bem usado Para BR 60% Fotos http://puu.sh/7nVsf http://puu.sh/7nVoh http://puu.sh/7nVnk http://puu.sh/7nVgM http://puu.sh/7nVfC http://puu.sh/7nVdN http://puu.sh/7nVb9 http://puu.sh/7nVaa http://puu.sh/7nV9A http://puu.sh/7nV8P http://puu.sh/7nV8h http://puu.sh/7nV6X http://puu.sh/7nV6K   Dowload http://puu.sh/7nY7J
    Todos arquivos que irei posta Que for baziado em exe. serao Pack com Themida. Apoio a proteçao de progetos feito por voce'-'
    Em breve tarei enciando como traduzir Para Brasil em um tutorial.

Informação Importante

Confirmação de Termo