Ir para conteúdo

fhoenix00

Campones
  • Total de itens

    29
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    fhoenix00 deu reputação a Benny em Spawn Aleatorio de Megas (Igual os Shinys)   
    local megas = {"Venusaur", "Blastoise"} local shinys = { "Venusaur", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Golbat", "Paras", "Parasect", "Magmar", "Typhlosion", "Xatu", "Growlithe", "Arcanine", "Tentacruel", "Farfetch'd", "Gengar", "Krabby", "Tauros", "Kingler", "Cubone", "Horsea", "Seadra", "Weezing", "Scyther", "Pinsir", "Crobat", "Zubat", "Tentacool", "Feraligatr", "Machamp", "Tangela", "Ampharos", "Electabuzz", "Jynx", "Charizard", "Voltorb", "Electrode", "Megenium", "Blaziken"} local raros = {"Dragonair", "Dratini", "Alakazam", "Gyarados", "Azumarill", "Dragonite", "Salamence", "Mantine", "Gardevoir", "Steelix", "Porygon", "Porygon2", "Shedinja"} local function ShinyName(cid) if isCreature(cid) then if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("(.*)") doCreatureSetNick(cid, newName) if isMonster(cid) then doSetCreatureDropLoot(cid, false) end end end end local function doSetRandomGender(cid) if not isCreature(cid) then return true end if isSummon(cid) then return true end local gender = 0 local name = getCreatureName(cid) if not newpokedex[name] then return true end local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 500 then gender = 4 elseif rate == -1 then gender = 2 elseif math.random(1, 500) <= rate then gender = 4 else gender = 3 end doCreatureSetSkullType(cid, gender) end local function doShiny(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9 if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/ chance = 10.0 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 5.8 --1% chance else return true end if math.random(1, 500) <= chance*10 then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end local function doMega(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9 if isInArray(megas, getCreatureName(cid)) then --alterado v1.9 \/ chance = 100.0 --1% chance return true end if math.random(1, 500) <= chance*10 then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Mega ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end function onSpawn(cid) registerCreatureEvent(cid, "Experience") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "DirectionSystem") registerCreatureEvent(cid, "CastSystem") if isSummon(cid) then registerCreatureEvent(cid, "SummonDeath") return true end addEvent(doShiny, 10, cid) addEvent(doMega, 10, cid) addEvent(ShinyName, 15, cid) addEvent(adjustWildPoke, 5, cid) return true end  
    Não tenho certeza se vai funcionar, mas testa aí. Adiciona ali os mega que tem. Tá com 100% de chance de spawnar só pra testar, dps vc coloca a chance que vc quiser ai.
    Atenção: Siga o prefixo de postagem, primeiro aviso.
     
  2. Upvote
    fhoenix00 deu reputação a Taiger em Mudar a signature da spr e dat, para abrir no Object Builder   
    Vai na pasta onde foi instalado o OBD abre a pasta firstRun e o arquivo versions.xml e la procura pela versao do seu .dat e .spr e muda a signature que aparece quando voce tenta abrir no OBD, salva o arquivo e tecle windows+r e digite %appdata% e procure a pasta ObjectBuilder e apague ela, pronto, abra o OBD e seja feliz.
  3. Upvote
    fhoenix00 deu reputação a FakeDoTG em Base shiny q tenha até a geração 5   
    tem uma base aqui,que tem ate a 5° geraçao mais nao tem os sh da 5°!
    link> https://tibiaking.com/forums/topic/86378-open-source-pokechampions/
  4. Upvote
    fhoenix00 deu reputação a PostadorHunterXXXX em Passivo E Agressivo Pda   
    adiciona isso no xml do monster

    <flag passive="1"/>
  5. Upvote
    fhoenix00 deu reputação a akumah em [Encerrado] como tirar efeitos das magias server pda   
    Essa é mais ou menos a ideia destes efeitos: dificultar a vida de quem sofre. Eu, particularmente, acho que sem eles, perderia um pouco a graça do jogo. Mas vou te explicar como retirar:
    Tem dois jeitos:
    1º O efeito em sí não sai, mas não dá miss (o ataque sempre vai):
    em pokemon moves.lua, na pasta lib, procure por:
    if math.random(1, 100) > 35 hen doSendAnimatedText(getThingPosWithDebug(cid), "MISS", 215) return false end Simplismente retire tudo que está relacionado a isso, basicamente isso:
    if cd >= 0 or cd2 >= 0 or cd3 >= 0 then if not isInArray({algumasMagias}, spell) and getPlayerStorageValue(cid, 21100) <= -1 then if math.random(1, 100) > 35 then doSendAnimatedText(getThingPosWithDebug(cid), "MISS", 215) return false end end end Ou:
    2º Ele irá tirar todos os efeitos das magias que tem esses efeitos:
    No mesmo arquivo, procure por todos os:
    local ret = {} E retire tudo abaixo disso.
    Um exemplo:
    local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 0 ret.check = 0 ret.spell = spell ret.cond = "Stun" Você retiraria todas essas linhas.
  6. Upvote
    fhoenix00 deu reputação a GuhPk em [Encerrado] como tirar efeitos das magias server pda   
    Caso precise ainda, eu respondi para você no tópico do PDA by Bolz! xtibia.com/forum/topic/213452-pda-sem-lvl-19-editado-por-bolz/page-22
  7. Upvote
    fhoenix00 deu reputação a Duuhzinhow em Tutorial criar spells (básico mesmo)   
    Eae galerinha do xtibia, vim aqui hoje para ensinar uma coisa simples, mas que muitos nao sabem, e queriam aprender de uma forma bem facil. Vou ensinar á criar spells básicas de damage, de area, e alvo unico... Primeiro, irei ensinar uma de alvo unico.
     
    Vá em data/spells/scripts copie um arquivo .lua e renomeie para o que desejar:
     
      Verde: é o tipo do dano, seja physical, fire, earth, ice, energy, lifedrain, manadrain, etc...   setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 22)   Vermelho: é o numero do efeito que irá até o alvo, voce pode escolher usando o comando "/x"   setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120.2, 1, -125.2, 1)   Roxo: é o dano minimo, e maximo da spell. Baseado no level.   doSendMagicEffect(position1, 196)   Azul claro: Efeito que vai dar no target, quando o efeito "22" bater nele, voce pode escolher pelo comando "/z"   E agora, vamos colocar sua spell no spells.xml:   <instant name="Nome da spell" words="Nome da spell" lvl="Level necessario" mana="mana que ira gastar" aggressive="1" range="7" blockwalls="1" needtarget="1" exhaustion="1500" needlearn="0" event="script" value="Nome do arquivo.lua"> <vocation id="id da vocaçao"/>   Agressive: se for para dar dano coloque "1" se nao for apra dano coloque "0" Blockwalls: se o jutsu pode atravessar paredes coloque "0", se nao atravessar coloque "1" Needtarget: se precisa estar atacando coloque "1" se nao, coloque "0" Exhaustion: Tempo de exalst, 1500 = 1,5 segundos.   Bem, fazendo tudo isso certinho, sua spell estará pronta, agora vou explicar uma spell simples de area.   ----------------------------------------------------------------------------------------------   Copie qualquer arquivo, e renomeie para o que desejar. Vou utilizar um script bem simples que eu criei agora, só para demonstraçao.   local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -93.5, 1, -106.5, 1) arr1 = { {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, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) return TRUE end   setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)   Essa parte, como expliquei na spell anterior, apenas mude o tipo de dano, á seu gosto.   setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)   Aqui, voce muda o efeito, que está o numero 214, voce pode modificar, vendo os numeros pelo comando "/z"   setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -93.5, 1, -106.5, 1)   Aqui, voce escolhe dano minimo e máximo, baseado no level.   arr1 = { {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, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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} }   Essa seria a area da spell, os numeros: 3: local onde o player que executou a spell irá estar. (sempre no meio) 1: local onde sairá a spell, ou seja, onde ira sair o efeito, e ira dar dano. 0: nao sairá nada   Agora, vamos coloca a tag da spell em spells.xml:   <instant name="Nome da spell" words="Nome da spell" lvl="level necessario" needtarget="0" mana="mana que ira gastar" aggressive="1" exhaustion="1600" needlearn="0" event="script" value="Nome do arquivo.lua"> <vocation id="id da vocaçao"/>   O resto ja expliquei na spell anterior.   Bem galera, por enquanto é isso, muito simples né.. Estou aceitando criticas e dicas para o topico, que eu estarei editando... e, em breve farei um tutorial mais aprofundado .... Se gostou nao esqueça de deixar seu rep
  8. Upvote
    fhoenix00 deu reputação a Duuhzinhow em AJUDA COM SPELLS   
    Eu mesmo criei esse tutorial sobre spells... bem basico, mas acho que servirá bem para voce... >>> http://www.xtibia.com/forum/topic/230354-tutorial-criar-spells-basico-mesmo/

    Ajudei? Rep+
  9. Upvote
    fhoenix00 deu reputação a cabrito2v em [Encerrado] [Pokemon] Dúvidas? - Pda   
    Não entendi sua pergunta leke !
     
     
    7° Pokémon indo pro depot \/
     
    Quem estiver com problema de pokémons não indo pro cp você tem que configurar o id da cidade no depot do seu centro pokémon.
     
    É só ir pelo map editor e colocar, clicando com o botão direito no depot ..
    Caso não tenha a opção de escolher é po que o map editor não reconhece o item.xml como o servidor e tem que fazer uma modificação nos items.xml que está na pasta 8.54 do seu map editor
     
    Pois provavemente ele vai está algo do tipo assim, parecido com isso, não tenho como saber ao certo agora.
     
    <item id="2589" to item id="2592" article="a" name="locker">
    <attribute key="type" value="depot"/>
    <attribute key="containerSize" value="30"/>
    </item>
     
    Algo desse tipo, é só substituir por isso abaixo, salvar, abrir o editor, abrir o mapa, colocar os ids das cidades e salvar o mapa.
     
    <item id="2589" article="a" name="locker">
    <attribute key="type" value="depot"/>
    <attribute key="containerSize" value="30"/>
    </item>
    <item id="2590" article="a" name="locker">
    <attribute key="type" value="depot"/>
    <attribute key="containerSize" value="30"/>
    </item>
    <item id="2591" article="a" name="locker">
    <attribute key="type" value="depot"/>
    <attribute key="containerSize" value="30"/>
    </item>
    <item id="2592" article="a" name="locker">
    <attribute key="type" value="depot"/>
    <attribute key="containerSize" value="30"/>
    </item>
  10. Upvote
    fhoenix00 deu reputação a Stigal em [Encerrado] Duvida No Pda   
    Mover dos pokemons sao editados no:
    "Pasta Servidor > Data > Lib > Configuration.lua"
     
    Procure la que devera estar no meio do script.
    Estara tudo arrumadinho. arrumado por pokemons
     
    Atenciosamente, Stigal.
  11. Upvote
    fhoenix00 deu reputação a GuhPk em PDA Sem lvl 1.9 (Editado Por Bolz)   
    1 - Para mudar a chance de shiny, vá em data/creaturescript/scripts/spawn.lua, e edite a linha:
    f isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/ chance = 1 --1% chance --Aqui voce edita a chance dos pokemons NORMAIS virarem shinys elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 2.0 --0.5% chance --Aqui voce edita a chance dos pokemons LENDARIOS virarem shiyns else return true end Exemplo de edição:
    chance = 2 > 2% de chance de virar shiny
    chance = 10 > 10% de chance de virar shiny
     
     
     
    2 - Pelo o que eu entendi, você deseja diminuir o coolddown da spell "teleport" que faz mudar de city...
    Se for isso mesmo, vá em data/talkactions/scripts/tele.lua, e edite a linha:
    local cdtele = 1800 Lembrando que estes 1800 é o que você deve editar, que é o tempo em SEGUNDOS! ^^
     
     
     
    3 - O local das árvores de Headbutt creio eu que você só poderá saber onde tem procurando pelo mapa do jogo mesmo, mas que eu me lembre tem bastante! ^^
    Já o ID delas é:
    -Árvore normal = 12591
    -Árvore quebrada = 12592
     
    --------------------------------------------------------------------------------------------------------------------------------------------------
     
    Cara, creio que seja em data/lib/pokemon moves.lua, ai você procura a spell que quer editar pelo "Ctrl+F" e retira a tag:
    local ret = {id = 0, cd = 13, eff = 34, check = 0, spell = spell, cond = "Miss"} Ou seja lá o que você quer retirar... Só ler a "cond =" que diz qual debuff que irá usar no pokemon...
     
     
    Exemplo com a spell Power Wave:
     
    Script original:
    elseif spell == "Power Wave" then local pos = getThingPosWithDebug(cid) local areas = {rock1, rock2, rock3, rock4, rock5} local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 103 ret.check = 0 ret.first = true ret.cond = "Paralyze" local function sendAtk(cid) if isCreature(cid) then doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 9658783, -1) for i = 0, 4 do addEvent(doMoveInArea2, i*400, cid, 103, areas[i+1], psyDmg, min, max, spell, ret) addEvent(doMoveInArea2, i*410, cid, 103, areas[i+1], psyDmg, 0, 0, spell) end end end Ai eu retiraria a tag do "paralyze" e ficaria assim:
    elseif spell == "Power Wave" then local pos = getThingPosWithDebug(cid) local areas = {rock1, rock2, rock3, rock4, rock5} local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 103 ret.check = 0 ret.first = true local function sendAtk(cid) if isCreature(cid) then doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 9658783, -1) for i = 0, 4 do addEvent(doMoveInArea2, i*400, cid, 103, areas[i+1], psyDmg, min, max, spell, ret) addEvent(doMoveInArea2, i*410, cid, 103, areas[i+1], psyDmg, 0, 0, spell) end end end Só procurar o debuff que quer tirar e apagar a tag!
     
    Obs: Não sei se estou correto, então salve seus arquivos antes de fazer a edição para se caso der errado você possa voltar ao normal!
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...