Ir para conteúdo

cocazul

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    cocazul recebeu reputação de Zauster em (Resolvido)Como mudar looktype de um player quando morrer {Help}   
    dai eu teria que coloca todas vocações ????

    n deu certo UPPPP

    ALGUEM AJUDA AI COLOCA AS SPRITES DOS CORPOS MORTOS PLSS 

    N FUNFO MANO tipo coloquei asssim a script.
     
     
    local table = { [1] = 2930 --naruto [2] = 2930 --naruto todos são naruto. e pq o naruto tem 12 transform. [3] = 2930  [4] = 2930  [5] = 2930  [6] = 2930  [7] = 2930  [8] = 2930  [9] = 2930  [10] = 2930  [11] = 2930  [12] = 2930  [13] = 2806    }   local function transform(pos, id, voc) local item = getTileItemById(pos, id) if item and item.uid > 1 then doTransformItem(item.uid, table[voc]) doDecayItem(item.uid or 0) end end   function onDeath(cid, corpse) if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid)) return true end       entao configurei 1-12 que sao os naruto id 2930 eo corpo do naruto morto . matei um char naruto fico o corpo de um humano n deu certo ajudaa 
  2. Gostei
    cocazul recebeu reputação de Matheus Reis em Spell-maker Para um Servidor de Naruto {Help}   
    { Spell-maker}
     
     
     
     
    Ola Galera então queria sabe se existe algum spell maker Compativel com um Servidor de Naruto 8.54 tendo as Sprites das spells.
     
     
    Ex: quando eu for usa o spell-maker quero coloca minhas sprites do meu cliente nele Eu tentei use em um Spell maker que eu usava pra tibia mas n deu certo parace que n e compativel oque quero faze acha algum spell maker compativel com meu cliente 8.54 talves e pq as sprites das spells n foi compativel com o sistema do spell maker pq ele e so pra tibia ai se mudou as sprites deu error ne.  
     
    Então oque eu quero e simplesmente um Spell maker compativel com meu cliente naruto 8.54 que de pra adiciona minhas sprites de spell nele. e nem vem fala pra mim passa o cliente que n e necessario e pq qualquer cliente de naruto e quase tudo mesma coisa so muda as sprites versão 8.54 Ou alguem poderia me ensina um jeito de arruma a spell como coloca o efeito que sai nele vo passa uma aqui.  
     
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    //spells.lua//
     
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ANI_SHIVERARROW) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_NONE)    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 35, 38, 55, 58)   local arr= { {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,0,1,0,0,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, {0,0,0,0,0,1,0,0,0,0,0}, {0,0,0,0,0,2,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,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,0,0,0,0,0,0,0,0}, }   local area = createCombatArea(arr) setCombatArea(combat, area)   function onCastSpell(cid, var) return doCombat(cid,  combat, var) end   ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- spells.xml   <instant name="Kattatonot" words="Kakunotonout" aggressive="0" lvl="300" maglv="35" mana="5000" soul="2" needtarget="1" direction="0" exhaustion="0" prem="0" enabled="1" needlearn="0" script=".lua"><vocation name="Paladin"/></instant>     Como Pode ver ela n tem o id do Efeito de ira sair ao hitar o alvo ou o efeito que ira sair quando o player fazer o jutsu.  
     
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    Uma Spells.lua Que e criada sem progama.
     
     
     
     
    local config = { efeitoTele = 3, -- efeito q ira aparacer a cada teleport. efeitoDamage = 134, -- efeito q ira aparecer ao hitar no alvo hits = 1, -- quantos hits vai dar delay = 500, -- intervalo de tempo a cada hit min = 3000, -- dano minimo max = 5400, -- dano maximo damage = COMBAT_PHYSICALDAMAGE -- tipo do dano } function isWalkable(pos, creature, pz, proj) -- nord     if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end     if getTopCreature(pos).uid > 0 and creature then return false end     if getTileInfo(pos).protection and not pz then return false end     local n = not proj and 3 or 2     for i = 0, 255 do                     pos.stackpos = i                     local tile = getTileThingByPos(pos)                     if tile.itemid ~= 0 and not isCreature(tile.uid) then                                     if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then                                                     return false                                     end                     end     end     return true end function getPosDirs(p, dir) -- mkalo     return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function validPos(pos) tb = {} for i = 1, 8 do   newpos = getPosDirs(pos, i)   if isWalkable(newpos) then    table.insert(tb, newpos)   end end table.insert(tb, pos) return tb end spell141 = { start141 = function (cid, target, markpos, hits)     if not isCreature(cid) then return true end     if not isCreature(target) or hits < 1 then                  doTeleportThing(cid, markpos)                  doSendMagicEffect(getThingPos(cid), config.efeitoTele)                  return true     end     posAv = validPos(getThingPos(target))     rand = #posAv == 1 and 1 or #posAv - 1     doSendMagicEffect(getThingPos(cid), config.efeitoTele)     doTeleportThing(cid, posAv[math.random(1, rand)])     doAreaCombatHealth(cid, config.damage, getThingPos(target), 0, -config.min, -config.max, config.efeitoDamage)     addEvent(spell141.start141, config.delay, cid, target, markpos, hits - 1)    end } function onCastSpell(cid) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} target = getCreatureTarget(cid) if target then   spell141.start141(cid, target, getThingPos(cid), config.hits) doSendMagicEffect(position1, 138) end return true end  
     
    simplesmente ali 134 o efeito da spells no progama que uso n tem nada de poder escolher entao ja e mais complicado cria spells de naruto com progama assim.  eu queria sabe onde acha na pasta do ot os numeros de efeito de cada spells   
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    Imagem Mostrando um progama que achei pra cria spells so pra cliente tibia. :/
     
     

     
     
     
     
     
    Então galera esse e um progama pra cria spells pra tibia como pode ver na imagem queria um progama pra cria spells para naruto pq ali mostra elementos e efeito de tibia ai fica ruim ou alguem poderia me ensina a quando eu cria a spells por esse progama me ensina a modificala pra fica compativel com meu ot.
     
     
    +rep pra quem ajudaaa Pls 

    UP PELO MENOS ALGUEM LE O TOPICO NINGUEM ATE AGORA DEU UMA OLHA AFF 
  3. Gostei
    cocazul recebeu reputação de Lucas Barreto em Castle war system HElp   
    Ola Galerinha do tibiaking Estou querendo um Systema de Castle war guilds.
     
    Ex : O Systema não e igual os outros de puxar as alavancas e a guild fica dono do Castelo e tal o que eu quero e que Tenha Um Boss no castelo Tipo Um monster Que quando Uma guild matar Esse boss Ela ficar dono Do Castelo. 
     
    ex2 : quando uma guild ja Conquistou esse Castelo Ai Vem outra guild Tenta Pegar o Castelo Deles Ai Summona Guardas automaticos para proteger. 
     
    ex3 : MAs o Objetivo Não e Puxar as alavancas E mata o boss dentro do Castelo Mas seria a mesma Função 
    ai a Guild Atual Devera Proteger Seu Castelo Progetendo O Guardiao Do Castelo healando ele e etc.. 
     
    Ex4 : devera ter 2 Castelos Para Guild Ficarem Batalhando e Se uma guild possui Um castelo Ela podera ter 2 castelo. 
     
    Ex5 : O Castelo Ele não precisa De comandos para ser aberto Ele fica Aberto se não como As guild Iriam Batalhar. 
     
    Ex6 : o Objetivo Do event e que o Castelo Fique Sempre Aberto COmo O castelo 24hrs MAs esse e Diferente. 
     
    ex7 : Que Todas guild Possam Tenta Dominar os  Castelo Matando o boss.
     
    Ex8 : Quando uma Guild Matar o boss Os player que estão dentro são teleportados Para o templo E uma mensagem Aparece. 
     
    Ex : guild Os Cavaleiros Da mort São donos do Castelo Atualmente Ai Chega a guild chamada Mensageiros Da lux E tentam Dominar o castelo Ai eles consegue Mata o boss ai os player Da guild Os cavaleiros Da mort São Teleportados Para o templo E uma Mensagem Aparece a Guild Cavaleiros Da Mort Perdeu O castelo Para Os Mensageiros Da lux.
     
    Ex9 : Só Podera Entra no maximo Uma guild Para tenta Conquistar o Castelo Tendo 2 Castelo Para conquistalo. 
     
    Ex : Mas so Quando O castelo Ja tiver dono que So podera 1 guild Tenta coquistar o castelo
    os cavaleiros da mort estão dono do Castelo Grão Seco A guild Mensageiros da lux Esta invadindo o castelo Grão Seco.
     
    Outra guild tenta Entrar no Castelo atual da Cavaleiros Da guild Mas Cavaleiro da mort Esta Em guerra dentro do castelo contra Mensageiros da lux Ai Aparece uma Mensagem Na Porta Limites De guild em Batalha 2.
     
    Tendo 2 Castelos Para conquistar.
     
     
    Se não conseguirem Esse tipo De Castelo War system Pode Ser Esse Aqui. >>>>>> 
     
     
    Obg +rep Pra quem ajuda. 
     
    Se não Fui claro Suficiente So Posta. 
     
    Olha Um Systema De castelo War Que Achei Mas não e esse tipo que quero 
     
    Site : --- http://www.tibiaking.com/forum/topic/138001-castle-war-20/
  4. Gostei
    cocazul recebeu reputação de Darkrox em {HElp} Como deixar um ot online por internet via {WIFI}   
    Então eu queria Ajuda Minha Net e Wifi Não com o cabo ai queria Saber se tem como Cria um ot com net De wifi ? 
     
     
    Então eu ja Tentei de varias formas.
     
     
    Ex : Tentei Já Entra no Site do meu Ip do Gateway Padrão , eu so consigo entra nesse site Quando conecto O cabo amarelo no meu modem.
     
            -{ ex : o ip do meu gteway padrao e 192.168.6.9 ai tento entra nele , mas ai oq da ? / não da pq e como se ele existe não entra                 { O que eu quero sabe como fazer pra entra no Site do ip Gateway padrao pra poder liberar as portas pra deixa o ot online /> OBs : mas nao entra..           -{ Nesse site eu posso desbloquear minhas portas Tentei Fazer isso mas não deu Certo.
     
    o Motivo Deve ser porque Minha Net e De wifi , e Não com cabo então O Ip do meu pc Não fica Fixo         {Ex:
    Ex : Uma hora meu ip pode Esta 192.167.1.1 < E so um exemplo n e meu ip .. Dai dps que reseto minha internet ele muda pra outro ip  192.167.1.3 < o 3 Mudo tendeu N ta fixo ....   
             Nome do Modem : opticom dslink 485 ; e da Oi velox .. 
     
     
     
    Então E esse Quero Sabe se tem como Cria um ot com net de wifi .. Se alguém Souber Me ajudaaaaa Pls...
    +rep quem ajuda POR FAVOR AJUDAAAAA OBg 

    UP
  5. Gostei
    cocazul deu reputação a xWhiteWolf em Sistema de Reset 100%   
    Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções; 
    Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).
    Testado em TFS 0.3.6, Versão 8.45

    Sem mais delongas, vamos ao script.
    Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele:


    Você pode editar tudo mexendo aqui:
    local config = {
    minlevel = 150, --- level inical para resetar
    price = 10000, --- preço inicial para resetar
    newlevel = 20, --- level após reset
    priceByReset = 0, --- preço acrescentado por reset
    percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
    levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset
    }
    Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele:
    Agora é só colocar o seu npc no mapa pelo mapa editor e curtir

    OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query
    OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso.
    OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim.


    --- EDIT: Coloquei algumas imagens pra vcs verem como fica no server  
     
       
     
       

     



    EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato.

    EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta.

    EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc)
    O script também foi identado.
  6. Gostei
    cocazul deu reputação a xWhiteWolf em Voodoo   
    Aeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO?
    Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE).

    Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano?
    PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo.
    Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts.
    Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP).

    Agora vamos à mágica:
     
    Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele
    <?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567,  tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function()   if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end  end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim)))  then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair.
    -------------------------------------------------------------------------------------------------------------
     
    aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la.

    OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico).

    Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!.

    Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs

    PS: a foto ficou meio bosta mas vou postar mesmo assim 

     
    Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito. 

    Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum   
    E não esqueça de clicar em "gostei" caso tenha curtido a idéia.

    Ahhh, e antes que eu me esqueça dos agradecimentos:
    @ViitinG por me ajudar a testar
    @CreatServer por me dar a idéia
    @MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
  7. Gostei
    Nome: Experiencia para Guild Função: A pedidos de um membro do forum (TioSlash). Aqui está um script que ira adicionar uma porcentagem de Experiência por jogadores online. Exemplo: Ao alcançar 5  jogadores da Guild Online, todos que estiverem online recebem 2% de xp adicional por jogador. Ou seja, um total de +10% de xp. Bom para servidores com bastante RPG, incentivando a cooperação.  
    Atualizações: Dia 17/08/2014  
    Versão: Testada somente na "10.31". (OTX Server - Galaxy) Créditos:  Kazuza - (eu) Por ter criado.
    TioSlash - Pela Ideia.
    Vodkart - Por ter achado a função dele que retorna os jogadores da Guild ( sem ela com meu nivel de script não teria conseguido).
    xWhiteWolf - Por uma ajudinha.
     
     
    "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild.lua".
    function getGuildMembersOnline(GuildId) local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");") if (query:getID() ~= -1) then repeat table.insert(players,query:getDataString("name")) until not query:next() query:free() end return #players > 0 and players or false end function onLogin(cid) local guild_id = getPlayerGuildId(cid) local minimo = 2 local max = 2 local porcentagem = 2 ----------------------------------------- doPlayerSetExperienceRate(cid, 1) if guild_id == 0 then addEvent(doPlayerSendTextMessage, 200,cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Entre em uma guild para ter bonus de experiencia.") return true end if guild_id > 0 then local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) --if #getPlayersByIp(getPlayerIp(cid)) >= max then --doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Players com Multi-Cliente nao contam para ganhar o bonus de experiencia.") --return true --end if membros_online <= minimo then addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Para ter bonus de experiencia precisa ter mais de "..minimo.." jogadores da guild online.\n Jogadores da Guild Online ["..membros_online.."]") return true end if membros_online > minimo then for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) addEvent(doPlayerSendTextMessage,1000,nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi aumentada para +"..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." logou.") end return true end end end "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild_out.lua".
    function getGuildMembersOnline(GuildId) local players = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == tonumber(GuildId) then table.insert(players, getPlayerName(pid)) end end return #players > 0 and players or false end function onLogout(cid) if getPlayerGuildId(cid) == 0 then return true else local guild_id = getPlayerGuildId(cid) local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) local porcentagem = 2 local minimo = 2 ----------------------------------------- for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local membros_online = membros_online - 1 if membros_online <= minimo then doPlayerSetExperienceRate(nomes, 1.0) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Nao tem mais o numero de players necessarios para ganhar o bonus de experiencia - Membro "..getCreatureName(cid).." deslogou.") end if membros_online > minimo then local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi ajustada para "..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." deslogou.") end end return true end end   "Pasta Servidor > Data > Creaturescripts" em creaturescripts.xml adicione:
    <event type="login" name="ExpGuild" event="script" value="exp_guild.lua"/> <event type="logout" name="ExpGuild_out" event="script" value="exp_guild_out.lua"/> "Pasta Servidor > Data > Creaturescripts > Scripts" em login.lua adicione:
    Lá em baixo, onde tem registerCreatureEvent ponha esses dois:
    registerCreatureEvent(cid, "ExpGuild") registerCreatureEvent(cid, "ExpGuild_out")  
     
    PS: Qualquer erro, postem. É muito importante. Como este é meu segundo script na vida. Pode ser que aconteça de dar erros. Eu testei pouco.
  8. Gostei
    cocazul deu reputação a xWhiteWolf em Volatile Spiderling   
    Fala galera do TK, hoje eu venho mais uma vez trazer uma das magias mais incríveis que eu já vi até hoje (sério). A magia original foi feita em outro fórum mas para a versão 10.1... como eu vi que ninguém conseguiu adaptar pra versões inferiores eu decidi criar a minha própria volatile spiderling.
    Confesso que no começo eu tive muita dificuldade em achar as funções certas mas depois de tentar ajudar o membro @234567890z no suporte eu tive uma epifania. Sem mais delongas eu vou explicar oque o script faz e em seguida ensinar a colocá-lo no seu server.

    • Explicação: A magia foi feita baseada na personagem Elise do jogo League of Legends: você faz uma cria que anda até os oponentes e se explodem causando dano em area e deixando eles envenenados. Aqui tem um gif da magia funcionando  
    obs: note que esse gif não fui eu que fiz mas ele demonstra exatamente como a magia funciona.
     
     
    • Instalação: Pra instalá-lo no seu servidor vai ser um pouco complicado pois ele requer diversas modificações... antes de mais nada, coloque essas linhas no seu spells.xml:
    <instant name="Volatile Spiderling" words="utevo res tera" lvl="40" mana="20" prem="1" selftarget="1" exhaustion="2000" groups="1,2000" icon="88" needlearn="0" event="script" value="especiais/spiderling.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="poison explosion" words="poison explosion" lvl="0" mana="0" prem="0" aggressive="1" exhaustion="3000" needlearn="1" event="script" value="especiais/newspider.lua"> </instant> Agora você vai ter que criar os dois arquivos na pasta spells\scripts\especiais.
    Em newspider.lua coloque o seguinte:
    agora em spiderling.lua coloque o seguinte: Agora feito isso vc vai precisar criar o monstro que usará essa spell.. vá em monster\monsters.xml e adicione a seguinte linha: <monster name="Clone Spider" file="arachnids/newspider.xml"/> agora crie o arquivo data\monsters\arachnids\newspider.xml e adicione o seguinte nele:
    Agora eu vou ensinar vocês a editarem... não tem muito oque mudar, apenas se vc quiser alterar os danos da spell vá em newspider.lua e será possível editar os danos do poison e da explosão:
     
    local damageTable = {     {4, -3},     {9, -2},     {20, -1} }   aqui você muda quantos danos serão e quanto cada um tirará.. no caso serão 4 hits de -3, depois 9 hits de -2 e por fim 20 hits de -1 até o poison parar. Lembrando que esses danos saem de 4 em 4 segundos. Se você quiser que eles sejam mais rápidos é só editar aqui:
    addDamageCondition(poisonpowder, t[1], 4000, t[2]) (4000 significa 4 segundos).
    Feito isso será possível editar também a area e o dano da explosão respectivamente em: Area:    
    Dano:
    doAreaCombatHealth(cid, 1, getThingPos(cid), area, -1, -30, 20)
    Em vermelho temos o dano mínimo, analogamente, em azul, temos o dano máximo.
    Em verde é possível editar o efeito da explosão
    Só lembrando que as edições que forem feitas no newspider.lua devem ser feitas no spider.lua para que a magia tenha graça.. se não o dano da explosão/poison ao explodir será diferente caso ela morrer antes.  Em spiderling.lua vc pode editar a quantidade máxima de crias que um player pode ter... o normal está setado para 2 mas vc pode sentir-se livre pra colocar quantas queira.
    local maxsummon = 2   (Só lembre-se que ao explodir uma aranha pode acertar outra então não é muito bom deixar um numero maior que 3);
     
    Se você for daqueles bem chatinhos com a magia você ainda pode editar algumas coisas importantes tais como:
    O efeito que sai quando ela explode por morte ou pela spell:
     doSendMagicEffect(getThingPos(cid), 16) O tempo em que ela executa a spell, a chance da spell sair naquele tempo e quantos sqm de distancia a criatura alvo deve estar pra aranha se explodir: 
    <attack name="poison explosion" interval="1000" range="1" chance="50"/> interval = de quantos em quantos segundos ela executa a spell
    range = distancia em sqm que o alvo deve estar pra que ela execute a spell
    chance = chance de executar a spell a cada interval (nesse caso a cada 1 segundo tem 50% de chance dela soltar a magia)
     
    Você ainda pode editar aqui em vermelho:
    o tempo que leva pra criatura executar a magia.. Por padrão eu deixei 2 segundos, ou seja... eu sumono a aranha, ela vai até o alvo e a cada segundo q ela passa grudada no alvo (1 sqm de distancia) ela tem 50% de chance de ativar a spell e ficar parada no lugar durante 2 segundos até explodir. Se você quiser que ela leve menos tempo pra explodir é só baixar o 2000 (em milisegundos).. Se você quiser aumentar o dano e deixar ela parada por mais tempo até explodir pode editar a vontade aumentando os 2000.

    • Bom, isso é tudo que dava pra eu explicar... é óbvio que dá pra editar muito mais coisa mas se você não é scripter e não tem muita idéia de como editar eu dei uma ensinada básica doque você está autorizado a mexer. Espero que vocês curtam a spell e deem aquele REP+ pra fortalecer kkkk
    Eu não pretendia liberar essa spell visto que ela é extremamente complexa e nenhum servidor tem ela, mas, acho que seria muito babaca da minha parte ficar guardando um script tão bonito hahaha. Qualquer erro ou dúvida postem nos comentários que eu tento ajudar.
     
    ah, mais uma coisa: Os créditos são 90% meus visto que eu fiz praticamente tudo.. 9% é pro cara que fez a magia original (se vcs derem uma procurada vcs vão ver que não tem quase nada a ver com a minha mas os créditos dele são por ele ter me dado a idéia) e 1% pro cara no suporte que me pediu ajuda numa spell do mesmo gênero e me fez correr atrás de uma forma de fazer essa magia pra versões inferiores a TFS 1.0
  9. Gostei
    voce tem que coloca virgula no final
    [12] = 2930, --- assim [13] = 2806 ---- a ultima voce n coloca ,
  10. Negativo
    cocazul recebeu reputação de ViitinG em (Resolvido)Como mudar looktype de um player quando morrer {Help}   
    dai eu teria que coloca todas vocações ????

    n deu certo UPPPP

    ALGUEM AJUDA AI COLOCA AS SPRITES DOS CORPOS MORTOS PLSS 

    N FUNFO MANO tipo coloquei asssim a script.
     
     
    local table = { [1] = 2930 --naruto [2] = 2930 --naruto todos são naruto. e pq o naruto tem 12 transform. [3] = 2930  [4] = 2930  [5] = 2930  [6] = 2930  [7] = 2930  [8] = 2930  [9] = 2930  [10] = 2930  [11] = 2930  [12] = 2930  [13] = 2806    }   local function transform(pos, id, voc) local item = getTileItemById(pos, id) if item and item.uid > 1 then doTransformItem(item.uid, table[voc]) doDecayItem(item.uid or 0) end end   function onDeath(cid, corpse) if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid)) return true end       entao configurei 1-12 que sao os naruto id 2930 eo corpo do naruto morto . matei um char naruto fico o corpo de um humano n deu certo ajudaa 
  11. Gostei
    cocazul deu reputação a gabisa00 em Arena War   
    Você poderia postar os erros que estão dando por favor.
  12. Gostei
    cocazul recebeu reputação de gabisa00 em Arena War   
    tem como respnmde 
    doTeleportThing(cid, {x=160,y=54,z=7})          -- ALTERAR coordenada do templo do seu servidor
     
    essa posição devia ser da sala de espera

    tem como responde pls mano 
  13. Gostei
    cocazul deu reputação a Adriano SwaTT em [AJUDA] Script de Remover TRAP   
    Certo, me diga o que editou e como fez para eu saber onde errei, somos todos alunos aqui.

  14. Gostei
    cocazul deu reputação a ViitinG em [Creaturescript] Icones no minimap com descrição   
    Bom para quem não sabe como funciona o script,é uma marcação que fica no minimap(in-game) que ao deixar o ponteiro do mouse em cima aparece uma descrição,pode ser mudado tanto a descrição quanto o icone que aparece no minimap.
     
    • Adicionando o script •
     
     
     
     
    Em "data/creaturescripts/creaturescripts.xml" adicione está tag :
    <event type="think" name="IconMap" event="script" value="iconmap.lua"/> Em "data/creaturescripts/scripts" crie um arquivo lua chamado "iconmap" e cole isso dentro :
    local config = { storage = 030220122041, version = 1, marks = { {mark = 5, pos = {x = 1095, y = 1062, z = 7}, desc = "Temple."}, {mark = 4, pos = {x = 895, y = 996, z = 7}, desc = "Depot."} } } local f_addMark = doPlayerAddMapMark if(not f_addMark) then f_addMark = doAddMapMark end function onThink(cid, interval) if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then return end for _, m in pairs(config.marks) do f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "") end setPlayerStorageValue(cid, config.storage, config.version) return TRUE end Em "data/creaturescripts/scripts/login.lua" adicione está tag no fim do script :
    registerCreatureEvent(cid, "IconMap") Caso use TFS 1.0 use este register no login.lua :
    player:registerEvent(cid, "IconMap") Creditos : Comedinhas.  -   ViitinG pelo tutorial.
     
     
    • Configurando •
     
     
     
    • Icones •
     

  15. Gostei
    cocazul deu reputação a xWhiteWolf em [AJUDA] Script de Remover TRAP   
    creaturescripts\scripts\nomequalquer.lua
    function onKill(cid, target, lastHit) local tempo = 20*1000 local idparede = 1483 --DIGITE AQUI O ID DAS TRAPS ------ POSIÇÃO DAS TRAPS ---------- local wall1 = {x=74, y=410, z=5, stackpos=1} local pos1 = getThingfromPos(wall1) local wall2 = {x=75, y=410, z=5, stackpos=1} local pos2 = getThingfromPos(wall2) ---------------------------------------- function wait1(wall1) doCreateItem(idparede,1,wall1) end function wait2(wall2) doCreateItem(idparede,1,wall2) end if isMonster(target) and getCreatureName(target):lower() == 'nome do monstro aqui' then doPlayerSendTextMessage(cid,22,"MENSAGEM AO MATAR O MONSTRO!") local storage = getPlayerStorageValue(cid,13340) if storage ~= 1 then ------------ FUNÇÃO DE REMOVER ------------- doRemoveItem(pos1.uid,1) doSendMagicEffect(pos1,12) doRemoveItem(pos2.uid,1) doSendMagicEffect(pos2,12) ----------------------------------------------------------------------- addEvent(wait1,tempo,wall1) addEvent(wait2,tempo,wall2) setPlayerStorageValue(cid, 13340, 1) end end return true end creaturescripts.xml
    <event type="kill" name="NOME DO EVENTO" script="nomequalquer.lua"/> creaturescripts\scripts\login.lua (adiciona antes do ultimo return true):
    registerCreatureEvent(cid, "NOME DO EVENTO")
  16. Gostei
    cocazul deu reputação a GBDias em Firstitems.lua Error   
    doPlayerAddItem(cid, firstItems[getPlayerVocation(cid)], 1) <<<<<< Ta faltando um colchete aqui, vou deixar você tentar achar '-'
  17. Gostei
    cocazul deu reputação a thiago270 em [Resolvido] Error Vocations.xml   
    Desculpe a minha falta de atenção, esta faltando alem daquele s, esta faltando o que fecha a ultima vocação o script correto ficara assim:
     
  18. Gostei
    cocazul deu reputação a thiago270 em [Resolvido] Error Vocations.xml   
    Voce em vez de colocar na ultima linha </vocations> colocou </vocation> sem o "s". Corrigindo o erro:
     
     
    +Rep caso solucionado.

Informação Importante

Confirmação de Termo