Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/09/17 em todas áreas

  1. "aula" Aprender um pouco de script

    luangop e um outro reagiu a tataboy67 por uma resposta no tópico

    2 pontos
    Galera eu venho aqui trazer para vocês um canal de youtube de um cara que acabei conhecendo ! Ele simplesmente é sensacional e trabalha com programação a 15 anos. Então resolvi vir aqui ao fórum para divulgar para vocês as aulas que ele fez sobre arquivos .lua muito bom mesmo o trabalho do cara... são 17 videos explicativos sobre a programação .lua Está aqui a lista dos videos do cara ! Espero que ajude vocês a entender um pouco de script . Está me ajudando bastante aqui. **Creditos** Canal do youtube : Criar Jogo Eu : por posta Rep ++ Espero ajudar Obs: Não sei se está na area correta... é que não sou mt de fazer post's
  2. (Resolvido)Hole hit?

    Tingasgo e um outro reagiu a Mathwsz por uma resposta no tópico

    2 pontos
    @JcA Não tenho certeza, mas vá em Data/Movements.xml procure pelo ID 1512, o lua dele provavel que seja trap.lua e abra esse arquivo. Aí lá tu edita o hit. Obs: Estou dando só uma hipótese, não testei e estou falando só de cabeça. Espero ter ajudado. =)
  3. New Library v. 1.2

    Under reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal) Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro: Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório. Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20) Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros. Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir) Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu. Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira. Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS. EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida. EDIT 2: Duas novas funções adicionas, espero que gostem! EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.
  4. Puxar/Empurrar (conjunto de spells)

    ITALOx reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera do TK, hoje vim trazer pra vocês um conjuntinho de spells que eu criei com base em uma spell que achei aqui no fórum mesmo Os créditos da spell base que eu utilizei são do OneShot São duas spells bem simples, uma puxa o oponente pra perto e a outra arremessa ele longe. Idéia original tirada dos servidores de Avatar que possuem esse tipo de magia pra nação do Ar haha. Aqui vão os scripts: empurrararea.lua local function doPushCreature(target, cid) if target > 0 then if not isNpc(target) then local position = getThingPosition(cid) local fromPosition = getThingPosition(target) local x = ((fromPosition.x - position.x) < 0 and -1 or ((fromPosition.x - position.x) == 0 and 0 or 1)) local y = ((fromPosition.y - position.y) < 0 and -1 or ((fromPosition.y - position.y) == 0 and 0 or 1)) local toPosition = {x = fromPosition.x - x, y = fromPosition.y - y, z = fromPosition.z} if doTileQueryAdd(target, toPosition) == 1 and getTileInfo(toPosition).house == false then doTeleportThing(target, toPosition, true) end end end end local spell = {} spell.config = { [1] = { damageType = 1, areaEffect = 2, area = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } }, [2] = { damageType = 1, areaEffect = 2, area = { {0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 1, 0, 2, 0, 1, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0} } }, [3] = { damageType = 1, areaEffect = 2, area = { {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 2, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} } } } spell.combats = {} for _, config in ipairs(spell.config) do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, config.damageType) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -4, 0, -4.7, 0) function onTargetCreature(cid, target) doPushCreature(target, cid) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") setCombatArea(combat, createCombatArea(config.area)) table.insert(spell.combats, combat) end function onCastSpell(cid, var) for n = 1, #spell.combats do addEvent(doCombat, (n * 120), cid, spell.combats[n], var) end return true end no spells.xml: ​<instant name="Get off here (AREA)" words="exani mas grav" lvl="160" mana="500" prem="1" exhaustion="2000" needlearn="0" event="script" value="especiais/empurrararea.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> </instant> <instant name="Get over here (AREA)" words="exina mas grav" lvl="160" mana="500" prem="1" exhaustion="2000" needlearn="0" event="script" value="especiais/puxararea.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> </instant> Agora algumas imagens (não deu pra captar muito bem oque a spell faz porque ela é composta por diferentes movimentos, sugiro que vcs instalem e testem) Puxar: Empurrar
  5. Lib 000-Const

    Maniaco reagiu a Caronte por uma resposta no tópico

    1 ponto
    Olá pessoal, venho mais uma vez trazer um tutorial simples, e tentar explicar tudo claramente, esse tutorial pode ficar grande dependendo do desenrolar dele, pois é um pack de tutoriais, então vou usar spoilers para ajudar na formatação do tópico. Nota: as informações usadas abaixo, podem ser tanto usadas com o nome, quanto com o número, e podem ser encontradas na pasta lib no arquivo 000-const https://pastebin.com/0FfPcg7y line4 Coordenadas: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Explicando: doMoveCreature(cid, direction): Serve para mover tanto o player quanto o monstro. Combate: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Parâmetros de condição: Condições: Slots: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Participação: xWhiteWolf Bom, é só isso o tutorial pessoal, espero que tenham gostado, e o que prego nesses tutoriais é a essência da simplicidade, às vezes, uma coisa que parece ser boba para você, pode atormentar uma outra pessoa. Const_ani e Const_me: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Talktypes and message types: [title][/title] Tutoriais concluídos por ordem de formatação (podem ser alterados assim mesmo): Coordenadas, e suas direções. Combat (ainda há coisas a serem adicionadas). Slots. CONST_ME and CONST_ANI Os assuntos do tópico poderão se diminuídos ou aumentados de acordo com o desenrolar do tempo, gostaria de apoio, e não me incomodaria se alguém se propusesse fazer algum tutorial, eles serão supervisionados por mim e formatados por mim, para serem postados neste tópico. Esse tópico demorou e vai demorar muito para fazer cada tutorial, então eu não me importo com um obrigado e REP+, OBS.: Um obrigado vale bem mais do que um REP+
  6. (Resolvido)[Site] Erro ao Comprar item no shop

    Strung reagiu a Sekk por uma resposta no tópico

    1 ponto
    O negocio da guild, vai em config.php e procura isso $config['site']['guild_need_pacc'] = 1; // guild need pacc 0 / 1 e troca por $config['site']['guild_need_pacc'] = 0; // guild need pacc 0 / 1 O do cast vou ter q dar uma olhada depois, a nao ser que alguem resolva antes. O do demon faz o seguinte: Vá em: C:\xampp\htdocs\layouts\tibiacom e procure o arquivo layout_config.ini e abra. Na linha 'logo_monster' vc edita qual monstro vc quer que apareça(a imagem deve ser .gif e deve estar em htdocs/images/monsters), pode ser um gif aleatório q vc queira, mas coloque na pasta monsters pra não precisar alterar mais nenhum arquivo
  7. SIMPLES AUMENTAR STORAGE?

    Fiiiiinz reagiu a Gustavo BRX por uma resposta no tópico

    1 ponto
    setPlayerStorageValue(cid, 1, getPlayerStorageValue(cid, 1)+1)
  8. Hospital Vip (Free)

    ZoR reagiu a Gustavo BRX por uma resposta no tópico

    1 ponto
    Data/creaturescripts/ Hospital.lua function onLogin(cid) if getPlayerStorageValue(cid, 122000) == 1 and getPlayerPremiumDays(cid) >= 1 then location = { --Posição do hospital vip {x=2580, y=1815, z=7}, {x=2580, y=1811, z=7}, {x=2570, y=1818, z=7}, {x=2580, y=1807, z=7}, {x=2571, y=1821, z=7}, {x=2571, y=1825, z=7}, {x=2571, y=1829, z=7}, {x=2571, y=1833, z=7}, {x=2579, y=1830, z=7}, {x=2580, y=1833, z=7}, {x=2567, y=1818, z=7}, {x=2564, y=1818, z=7}, {x=2564, y=1807, z=7}, } setPlayerStorageValue(cid, 122000, 0) doTeleportThing(cid, location[math.random(#location)]) else location = { --Posição do hospital free {x=2580, y=1815, z=7}, {x=2580, y=1811, z=7}, {x=2570, y=1818, z=7}, } setPlayerStorageValue(cid, 122000, 0) doTeleportThing(cid, location[math.random(#location)]) end end hospitaldeath.lua function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) == true then setPlayerStorageValue(cid, 122000, 1) return true end return true end creaturescripts.xml <event type="preparedeath" name="hospitaldeath" event="script" value="hospitaldeath.lua"/> <event type="login" name="Hospital" event="script" value="hospital.lua"/> @ZikaLord testa!
  9. (Resolvido)Colocar posiçao no script

    ZoR reagiu a Gustavo BRX por uma resposta no tópico

    1 ponto
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -200.2, 1, -250.2, 1) function onCastSpell(cid, var) local pos1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+3, z=getThingPosition(getCreatureTarget(cid)).z} local pos2 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local t1 = 1 local t2 = 50 addEvent(doSendMagicEffect,t1,pos1,363) addEvent(doSendMagicEffect,t2,pos2,303) return doCombat(cid, combat, var) end
  10. (Resolvido)Colocar posiçao no script

    ZoR reagiu a Gustavo BRX por uma resposta no tópico

    1 ponto
    Codigo arrumado, desculpe mudei nome da variavel e nao troquei a de baixo codigo arrumado teste-o.
  11. (Resolvido)Colocar posiçao no script

    ZoR reagiu a Gustavo BRX por uma resposta no tópico

    1 ponto
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -200.2, 1, -250.2, 1) function onCastSpell(cid, var) local pos1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+3, z=getThingPosition(getCreatureTarget(cid)).z} local pos2 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} addEvent(function() doSendMagicEffect(pos1, 363) doSendMagicEffect(pos2, 303) end, 0) return doCombat(cid, combat, var) end o CombatParam COMBAT_PARAM_EFFECT envia o effect que voce colocou sem mecher na sua posição ...
  12. [8.6] Como usar MySQL + Xampp?

    SoyColombiaa reagiu a Mathwsz por uma resposta no tópico

    1 ponto
    @SoyColombiaa Amigo, Gesior é uma plataforma para você colocar o website do seu servidor on-line. Existe Nicaw, Modern, Gesior e outros, e o Gesior por si só é bem mais utilizado do que os outros, pois quando precisa-se de suporte é mais fácil de encontrar, sistemas é mais rápido e pratico de instalar. Já na questão de funcionar em 8.6 isso não interfere muito, o negócio é você encontrar o gesior mais atualizado e sem bugs, mas já logo de cara te falo, tu não vai arrumar um perfeitamente e completo, você deverá aprender a mexer ou pedir suporte. Em relação a tabelas você terá que estudar, ver tópicos e tudo mais, pois você sempre que adicionar algo no seu site você "Provavelmente" precisará adicionar query na database, mas a plataforma PhpMyAdmin por si só, é bem prática para mexer. Pra você colocar um website gesior online, existe diversos e diversos tutoriais aqui mesmo no TK, e nele você efetivamente vai passar pelos passos em que você relacionou no tópico. Bom, espero que você tenha entendido mais ou menos uma base, porém caso haja dúvidas só perguntar que estarei aqui para responder. Um grande abraço e boa sorte! =)
  13. [Movements] Stack no depot

    poko360 reagiu a SoyColombiaa por uma resposta no tópico

    1 ponto
    Eae jão, tenta substituir issaqui na sua items.xml
  14. [Movements] Stack no depot

    poko360 reagiu a Mathwsz por uma resposta no tópico

    1 ponto
    @poko360 Ae amigo, esse tópico irá lhe ajudar: Boa sorte e espero ter ajudado =)
  15. (Resolvido)[Site] Erro ao Comprar item no shop

    Strung reagiu a Sekk por uma resposta no tópico

    1 ponto
    Tenho a query que eu uso no meu server, mas acho melhor você checar cada coluna dessa query, por exemplo resets, cast etc... Checa os valores, e se as colunas existem na sua tabela players. E antes de exxecutá-las, verifique se o id da account estão sendo inseridos os players existe. INSERT INTO `players` (`id`, `name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `cast`, `castViewers`, `castDescription`, `auction_balance`, `resets`) VALUES (1, 'Account Manager', 0, 1, 1, 8, 0, 150, 150, 4200, 0, 0, 0, 0, 302, 3, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0), (4, 'Rook Sample', 0, 1, 2, 8, 0, 150, 150, 4200, 0, 0, 0, 0, 110, 0, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0), (5, 'Sorcerer Sample', 0, 1, 2, 8, 1, 150, 150, 4200, 0, 0, 0, 0, 110, 0, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0), (6, 'Druid Sample', 0, 1, 2, 8, 2, 150, 150, 4200, 0, 0, 0, 0, 110, 0, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0), (7, 'Paladin Sample', 0, 1, 2, 8, 3, 150, 150, 4200, 0, 0, 0, 0, 110, 0, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0), (8, 'Knight Sample', 0, 1, 2, 8, 4, 150, 150, 4200, 0, 0, 0, 0, 110, 0, 4, 150, 150, 0, 100, 1, 10157, 10053, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0);
  16. [AJUDA] ITEM SUMINDO NA ALAVANCA

    mateusmoretti reagiu a thelifeofpbion por uma resposta no tópico

    1 ponto
    tá, não sei se entendi muito bem kkkkkkkkkk é que to com sono, mas você quer que retirre 1 barra de ouro que é = à 1kk e troque por 1 super token, certo? se não for isso me avise. local config = { item = 12372, -- ID do item que vai vender count = 1, -- Quantidade item_id = 9971 -- id da barra de outro/ o 1kk lá } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getCreaturePosition(cid) if item.itemid == 1945 then if getPlayerItemCount(cid,config.item_id) == 100 then doPlayerAddItem(cid, config.item, config.count) doPlayerRemoveItem(cid, config.item_id, 100) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você Acaba de Trocar 1kk por "..config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Desculpe, você precisa de 1kk e você nao tem dinheiro suficiente.") doSendMagicEffect(pos, CONST_ME_POFF) end end end
  17. Páscoa

    psychonaut reagiu a Guilherme por um evento

    1 ponto

    É hora de cair de boca nos ovos!
  18. (Resolvido)[Site] Erro ao Comprar item no shop

    Strung reagiu a Sekk por uma resposta no tópico

    1 ponto
    Tenta usar esse shop.lua no server <globalevent name="shop" interval="4000" script="shop.lua"/>
  19. tibia 8.0

    gabriel249 reagiu a KotZletY por uma resposta no tópico

    1 ponto
    Esta é uma mensagem automática! Este tópico foi movido para a área correta. Pedimos que você leia as regras do fórum. @gabriel249 http://www.tibia-clients.com/
  20. 1 ponto
    Se o site estiver online poste o link para ver qual versão você utiliza.
  21. .

    onix reagiu a Jaurez por uma resposta no tópico

    1 ponto
    @onix testa com esse vê se funfa, editei com teu ip ai da foto: tibia.exe
  22. Erro SQL Datebase.

    Baalszor reagiu a KotZletY por uma resposta no tópico

    1 ponto
    @Piquenuxo opa, perdão, não vir a notificação, acabei me embolando com várias outras. Haha! Em fim, existe tutoriais ensinando a colocar server on com site, para server com website, é necessário usar mysql, e existe tutoriais de como colocar sem site, e sem site usar o sqlite. Então basta escolher o jeito que deseja, que no caso é sem site!
  23. Best Baiak Completo

    Nandynho Correia Ki reagiu a Werner por uma resposta no tópico

    1 ponto
    Sim funciona melhor em MySql, é so mudar no config.lua Executa no Sqlstudio esse comando: CREATE TABLE z_ots_comunication ( id INT( 11 ) NOT NULL, name VARCHAR( 255 ) NOT NULL, type VARCHAR( 255 ) NOT NULL [action] VARCHAR( 255 ) NOT NULL, param1 VARCHAR( 255 ) NOT NULL, param2 VARCHAR( 255 ) NOT NULL, param3 VARCHAR( 255 ) NOT NULL, param4 VARCHAR( 255 ) NOT NULL, param5 VARCHAR( 255 ) NOT NULL, param6 VARCHAR( 255 ) NOT NULL, param7 VARCHAR( 255 ) NOT NULL, delete_it INT( 2 ) NOT NULL, DEFAULT '1', PRIMARY KEY ( id ) ); O servidor funciona melhor em Mysql.
  24. Hotkeys Boas Pro ''Efl Bot Ng''

    warlley reagiu a Pablorox por uma resposta no tópico

    1 ponto
    Opaa, galera da Tibiaking eu Pablo tenho umas hotkeys boas do efl ;] auto 200 100 |turnw| wait 100 |turns| wait 100|turne - O Char Fica Rodando auto 100 attack target - O Attack Fica Mais Rapido auto 200 if [$mppc > 5] say 'exevo gran mas frigo' - Fica Dando Magia Pode Trocar Por Mas Flam,Mas Tera Qual Magia Quiser auto 200 safe ifnothasted say 'Utani Tempo Hur' - Pode Trocar Por Utani Gran Hur Essa Hotkey é boa Para Ot's De Magia Editada auto 100 listas 'Sio Friend' | safe sio 80 friend - Para Dar Sio Quando Seu Amigo Estiver Com 80% De Life - Obs: Ponha o Nome Dele No Lists - Friend Name auto 100 listas 'Re-Conect' | setcolor 0 400 500 | ifnot '$connected' reconnect | wait 6000 - Essa Hotkey Ira Reconnect Seu Char Quando Tomar Kicks Sempre Decha Ela Ligada Quando Ficar Afk auto 100 dontlist | if [$ringslot.id != 3053] {equipring 3053} - Essa Hotkey Equipara O Time Ring - Se Quiser Equipar Outro Ring So Trocar Os Id's Nos 2 Lugar Ali AUTO 1 STACKITEMS - Essa Hotkey Serve Para Junta Seu Dinheiro Boa Para Ot's War auto 100 listas 'UE Combo' | clear $useue | set $messageleader 'Skysres Ecko' | set $leadermessage 'you are dead' | set $mpue 1200 | set $uespell 'exevo gran mas tera' | foreach 'newmessages' $ue if [$ue.sender == '$messageleader' && $ue.content == '$leadermessage' && $ue.channel == 'Default'] set $useue 1 | if [$useue && $mp >= $mpue] {say '$uespell' | wait 900} - Essa Hotkey é Combo Ue - Vo Explica Ela - messageleader 'Nome Do Leader Do Combo' - Leadermessage 'Uma Palavra Que Ele Vai Falar E Vai Soltar Ue' - Uespell 'Nome Da Magia Que Vai Sorta' - Obs: Somente Os Combo Fassão Isso O Leader Não Precisa - Deche A Hotkey Ligada auto 10 listas 'PUSH-MAX' | moveitemonground $posx [$posy-1] $posz $posx $posy $posz|moveitemonground $posx [$posy+1] $posz $posx $posy $posz|moveitemonground [$posx-1] [$posy-1] $posz $posx $posy $posz|moveitemonground [$posx-1] $posy $posz $posx $posy $ - Puxa tudo para baixo de você auto 100 listas "Anti push enabled" | if [$itemcount.3031 >= 2] {dropitemsxyzamount $posx $posy $posz 3031 2 | wait 300} | if [$itemcount.3492 >= 2] {dropitemsxyzamount $posx $posy $posz 3492 2 | wait 300} | if [$itemcount.283 >= 1] {dropitems 283 | wait 300} | if [$itemcount.284 >= 1] {dropitems 284 | wait 300} | if [$itemcount.285 >= 1] {dropitems 285 | wait 300} - Ant Push Muito Boa Pra Trapar! auto 200 equipboots 6529 - Equipara Soft - Caso Estara De Boh Ou Sua Outra Soft Acaba auto 200 dontlist | isnotattacking attack target - Isso Seguira O Inigimo - Obs Deche Attack Follow - Muito Boa Pra Quando O Inimigo Sobe Escada E Desse Dashando Tudo Ele Vai Seguir Creditos: Pablorox =] - Ajudei?? Da Rep+ '-'
  25. Administrando as borders

    lucassilvaa reagiu a Caronte por uma resposta no tópico

    1 ponto
    -Olá pessoal, eu percebi algo que realmente pode incomodar alguns na hora da edição (quando usam auto-border) , e esse tutorial é uma coisa bem simples sobre as borders, para quem quer aprender a criar ou editar. Primeiro de tudo. Localize onde você vai editar ou criar as borders, caso seja 8.6 será em: C:\Program Files (x86)\Remere's Map Editor\data\860 Para você editar, recomendo de modo simplificado que você dê um ctrl+c no arquivo e cole no desktop, edite lá, e caso queira experimentar, troque de lugar com a border original, sempre fazendo backup !!! agora abra e no border 860 estará assim: Agora é a hora de entender. Eu vou pegar um exemplo de borda que incomoda bastante gente e é a de ID 1 , antes de editar, temos que entender: Para o remere's se situar usa-se as coordenadas para cadastrar e ler as borders: LEGENDA: North = Norte West = Oeste East = Leste South = Sul O remere's usa siglas: As siglas C e D, podem ser interpretadas por Corner e Detour respectivamente, que significam, esquina ou quina e virada ou mudança de direção. Já as outras siglas, podem ser facilmente identificadas pelas coordenadas. vamos para um exemplo A border normal é essa: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="891"/> <borderitem edge="w" item="894"/> <borderitem edge="e" item="892"/> <borderitem edge="s" item="893"/> <borderitem edge="cnw" item="895"/> <borderitem edge="cne" item="896"/> <borderitem edge="cse" item="897"/> <borderitem edge="csw" item="898"/> <borderitem edge="dnw" item="899"/> <borderitem edge="dne" item="900"/> <borderitem edge="dse" item="901"/> <borderitem edge="dsw" item="902"/> </border> Mas se alterarmos os ID's, devagar e precisamente por : N = 3227 W= 3234 E= 3233 S= 3240 CNW= 3238 CNE= 3239 CSE= 3226 CSW= 3228 DNW= 3237 DNE= 3236 DSE= 3230 DSW= 3231 Ficando assim: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="3227"/> <borderitem edge="w" item="3234"/> <borderitem edge="e" item="3233"/> <borderitem edge="s" item="3240"/> <borderitem edge="cnw" item="3238"/> <borderitem edge="cne" item="3239"/> <borderitem edge="cse" item="3226"/> <borderitem edge="csw" item="3228"/> <borderitem edge="dnw" item="3237"/> <borderitem edge="dne" item="3236"/> <borderitem edge="dse" item="3230"/> <borderitem edge="dsw" item="3231"/> A borda mudará conforme a imagem, da segunda para a primeira: E se você quiser tirar a borda que eu usei de exemplo, essa: basta pegar essa parte: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="891"/> <borderitem edge="w" item="894"/> <borderitem edge="e" item="892"/> <borderitem edge="s" item="893"/> <borderitem edge="cnw" item="895"/> <borderitem edge="cne" item="896"/> <borderitem edge="cse" item="897"/> <borderitem edge="csw" item="898"/> <borderitem edge="dnw" item="899"/> <borderitem edge="dne" item="900"/> <borderitem edge="dse" item="901"/> <borderitem edge="dsw" item="902"/> </border> E apagar, ficando assim : <border id="1"> -- mountain edge border -- </border> Pronto, você retirou sua borda indesejável sem causar erro no remere's ! para adicionar é só fazer o processo inverso, e se você quiser criar uma nova borda sem tirar nenhuma, vá até o final do border copie a última e cole, mudando o id para id+1 , e colocando as bordas de sua preferência ! ! ! O tutorial é só isso, espero que tenham gostado e ajude o maior número de usuários possível, se faltou algo, por favor pode postar falando o que faltou ou mandar PM ! Qualquer dúvida, por favor, poste aqui mesmo para ser tirada. Caso as imagens fiquem off, reupload.
  26. (Resolvido)TSF 1.0 NPC BANK {BUG}

    granoob reagiu a ViitinG por uma resposta no tópico

    1 ponto
    Tente trocar seu script por este : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local Topic, count, transfer = {}, {}, {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local function getCount(s) local b, e = s:find('%d+') return b and e and math.min(4294967295, tonumber(s:sub(b, e))) or -1 end local function findPlayer(name) local q = db.getResult('SELECT name FROM players WHERE name=' .. db.escapeString(name) .. ' LIMIT 1'), nil if q:getID() == -1 then return end local r = q:getDataString('name') q:free() return r end function greet(cid) Topic[cid], count[cid], transfer[cid] = nil, nil, nil return true end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false elseif msgcontains(msg, 'balance') then npcHandler:say('Your account balance is ' .. getPlayerBalance(cid) .. ' gold.', cid) Topic[cid] = nil elseif msgcontains(msg, 'deposit') and msgcontains(msg, 'all') then if getPlayerMoney(cid) == 0 then npcHandler:say('You don\'t have any gold with you.', cid) Topic[cid] = nil else count[cid] = getPlayerMoney(cid) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 end elseif msgcontains(msg, 'deposit') then if getCount(msg) == 0 then npcHandler:say('You are joking, aren\'t you??', cid) Topic[cid] = nil elseif getCount(msg) ~= -1 then if getPlayerMoney(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 else npcHandler:say('You do not have enough gold.', cid) Topic[cid] = nil end elseif getPlayerMoney(cid) == 0 then npcHandler:say('You don\'t have any gold with you.', cid) Topic[cid] = nil else npcHandler:say('Please tell me how much gold it is you would like to deposit.', cid) Topic[cid] = 1 end elseif Topic[cid] == 1 then if getCount(msg) == -1 then npcHandler:say('Please tell me how much gold it is you would like to deposit.', cid) Topic[cid] = 1 elseif getPlayerMoney(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 else npcHandler:say('You do not have enough gold.', cid) Topic[cid] = nil end elseif msgcontains(msg, 'yes') and Topic[cid] == 2 then if doPlayerRemoveMoney(cid, count[cid]) then doPlayerSetBalance(cid, getPlayerBalance(cid) + count[cid]) npcHandler:say('Alright, we have added the amount of ' .. count[cid] .. ' gold to your balance. You can withdraw your money anytime you want to.', cid) else npcHandler:say('I am inconsolable, but it seems you have lost your gold. I hope you get it back.', cid) end Topic[cid] = nil elseif msgcontains(msg, 'no') and Topic[cid] == 2 then npcHandler:say('As you wish. Is there something else I can do for you?', cid) Topic[cid] = nil elseif msgcontains(msg, 'withdraw') then if getCount(msg) == 0 then npcHandler:say('Sure, you want nothing you get nothing!', cid) Topic[cid] = nil elseif getCount(msg) ~= -1 then if getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Are you sure you wish to withdraw ' .. count[cid] .. ' gold from your bank account?', cid) Topic[cid] = 4 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = nil end elseif getPlayerBalance(cid) == 0 then npcHandler:say('You don\'t have any money on your bank account.', cid) Topic[cid] = nil else npcHandler:say('Please tell me how much gold you would like to withdraw.', cid) Topic[cid] = 3 end elseif Topic[cid] == 3 then if getCount(msg) == -1 then npcHandler:say('Please tell me how much gold you would like to withdraw.', cid) Topic[cid] = 3 elseif getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Are you sure you wish to withdraw ' .. count[cid] .. ' gold from your bank account?', cid) Topic[cid] = 4 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = nil end elseif msgcontains(msg, 'yes') and Topic[cid] == 4 then if getPlayerBalance(cid) >= count[cid] then doPlayerAddMoney(cid, count[cid]) doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) npcHandler:say('Here you are, ' .. count[cid] .. ' gold. Please let me know if there is something else I can do for you.', cid) else npcHandler:say('There is not enough gold on your account.', cid) end Topic[cid] = nil elseif msgcontains(msg, 'no') and Topic[cid] == 4 then npcHandler:say('The customer is king! Come back anytime you want to if you wish to withdraw your money.', cid) Topic[cid] = nil elseif msgcontains(msg, 'transfer') then if getCount(msg) == 0 then npcHandler:say('Please think about it. Okay?', cid) Topic[cid] = nil elseif getCount(msg) ~= -1 then count[cid] = getCount(msg) if getPlayerBalance(cid) >= count[cid] then npcHandler:say('Who would you like to transfer ' .. count[cid] .. ' gold to?', cid) Topic[cid] = 6 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = nil end else npcHandler:say('Please tell me the amount of gold you would like to transfer.', cid) Topic[cid] = 5 end elseif Topic[cid] == 5 then if getCount(msg) == -1 then npcHandler:say('Please tell me the amount of gold you would like to transfer.', cid) Topic[cid] = 5 else count[cid] = getCount(msg) if getPlayerBalance(cid) >= count[cid] then npcHandler:say('Who would you like to transfer ' .. count[cid] .. ' gold to?', cid) Topic[cid] = 6 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = nil end end elseif Topic[cid] == 6 then local v = getPlayerByName(msg) if getPlayerBalance(cid) >= count[cid] then if v then transfer[cid] = msg npcHandler:say('Would you really like to transfer ' .. count[cid] .. ' gold to ' .. getPlayerName(v) .. '?', cid) Topic[cid] = 7 elseif findPlayer(msg):lower() == msg:lower() then transfer[cid] = msg npcHandler:say('Would you really like to transfer ' .. count[cid] .. ' gold to ' .. findPlayer(msg) .. '?', cid) Topic[cid] = 7 else npcHandler:say('This player does not exist.', cid) Topic[cid] = nil end else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = nil end elseif Topic[cid] == 7 and msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= count[cid] then local v = getPlayerByName(transfer[cid]) if v then doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) doPlayerSetBalance(v, getPlayerBalance(v) + count[cid]) npcHandler:say('Very well. You have transferred ' .. count[cid] .. ' gold to ' .. getPlayerName(v) .. '.', cid) elseif findPlayer(transfer[cid]):lower() == transfer[cid]:lower() then doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) db.executeQuery('UPDATE players SET balance=balance+' .. count[cid] .. ' WHERE name=' .. db.escapeString(transfer[cid]) .. ' LIMIT 1') npcHandler:say('Very well. You have transferred ' .. count[cid] .. ' gold to ' .. findPlayer(transfer[cid]) .. '.', cid) else npcHandler:say('This player does not exist.', cid) end else npcHandler:say('There is not enough gold on your account.', cid) end Topic[cid] = nil elseif Topic[cid] == 7 and msgcontains(msg, 'no') then npcHandler:say('Alright, is there something else I can do for you?', cid) Topic[cid] = nil elseif msgcontains(msg, 'change gold') then npcHandler:say('How many platinum coins would you like to get?', cid) Topic[cid] = 8 elseif Topic[cid] == 8 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = nil else count[cid] = math.min(500, getCount(msg)) npcHandler:say('So you would like me to change ' .. count[cid] * 100 .. ' of your gold coins into ' .. count[cid] .. ' platinum coins?', cid) Topic[cid] = 9 end elseif Topic[cid] == 9 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2148, count[cid] * 100) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2152, count[cid]) else npcHandler:say('Sorry, you do not have enough gold coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = nil elseif msgcontains(msg, 'change platinum') then npcHandler:say('Would you like to change your platinum coins into gold or crystal?', cid) Topic[cid] = 10 elseif Topic[cid] == 10 then if msgcontains(msg, 'gold') then npcHandler:say('How many platinum coins would you like to change into gold?', cid) Topic[cid] = 11 elseif msgcontains(msg, 'crystal') then npcHandler:say('How many crystal coins would you like to get?', cid) Topic[cid] = 13 else npcHandler:say('Well, can I help you with something else?', cid) Topic[cid] = nil end elseif Topic[cid] == 11 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = nil else count[cid] = math.min(500, getCount(msg)) npcHandler:say('So you would like me to change ' .. count[cid] .. ' of your platinum coins into ' .. count[cid] * 100 .. ' gold coins for you?', cid) Topic[cid] = 12 end elseif Topic[cid] == 12 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid]) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2148, count[cid] * 100) else npcHandler:say('Sorry, you do not have enough platinum coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = nil elseif Topic[cid] == 13 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = nil else count[cid] = math.min(500, getCount(msg)) npcHandler:say('So you would like me to change ' .. count[cid] * 100 .. ' of your platinum coins into ' .. count[cid] .. ' crystal coins for you?', cid) Topic[cid] = 14 end elseif Topic[cid] == 14 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid] * 100) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2160, count[cid]) else npcHandler:say('Sorry, you do not have enough platinum coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = nil elseif msgcontains(msg, 'change crystal') then npcHandler:say('How many crystal coins would you like to change into platinum?', cid) Topic[cid] = 15 elseif Topic[cid] == 15 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = nil else count[cid] = math.min(500, getCount(msg)) npcHandler:say('So you would like me to change ' .. count[cid] .. ' of your crystal coins into ' .. count[cid] * 100 .. ' platinum coins for you?', cid) Topic[cid] = 16 end elseif Topic[cid] == 16 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2160, count[cid]) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2152, count[cid] * 100) else npcHandler:say('Sorry, you do not have enough crystal coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = nil elseif msgcontains(msg, 'change') then npcHandler:say('There are three different coin types in Tibia: 100 gold coins equal 1 platinum coin, 100 platinum coins equal 1 crystal coin. So if you\'d like to change 100 gold into 1 platinum, simply say \'{change gold}\' and then \'1 platinum\'.', cid) Topic[cid] = nil elseif msgcontains(msg, 'bank') then npcHandler:say('We can change money for you. You can also access your bank account.', cid) Topic[cid] = nil end return true end npcHandler:setCallback(CALLBACK_GREET, greet) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo