pocotozinho 6 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Alguem tem como postar sua cd bar ai pra eu? e pelo amor de deus alguem me passe o serve com os corpoise do jotho prontos? Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) local scyther = {lookType = 496} local shinyscyther = {lookType = 849} local scythe1 = createCombatArea{ {0, 0, 0}, {0, 0, 0}, {0, 2, 0}, {1, 0, 0}, } local scythe2 = createCombatArea{ {1, 0, 0}, {0, 0, 0}, {0, 2, 0}, } local scythe3 = createCombatArea{ {1, 0, 0, 0}, {0, 0, 2, 0}, {0, 0, 0, 0}, } local scythe4 = createCombatArea{ {0, 0, 0, 1}, {0, 0, 2, 0}, {0, 0, 0, 0}, } local rollarea = createCombatArea{ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}, } function onCastSpell(cid, var) if getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) == FALSE then return true end if getCreatureCondition(cid, CONDITION_OUTFIT) == true then return true end doCreatureSay(cid, "Counter Helix", TALKTYPE_MONSTER) if getCreatureOutfit(cid).lookType == 366 then doSetCreatureOutfit(cid, scyther, -1) doChangeSpeed(cid, -1000) damage = 1500 elseif getCreatureOutfit(cid).lookType == 1317 then doSetCreatureOutfit(cid, shinyscyther, -1) doChangeSpeed(cid, -1000) damage = 2500 end local dmg = damage local function damage(params) if isCreature(params.cid) then doAreaCombatHealth(params.cid, FLYDAMAGE, getThingPos(params.cid), rollarea, -(params.dmg), -(params.dmg), 255) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe1, 0, 0, 128) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe2, 0, 0, 131) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe3, 0, 0, 129) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe4, 0, 0, 130) end end local function voltar(params) if isCreature(params.cid) then doRemoveCondition(params.cid, CONDITION_OUTFIT) doChangeSpeed(cid, 1000) doRemoveCondition(getCreatureMaster(cid),CONDITION_INFIGHT) end end local vezes = 2 local delay = 600 -- não mexe for i = 1, vezes do addEvent(damage, delay*i, {cid = cid, dmg = dmg}) end addEvent(voltar, 800*vezes, {cid = cid}) end pode chekar spell? counter helix passive Beleza vou checar aqui acordei agora rsrs. Qualquer coisa se funcionar eu posto como eu fiz funcionar. onde fica os scripts das spells pois eu não estou axando aki...tava qrendo dar uma olhada no sleep e no hypnose mais n axo o script deles na pasta help? data/spells/scripts/pokes/ps tão todas la. Gente to precisando pakas dos corpoise jhoto se alguem puder disponibilizar para mim eu fico muito grato e tambem a pagina que ensina a mudar o corpoise dos shiy pq abra ta como dark abra e eu queria colocar ao inves de shiny hitmonlee verde akele com a capa preta @nibelis depois que fica pronto passa pra noix awe usa esse npc aki local focus = 0 local max_distance = 8 local talk_start = 0 local conv = 0 local fighting = false local challenger = 0 local afk_limit_time = 30 -- seconds local afk_time = 0 -- don't change local battle_turn = 1 -- don't change local challenger_turn = 0 -- don't change local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes) local cooldown_table = {} local min_pokemons_to_battle = 4-- change to whatever you want local number_of_pokemons = 0 -- don't change local prizes = { [4] = {{itemid = 2152, count = 15}, {itemid = 11453, count = 1}}} local pokemons = { {name = "Geodude", level = 28, extralevel = 2.5, sex = SEX_MALE, nick = "", ball = "super"}, {name = "Kingler", level = 32, extralevel = 5, sex = SEX_FEMALE, nick = "", ball = "normal"}, {name = "Electrode", level = 35, extralevel = 10, sex = SEX_MALE, nick = "", ball = "great"}, {name = "Gloom", level = 40, extralevel = 15, sex = SEX_MALE, nick = "", ball = "normal"} } local function doSummonGymPokemon(npc) local this = npc if not isCreature(this) then return true end if #getCreatureSummons(this) >= 1 or focus == 0 then return true end local it = pokemons[battle_turn] doSummonMonster(this, it.name) local summon = getCreatureSummons(this)[1] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(summon), balleffect) setPlayerStorageValue(summon, 10000, balleffect) setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name)) setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name) doSetMonsterGym(summon, focus) local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5) doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1) fighting = true battle_turn = battle_turn + 1 end local function doWinDuel(cid, npc) if not isCreature(cid) then return true end local this = npc local x = prizes[number_of_pokemons] for n = 1, #x do doPlayerAddItem(cid, x[n].itemid, x[n].count) end doCreatureSay(npc, "Congratulations! You won, here is your prize.", 1) cooldown_table[getCreatureName(cid)] = os.clock() + time_to_fight_again setPlayerStorageValue(cid, 6278462, 1) return true end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then if cooldown_table[getCreatureName(cid)] and cooldown_table[getCreatureName(cid)] - os.clock() > 0 then selfSay("Hello "..getCreatureName(cid)..", I really enjoyed our last battle!") conv = 10 else selfSay("Hello "..getCreatureName(cid)..", are you up to a duel? I can give prizes if you win!") conv = 1 end focus = cid talk_start = os.clock() return true end if (isDuelMsg(msg) or isConfirmMsg(msg)) and (conv == 1 or conv == 10) and focus == cid then if getPlayerStorageValue(cid, 6278462) > 0 then selfSay("You have defeated me!") focus = 0 return true end if conv == 10 then selfSay("We have just battled! Please wait for me to recover from out last battle!") focus = 0 return true end if not hasPokemon(cid) then selfSay("You need pokemons to battle!") return true end selfSay("Ok, tell me how many pokemons will fight.") conv = 2 return true end if conv == 2 and focus == cid then if not tonumber(msg) then selfSay("Tell me the number of pokemons that will battle.") return true elseif tonumber(msg) > #pokemons then selfSay("I have only "..#pokemons..", so the maximum is "..#pokemons.."!") return true elseif tonumber(msg) < min_pokemons_to_battle or tonumber(msg) < 1 then selfSay("It has to be more than "..min_pokemons_to_battle..".") return true else number_of_pokemons = tonumber(msg) selfSay("Ok, the first that defeats "..number_of_pokemons.." wins, let's start!") challenger = focus setPlayerStorageValue(cid, 990, 1) addEvent(doSummonGymPokemon, 850, getThis()) conv = 3 return true end return true end if isNegMsg(msg) and conv == 1 and focus == cid then focus = 0 selfSay("It is better for you to refuse a battle against me!") return true end if msgcontains(msg, 'bye') and focus == cid then selfSay('Bye and do your best trainer!') setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local afk_warning = false local change = false function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 change = false challenger_turn = 0 battle_turn = 1 afk_time = 0 afk_warning = false if #getCreatureSummons(getThis()) >= 1 then setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0) doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1])) end return true else if not isCreature(focus) then focus = 0 return true end if fighting then talk_start = os.clock() if not isCreature(getCreatureTarget(getThis())) then if #getCreatureSummons(challenger) >= 1 then selfAttackCreature(getCreatureSummons(challenger)[1]) change = true afk_time = 0 else afk_time = afk_time + 0.5 if change then change = false challenger_turn = challenger_turn + 1 end end end if afk_time > afk_limit_time then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("I have waited too long, come back when you are ready!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Where's your pokemon? Let's fight!") afk_warning = true end if #getCreatureSummons(getThis()) == 0 then if battle_turn > number_of_pokemons then addEvent(doWinDuel, 1000, focus, getThis()) setPlayerStorageValue(focus, 990, -1) focus = 0 return true end addEvent(doSummonGymPokemon, 1000, getThis()) end if not hasPokemon(challenger) or challenger_turn > 6 or challenger_turn >= number_of_pokemons then selfSay("You lost our duel! Maybe some other time you'll defeat me.") setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local npcpos = getThingPos(getThis()) local focpos = getThingPos(focus) if npcpos.z ~= focpos.z then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Bye then.") return true end if (os.clock() - talk_start) > 30 then selfSay("Good bye and keep training!") setPlayerStorageValue(focus, 990, -1) focus = 0 end if getDistanceToCreature(focus) > max_distance then setPlayerStorageValue(focus, 990, -1) focus = 0 return true end local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) selfTurn(dir) end return true end Cara eu sei que tem os corpse no client só tens que fazer o seguinte adicionar eles no item editor e depois configurar os corpse nos arquivos de cada pokemon jhoto quanto ao lee da capa preta e bem simples só abrir o dat editor procurar o lee da capa preta e apertar cntrl+e a você salva com o nome de lee e depois vai no lee verde e aperta cntrl+i ai você escolhe o arquivo que você salvo no caso lee, ai vai aparecer a mensagem de deseja substituir você poem sim e pronto lee mudado só compilar. Ajudei Rep+ Tranquilo cabei de fazer a spell passive facil de mais. sem ofença. Postando ss Eu estava certo sobre como fazela então vou postar a unica coisa que espero é quem fazer as outras poste pros demais. Crie um arquivo .lua na pasta data/spells/scripts/ps com o nome de passive e cole isso dentro: local scyther = {lookType = 496} local shinyscyther = {lookType = 849} local scythe1 = createCombatArea{ {0, 0, 0}, {0, 0, 0}, {0, 2, 0}, {1, 0, 0}, } local scythe2 = createCombatArea{ {1, 0, 0}, {0, 0, 0}, {0, 2, 0}, } local scythe3 = createCombatArea{ {1, 0, 0, 0}, {0, 0, 2, 0}, {0, 0, 0, 0}, } local scythe4 = createCombatArea{ {0, 0, 0, 1}, {0, 0, 2, 0}, {0, 0, 0, 0}, } local rollarea = createCombatArea{ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}, } function onCastSpell(cid, var) if getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) == TRUE then return true end if getCreatureCondition(cid, CONDITION_OUTFIT) == true then return true end doCreatureSay(cid, "Counter Helix", TALKTYPE_MONSTER) if getCreatureOutfit(cid).lookType == 366 then doSetCreatureOutfit(cid, scyther, -1) doChangeSpeed(cid, -1000) damage = 1500 elseif getCreatureOutfit(cid).lookType == 1317 then doSetCreatureOutfit(cid, shinyscyther, -1) doChangeSpeed(cid, -1000) damage = 2500 end local dmg = damage local function damage(params) if isCreature(params.cid) then doAreaCombatHealth(params.cid, FLYDAMAGE, getThingPos(params.cid), rollarea, -(params.dmg), -(params.dmg), 255) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe1, 0, 0, 128) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe2, 0, 0, 131) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe3, 0, 0, 129) doAreaCombatHealth(params.cid, element, getThingPos(params.cid), scythe4, 0, 0, 130) end end local function voltar(params) if isCreature(params.cid) then doRemoveCondition(params.cid, CONDITION_OUTFIT) doChangeSpeed(cid, 1000) doRemoveCondition(getCreatureMaster(cid),CONDITION_INFIGHT) end end local vezes = 2 local delay = 600 -- não mexe for i = 1, vezes do addEvent(damage, delay*i, {cid = cid, dmg = dmg}) end addEvent(voltar, 800*vezes, {cid = cid}) end Sim esse é a spell anteriormente postada pelo @BLACKHERT o erro dele e dos demais foi esquecer disso que eu disse na spell a condição in fight Que estava assim if getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) == FALSE then e o certo e por um TRUE if getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) == TRUE then. Feito a passive salve e feche. Abra o arquivo spells.xml que fica em data/spells/ e adicione essa linha: <instant name="Passive" words="spell999" lvl="1000" mana="0" event="script" value="ps/passive.lua"></instant> O nome tem que ser exato ao do script da pasta data/spells/scripts/ps o spell999 e lvl 1000 e para que players não possam conjuralas. Feito isso sua passive esta pronta para ser posta em qualquer pokemon. Peguei o scyther por exemplo abra ele e adicione essa linha em suas spells de atk <attack name="Passive" interval="3698" chance="50" range="1"/> Ficando: <?xml version="1.0" encoding="UTF-8"?> <monster name="Scyther" nameDescription="a scyther" race="bug" experience="1044" speed="177" manacost="0"> <health now="110" max="110"/> <look type="366" head="55" body="80" legs="95" feet="113" corpse="11958"/> <targetchange interval="10000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> <flag hungerdelay="20"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Quick Attack" interval="2570" chance="31" range="2"/> <attack name="Slash" interval="2852" chance="29" range="1"/> <attack name="Wing Attack" interval="3322" chance="26" range="6"/> <attack name="Fury Cutter" interval="3040" chance="28" range="1"/> <attack name="Agility" interval="6330" chance="17" range="6"/> <attack name="Razor Wind" interval="3040" chance="28" range="6"/> <attack name="Swords Dance" interval="4403" chance="20" range="6"/> <attack name="X-Scissor" interval="3698" chance="24" range="1"/> <attack name="Passive" interval="3698" chance="50" range="1"/> </attacks> <defenses armor="0" defense="0"/> <voices interval="5000" chance="10"> <voice sentence="SCYTHER!"/> </voices> <loot> <item id="12171" chance="10000" count="1" countmax="1"/> <item id="11448" chance="100" count="1" countmax="1"/> <item id="12167" chance="10000" count="1" countmax="1"/> </loot> <script> <event name="Spawn"/> </script> </monster> Funcionou REP+ não funcionou poste o erro eu ajudo. Editado Janeiro 31, 2012 por SoulOroshie Link para o comentário Compartilhar em outros sites More sharing options...
victorvs 3 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 kkk um false que os cara não viam pois isso que da não ler o script inteiro .. Alguem tem o sistema de Tm? E quais são as metas (pra mim ajuda)? Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Bom sei la eu to adicionando as outfits rank 5 se alguem quiser eu até post o meu outfits.xml pra todos terem as addon feitas. Sei que muito estão é atrais dos poitraits shinys não irei faze-los pois meu item.otb esta todo diferente do que veio então ira bugar o de vcs. Se alguem fizesse para os demais ja estaria ajudando e muito. Link para o comentário Compartilhar em outros sites More sharing options...
boxxer321 67 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 #nibelins eu tenho um site aqui igual ao http://otpokemon.com se vc quiser para editar .. só pedir Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) #nibelins eu tenho um site aqui igual ao http://otpokemon.com se vc quiser para editar .. só pedir Você tem outro tipo de site para pokemon ? to querendo da uma olhada Alguem tem as libs dos gyms feita e pode me passar ? eu to prescisando muito mesmo galera. Editado Janeiro 31, 2012 por SoulOroshie Link para o comentário Compartilhar em outros sites More sharing options...
Taiger 286 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Ola amigos, boa tarde. Eu sou fã de otservers de tibia e até ja tive alguns servidores, e quando surgiu os poketibia fiquei muito animado pois tambem gosto de pokemon, mais devido a falta de tempo nao posso ler essas 118 paginas hehe. Gostaria de saber como anda esse projeto do pokemon advanced, como esta, se tem muitos bugs ou ja arrumaram os mais criticos etc, como anda o projeto? Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 O projeto anda bem tem bastante gente achando erros e tem alguns sempre tentando arrumar porem á muitos que so querem pedir e não ajudar. rss Mas esta indo muito bem não sabemos ao certo se terá ou não atualizações pelo criador do projeto porem algumas pessoas do forum estão se disponibilizando a ajudar e tirar erros. Link para o comentário Compartilhar em outros sites More sharing options...
cabrito2v 10 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 @Taiger A grande maioria dos bugs já foram arrumados, até onde eu sei somente 1 bug critico ainda resta no servidor. Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 @Taiger A grande maioria dos bugs já foram arrumados, até onde eu sei somente 1 bug critico ainda resta no servidor. Qual seria? E por favor alguem sabe concertar a cd bar sei la eu não mechi em nada e os pokes não saem tem como bugar e fazer sair 2 pokemons. Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) @SoulOroshie aki o poke soh usa a passiva se eu selecionar um poke ;x e o certo seria sair ms sem selecionar nenhum poke... mas fico lgl o script.. engraçado q colocando em "defenses" a skill funciona pra pokes selvagens mas n pra de player u,U coisa estranha... ah e se n me engano.. n eh FLYDAMAGE.. e sim BUGDAMAGE ;p Editado Janeiro 31, 2012 por Slicer Link para o comentário Compartilhar em outros sites More sharing options...
rDs7008 47 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) Entao, vamos começar um script de TM's ? Não sei direito como funciona... alguem explica certinho ai como funciona ele que a gente pode começar ele @soul isso é pq ta como attack.. coloca como defense que ele vai usar sem ter nenhum pokemon Editado Janeiro 31, 2012 por RicardoSohnn Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 /\ em defense o poke de player n usa a skill.. soh os selvagens... alguem tem ideia pq disso? ;x Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 @SoulOroshie aki o poke soh usa a passiva se eu selecionar um poke ;x e o certo seria sair ms sem selecionar nenhum poke... mas fico lgl o script.. engraçado q colocando em "defenses" a skill funciona pra pokes selvagens mas n pra de player u,U coisa estranha... ah e se n me engano.. n eh FLYDAMAGE.. e sim BUGDAMAGE ;p LoL dessa eu não sabia que o poke saia soltando passive sem nenhum motivo a todo caso acho melhor pois assim ele sabe que só soltará a passive se ele estiver em batalha pois imagina ir com um golduck por ae soltando passive caminhando nada vê. Entao, vamos começar um script de TM's ? Não sei direito como funciona... alguem explica certinho ai como funciona ele que a gente pode começar ele @soul isso é pq ta como attack.. coloca como defense que ele vai usar sem ter nenhum pokemon Bom irei testar a todo caso obrigado Quanto as TM é o seguinte e uma specie de "CD Literalmente" que e diferenciado por cores sendo essas cores as raças "vermlho fire, verde planta etc.." que pode ser usado para trocar um ataque do pokemon exemplo "m1 water gun" posso por waterball porem so com o CD azul e se caso o pokemon ja tenha a waterball não teria como colocar (pelo menos eu acho que não) os CDs podem tbm ser colocados caso o pokemon não tenha a spell exemplo magikarp só tem m1 eu poderia colocar os CD's no m2,m3 etc.. Desde que eles fossem azul *tipo agua* acho que ja deu pra entender. CD nada mais é do que adicionar ou editar os moves do pokemon. Indo almoçar fora daqui a pouco eu volto pra ajudar galera. /\ em defense o poke de player n usa a skill.. soh os selvagens... alguem tem ideia pq disso? ;x Sim tenho sim pois se não esta na configuration lib não será usado pelo pokemon de player somente oque está la será usado Porem la só tem os Moves então não sei se tem mesmo como por defence por la. Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) @SoulOroshie nunca jogase PO? ;x eh assim pro pessoal pescar... e ms em defense tb eh verificado se o player ta em combate... mas la.. soh de um poke ter o teu poke como alvo, tu ja fica "in fight" ;x no meu serv q eu tava editando antes de usa o PDA tinha o script de pokes de player e pokes selvagens separados.. e dai eu colocando esse teu script -q alias alguem tiro de um serv antigo q tinham postado aki no xtibia- ele funcionava em defense... isso de n funcionar em "defenses" deve ter a ver com como o brun123 faz pra um poke selvagem virar de player... Editado Janeiro 31, 2012 por Slicer Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados