pablopablo 6 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Que mapa eu posso colocar ? (tenten colocar o do pokemon Ex mas como la tem respaws pokemon "S" exempo Caterpie s, e no server n tem teria que colocar respaws td de novo alguem sabe otro mapa ae ? +REP Tem um mapa que vi em alguns ot qe em cima do cp ja tem os Boost machine, no cp tem tp pra evento e um tp qe vai pra uma salinha com tps pra citys, se algum souber ae qe mapa e esse e me paqssar link +REP 1 semana Descubem erros ortografico : Link para o comentário Compartilhar em outros sites More sharing options...
ABCDEFGHIJK 11 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Olha voce pode usar o do KPDO com respaws (ele nao tem os "s") mas se voce quizer tbm voce pode tirar os "S" dos monster do mapa do Pokemon EX. É so abrir o arquivo spwan que ta na pasta do mapa abrir ir com o bloco de notas e tirar os "s" dos poke (somente o "S") Exemplo: <spawn centerx="1133" centery="1421" centerz="2" radius="10"> <monster name="Scyther s" x="-8" y="-2" z="2" spawntime="30"/> <monster name="Scyther s" x="2" y="0" z="2" spawntime="30"/> <monster name="Scyther s" x="10" y="2" z="2" spawntime="30"/> <monster name="Scyther s" x="-3" y="8" z="2" spawntime="30"/> </spawn> Ai tira os S ficando assim <spawn centerx="1133" centery="1421" centerz="2" radius="10"> <monster name="Scyther" x="-8" y="-2" z="2" spawntime="30"/> <monster name="Scyther" x="2" y="0" z="2" spawntime="30"/> <monster name="Scyther" x="10" y="2" z="2" spawntime="30"/> <monster name="Scyther" x="-3" y="8" z="2" spawntime="30"/> </spawn> Espero que tenha ajudado. Link para o comentário Compartilhar em outros sites More sharing options...
pablopablo 6 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 (editado) Vlw mano +REP ja A e qual id dakeles outifit de Promotion ? Editado Fevereiro 8, 2012 por Eshpedrero Link para o comentário Compartilhar em outros sites More sharing options...
ABCDEFGHIJK 11 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 (editado) Alguem tem os ids das outfits do clans do pxg ? REP pra quem me ajudar! Usa O Meu <?xml version="1.0"?> <outfits> <!-- NORMAL --> <outfit id="1"> <list gender="0" lookType="511" name="Trainer"/> <list gender="1" lookType="510" name="Trainer"/> </outfit> <outfit id="2"> <list gender="0" lookType="615" name="Elite Trainer"/> <list gender="1" lookType="614" name="Elite Trainer"/> </outfit> <outfit id="3"> <list gender="0" lookType="512" name="Rapper"/> <list gender="1" lookType="545" name="Rapper"/> </outfit> <outfit id="4"> <list gender="0" lookType="588" name="Jamaican"/> <list gender="1" lookType="587" name="Jamaican"/> </outfit> <outfit id="5"> <list gender="0" lookType="586" name="Oriental"/> <list gender="1" lookType="585" name="Oriental"/> </outfit> <outfit id="6"> <list gender="0" lookType="605" name="Rocket"/> <list gender="1" lookType="604" name="Rocket"/> </outfit> <outfit id="7"> <list gender="0" lookType="495" name="Adventurer"/> <list gender="1" lookType="494" name="Adventurer"/> </outfit> <outfit id="8"> <list gender="0" lookType="513" name="Bussiness"/> <list gender="1" lookType="514" name="Bussiness"/> </outfit> <outfit id="9"> <list gender="0" lookType="517" name="Atletic"/> <list gender="1" lookType="516" name="Atletic"/> </outfit> <outfit id="10"> <list gender="0" lookType="519" name="Punk"/> <list gender="1" lookType="518" name="Punk"/> </outfit> <outfit id="11"> <list gender="0" lookType="521" name="Fisher"/> <list gender="1" lookType="520" name="Fisher"/> </outfit> <outfit id="12"> <list gender="0" lookType="524" name="Mercenary"/> <list gender="1" lookType="522" name="Mercenary"/> </outfit> <outfit id="13"> <list gender="0" lookType="525" name="Hiker"/> <list gender="1" lookType="523" name="Hiker"/> </outfit> <!-- PROMOTE --> <outfit id="14"> <list gender="0" lookType="1149" name="Naturia"/> <list gender="1" lookType="1159" name="Naturia"/> </outfit> <outfit id="15"> <list gender="0" lookType="1152" name="Volcanic"/> <list gender="1" lookType="1154" name="Volcanic"/> </outfit> <outfit id="16"> <list gender="0" lookType="1146" name="Gardestrike"/> <list gender="1" lookType="1155" name="Gardestrike"/> </outfit> <outfit id="17"> <list gender="0" lookType="1153" name="Malefic"/> <list gender="1" lookType="1157" name="Malefic"/> </outfit> <outfit id="18"> <list gender="0" lookType="1148" name="Wingeon"/> <list gender="1" lookType="1158" name="Wingeon"/> </outfit> <outfit id="19"> <list gender="0" lookType="1147" name="Raibolt"/> <list gender="1" lookType="1160" name="Raibolt"/> </outfit> <outfit id="20"> <list gender="0" lookType="1145" name="Psycraft"/> <list gender="1" lookType="1161" name="Psycraft"/> </outfit> <outfit id="21"> <list gender="0" lookType="1151" name="Seavell"/> <list gender="1" lookType="1162" name="Seavell"/> </outfit> <outfit id="22"> <list gender="0" lookType="1150" name="Orebound"/> <list gender="1" lookType="1156" name="Orebound"/> </outfit> <!-- PROMOTE MASTER --> <outfit id="23" premium="yes"> <list gender="1" lookType="1164" name="Raibolt Legend"/> <list gender="0" lookType="1179" name="Raibolt Legend"/> </outfit> <outfit id="24" premium="yes"> <list gender="1" lookType="1165" name="Seavell King"/> <list gender="0" lookType="1178" name="Seavell Queen"/> </outfit> <outfit id="25" premium="yes"> <list gender="1" lookType="1166" name="Naturia Keeper"/> <list gender="0" lookType="1177" name="Naturia Keeper"/> </outfit> <outfit id="26"> <list gender="1" lookType="1167" name="Malefic Lord"/> <list gender="0" lookType="1176" name="Malefic Lady"/> </outfit> <outfit id="27"> <list gender="1" lookType="1168" name="Volcanic Master"/> <list gender="0" lookType="1180" name="Volcanic Master"/> </outfit> <outfit id="28"> <list gender="1" lookType="1169" name="Wingeon Dragon"/> <list gender="0" lookType="1175" name="Wingeon Dragon"/> </outfit> <outfit id="29"> <list gender="1" lookType="1170" name="Orebound Hero"/> <list gender="0" lookType="1174" name="Orebound Hero"/> </outfit> <outfit id="30"> <list gender="1" lookType="1171" name="Gardestrike Champion"/> <list gender="0" lookType="1173" name="Gardestrike Lady"/> </outfit> <outfit id="31"> <list gender="1" lookType="1172" name="Psycraft Medium"/> <list gender="0" lookType="1181" name="Psycraft Medium"/> </outfit> <!-- GAMEMASTER --> <outfit id="32"> <list gender="0-3" lookType="664" name="GameMaster"/> </outfit> <outfit id="33"> <list gender="0-3" lookType="1411" name="Fagundes"/> </outfit> <!-- NATAL --> <outfit id="34"> <list gender="0" lookType="661" name="Christmas"/> <list gender="1" lookType="662" name="Christmas"/> </outfit> <outfit id="35"> <list gender="0" lookType="1084" name="Christmas 2"/> <list gender="1" lookType="1083" name="Christmas 2"/> </outfit> <!-- RELLOWEEN --> <outfit id="36"> <list gender="0-3" lookType="1140" name="Mummy"/> </outfit> <outfit id="37"> <list gender="0" lookType="1190" name="Bruxa"/> <list gender="1" lookType="1191" name="Dracula"/> </outfit> <outfit id="38"> <list gender="0" lookType="1188" name="Caveira"/> <list gender="1" lookType="1189" name="Diaba"/> </outfit> </outfits> @Slicer Eu Nao Entendo Muito De Escripts So Intepleto, Vo Fuçando E Olhando Onde OQ Cada Coisa Fais Mais VLW Vo Tenta Aki. Qual Quer Coisa Eu Posto Aki =D ABRASS O cara posto ae, so que parece que tem alguns que estao com bug, eu não testei. Qualquer coisa voce usa um dat editor e ve o numero correto das outfits que estao no seu client, pois isso pode variar de client para client. @Slicer Cara, no seu sistema de passivo voce alterou alguma coisa no configuration.lua?? Editado Fevereiro 8, 2012 por yahooABC Link para o comentário Compartilhar em outros sites More sharing options...
pocotozinho 6 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 ai gente tem um bug se o player nao tem pokemons ele nao consegue comprar nada no mark Link para o comentário Compartilhar em outros sites More sharing options...
BLACKHERT 1 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 alguém tem uma poção script que não pode ser usado se ele está se curando de uma poção? Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 @yahooABC sim alterei o configuration.lua sim... Link para o comentário Compartilhar em outros sites More sharing options...
zeusoak 0 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Ae galera.. ate q fim terminei.. la vai o sistema de passivo.. **SISTEMA POKES PASSIVOS** vo postar as passivas pros seguintes pokes: Scyther, Shiny Scyther, Pineco, Forretress, Scizor, Hitmontop, Magmar, Shiny Magmar, Electabuzz, Shiny Electabuzz, Hitmonlee, Shiny hitmonlee, Hitmonchan, Shiny Hitmonchan... Joguem fora seus Hitmonchans e shiny hitmonchans e criem novos.. pois adicionei o atributo "hands" nas balls.. e sem ele nas balls vai da debug... e sorry.. n sabia q o script do hitmonchan ia mexer com tantos outros.. ;p Detalhes... DETALHES: A maioria das informaçoes ja estam nos scripts... mas vale lembrar... **como a passiva do hitmonchan mexe com muitos scripts.. vo postar a pasta data soh com os scripts editados.. entao soh baixe, copiei a pasta data toda e cole na pasta do teu serv substituindo os scripts.. **o configuration.lua na pasta lib ja esta com o pokes johto +/- balanciados.. essa parte foi feita pelo @victorvs **eu troquei as outfits dos shinys hitmonlee e chan e deixei as iguais a do PO... pois elas ja tem as outfits das luvas do chan e do lee chutando... **eu n sei como funciona o sistema de dano de skill do brun123.. entao coloquei qlqr coisa.. cada q for usar ajeite do seu jeito.. **em cada arquivo das passivas tem um % chance de sair a passiva.. cada um altere do jeito q quiser.. eu deixei com 20% chance... Edits: 04/02 14:20 --> Versao 1.3.1 Adicionado function q estava faltando (sorry) Adicionado atks passivos dos pokes {Raichu, Wigglytuff e seus shinys} -- Adicionado atks passivos dos pokes {Golduck, Psyduck, kangaskhan e seus shinys} arrumado pequenos bugs/erros meus... sorry Adicionado proteçoes para balls antigas dos chans Arrumado bug na CDbar IMPORTANTE: qlqr erro/bug por favor postar aki, mostrando o erro/bug e explicando oq vc estava fazendo quando ocorreu o erro/bug... desde de vlws! qlqr outra passiva q vcs tenham em mente.. por favor mandar msg pra mim explicando a passiva... @Slicer eu estava com um problema no seu scrpit dos passivos, que eu lembro era um error que acontecia quando dava respaw(alguma coisa sobre shiny), é pq tava faltando essa parte no seu script: return getThingPos(what) end function isShiny(cid) if not isCreature(cid) then return false end if string.find(tostring(getCreatureName(cid)), "Shiny") then return true end return false end Que iria ficar assim: local hitmonchans = { ["Hitmonchan"] = { [0] = {out = 559, eff = 112, type = FIGHTINGDAMAGE}, --outfit normal [1] = {out = 1075, eff = 35, type = FIREDAMAGE}, --outfit fogo [2] = {out = 1077, eff = 48, type = ELECTRICDAMAGE}, --outfit raio [3] = {out = 1078, eff = 43, type = ICEDAMAGE}, --outfit gelo [4] = {out = 1076, eff = 140, type = GHOSTDAMAGE} --outfit ghost }, ["Shiny Hitmonchan"] = { --aconcelho trocar a outfit do shiny hitmonchan pela do elite hitmonchan do PO... [0] = {out = 837, eff = 112, type = FIGHTINGDAMAGE}, --outfit normal [1] = {out = 1080, eff = 35, type = FIREDAMAGE}, --outfit fogo [2] = {out = 1081, eff = 48, type = ELECTRICDAMAGE}, --outfit raio [3] = {out = 1082, eff = 43, type = ICEDAMAGE}, --outfit gelo [4] = {out = 1079, eff = 140, type = GHOSTDAMAGE} --outfit ghost } } function getThingPosWithDebug(what) if not isCreature(what) or getCreatureHealth(what) <= 0 then return {x = 1, y = 1, z = 1} end return getThingPos(what) end function isShiny(cid) if not isCreature(cid) then return false endif string.find(tostring(getCreatureName(cid)), "Shiny") then return true end return false end function doConvertTypeToStone(type, string) local t = { ["fly"] = {heart, "heart"}, ["flying"] = {heart, "heart"}, ["normal"] = {heart, "heart"}, ["fire"] = {fire, "fire"}, ["grass"] = {leaf, "leaf"}, ["leaf"] = {leaf, "leaf"}, ["water"] = {water, "water"}, ["poison"] = {venom, "venom"}, ["venom"] = {venom, "venom"}, ["electric"] = {thunder, "thunder"}, ["thunder"] = {thunder, "thunder"}, ["rock"] = {rock, "rock"}, ["fight"] = {punch, "punch"}, ["fighting"] = {punch, "punch"}, ["bug"] = {coccon, "coccon"}, ["dragon"] = {crystal, "crystal"}, ["dark"] = {dark, "dark"}, ["ghost"] = {dark, "dark"}, ["ground"] = {earth, "earth"}, ["earth"] = {earth, "earth"}, ["psychic"] = {enigma, "enigma"}, ["steel"] = {metal, "metal"}, ["metal"] = {metal, "metal"}, ["ice"] = {ice, "ice"}, } if string then return t[type][2] else return t[type][1] end endfunction isStone(id) if id >= leaf and id <= ice then return true end return false end function isWater(id) if id >= 4820 and id <= 4825 then return true end return false endfunction getTopCorpse(position) local pos = position for n = 1, 255 do pos.stackpos = n local item = getTileThingByPos(pos) if item.itemid >= 2 and (string.find(getItemNameById(item.itemid), "fainted ") or string.find(getItemNameById(item.itemid), "defeated ")) then return getTileThingByPos(pos) end end return null endbpslot = CONST_SLOT_BACKPACK function hasPokemon(cid) if not isCreature(cid) then return false end if getCreatureMana(cid) <= 0 then return false end if #getCreatureSummons(cid) >= 1 then return true end local item = getPlayerSlotItem(cid, CONST_SLOT_FEET) local bp = getPlayerSlotItem(cid, bpslot) for a, b in pairs (pokeballs) do if item.itemid == b.on then return true end if #getItemsInContainerById(bp.uid, b.on) >= 1 then return true end end return false endfunction isNpcSummon(cid) return isNpc(getCreatureMaster(cid)) end function getPokemonHappinessDescription(cid) if not isCreature(cid) then return true end local str = "" if getPokemonGender(cid) == SEX_MALE then str = "He" elseif getPokemonGender(cid) == SEX_FEMALE then str = "She" else str = "It" end local h = getPlayerStorageValue(cid, 1008) if h >= tonumber(getConfigValue('PokemonStageVeryHappy')) then str = str.." is very happy with you!" elseif h >= tonumber(getConfigValue('PokemonStageHappy')) then str = str.." is happy." elseif h >= tonumber(getConfigValue('PokemonStageOK')) then str = str.." is unhappy." elseif h >= tonumber(getConfigValue('PokemonStageSad')) then str = str.." is sad." elseif h >= tonumber(getConfigValue('PokemonStageMad')) then str = str.." is mad." else str = str.." is very mad at you!" end return str endfunction doSetItemAttribute(item, key, value) doItemSetAttribute(item, key, value) end function deTransform(cid, check) if not isCreature(cid) then return true endlocal m = getCreatureMaster(cid) local p = getPlayerSlotItem(m, 8) if getItemAttribute(p.uid, "transTurn") ~= check then return true endsetPlayerStorageValue(cid, 1010, "Ditto") doRemoveCondition(cid, CONDITION_OUTFIT) doSendMagicEffect(getThingPos(cid), 184) doCreatureSay(cid, "DITTO!", TALKTYPE_MONSTER) doItemSetAttribute(p.uid, "transBegin", 0) doItemSetAttribute(p.uid, "transLeft", 0) doItemEraseAttribute(p.uid, "transName") doItemEraseAttribute(p.uid, "boffense") doItemEraseAttribute(p.uid, "bdefense") doItemEraseAttribute(p.uid, "bsattack") doItemEraseAttribute(p.uid, "bagility") end function isTransformed(cid) if getPlayerStorageValue(cid, 1010) == "Ditto" then return false else return true end endfunction doSendFlareEffect(pos) local random = {28, 29, 79} doSendMagicEffect(pos, random[math.random(1, 3)]) end function isDay() local a = getWorldTime() if a >= 360 and a < 1080 then return true end return false endfunction doPlayerSendTextWindow(cid, p1, p2) if not isCreature(cid) then return true end local item = 460 local text = "" if type(p1) == "string" then doShowTextDialog(cid, item, p1) else doShowTextDialog(cid, p1, p2) end end function getClockString(tw) local a = getWorldTime() local b = a / 60 local hours = math.floor(b) local minut = a - (60 * hours)if not tw then if hours < 10 then hours = "0"..hours.."" end if minut < 10 then minut = "0"..minut.."" end return hours..":"..minut else local sm = "a.m" if hours >= 12 then hours = hours - 12 sm = "p.m" end if hours < 10 then hours = "0"..hours.."" end if minut < 10 then minut = "0"..minut.."" end return hours..":"..minut.." "..sm end end function doCorrectPokemonName(poke) return doCorrectString(poke) endfunction doCorrectString(poke) local name = "" local n = string.explode(poke, " ") local str = string.sub(n[1], 1, 1) local sta = string.sub(n[1], 2, string.len(n[1])) name = ""..string.upper(str)..""..string.lower(sta).."" if n[2] then str = string.sub(n[2], 1, 1) sta = string.sub(n[2], 2, string.len(n[2])) name = name.." "..string.upper(str)..""..string.lower(sta).."" end return name end function getHappinessRate(cid) if not isCreature(cid) then return 1 end local a = getPlayerStorageValue(cid, 1008) if a == -1 then return 1 end if a >= getConfigValue('PokemonStageVeryHappy') then return happinessRate[5].rate elseif a >= getConfigValue('PokemonStageHappy') then return happinessRate[4].rate elseif a >= getConfigValue('PokemonStageOK') then return happinessRate[3].rate elseif a >= getConfigValue('PokemonStageSad') then return happinessRate[2].rate else return happinessRate[1].rate end return 1 endfunction doBodyPush(cid, target, go, pos) if not isCreature(cid) or not isCreature(target) then doRegainSpeed(cid) doRegainSpeed(target) return true end if go then local a = getThingPos(cid) doChangeSpeed(cid, -getCreatureSpeed(cid)) if not isPlayer(target) then doChangeSpeed(target, -getCreatureSpeed(target)) end doChangeSpeed(cid, 800) doTeleportThing(cid, getThingPos(target)) doChangeSpeed(cid, -800) addEvent(doBodyPush, 350, cid, target, false, a) else doChangeSpeed(cid, 800) doTeleportThing(cid, pos) doRegainSpeed(cid) doRegainSpeed(target) end end function doReturnPokemon(cid, pokemon, pokeball, effect, hideeffects, blockevo)local edit = true if not pokeball then pokeball = getPlayerSlotItem(cid, 8) endif blockevo then edit = false doPlayerSendCancel(cid, "Your pokemon couldn't evolve due to server mistakes, please wait until we fix the problem.") end local happy = getPlayerStorageValue(pokemon, 1008) local hunger = getPlayerStorageValue(pokemon, 1009) local pokelife = (getCreatureHealth(pokemon) / getCreatureMaxHealth(pokemon))if edit then doItemSetAttribute(pokeball.uid, "happy", happy) doItemSetAttribute(pokeball.uid, "hunger", hunger) doItemSetAttribute(pokeball.uid, "hp", pokelife) end if getCreatureName(pokemon) == "Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end endif hideeffects then doRemoveCreature(pokemon) return true end local pokename = getPokeName(pokemon)local mbk = gobackmsgs[math.random(1, #gobackmsgs)].back:gsub("doka", pokename) if getCreatureCondition(cid, CONDITION_INFIGHT) then if isCreature(getCreatureTarget(cid)) then doItemSetAttribute(pokeball.uid, "happy", happy - 5) else doItemSetAttribute(pokeball.uid, "happy", happy - 2) end enddoTransformItem(pokeball.uid, pokeball.itemid-1) doCreatureSay(cid, mbk, TALKTYPE_SAY) doSendMagicEffect(getCreaturePosition(pokemon), effect)doRemoveCreature(pokemon) if useKpdoDlls then doUpdateMoves(cid) endend function doGoPokemon(cid, item)if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then return true end local btype = getPokeballType(item.itemid)local effect = pokeballs[btype].effect if not effect then effect = 21 end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE endlocal thishp = getItemAttribute(item.uid, "hp") if thishp <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end endlocal pokemon = getItemAttribute(item.uid, "poke") if not pokes[pokemon] then return true endlocal x = pokes[pokemon] local boosts = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") then doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.") return true enddoSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then return true end ------------------------passiva hitmonchan------------------------------ if isSummon(pk) then --local e = getCreatureMaster(cid) local nameHIT = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke") local hands = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands") if nameHIT == "Shiny Hitmonchan" or nameHIT == "Hitmonchan" then if getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands") then doSetCreatureOutfit(pk, {lookType = hitmonchans[nameHIT][hands].out}, -1) else doPlayerSendTextMessage(cid, 27, "Contact a GameMaster! Error in passive system! Attribute \"hands\" missing") end end end -------------------------------------------------------------------------if getCreatureName(pk) == "Ditto" then local left = getItemAttribute(item.uid, "transLeft") local name = getItemAttribute(item.uid, "transName") if left and left > 0 then setPlayerStorageValue(pk, 1010, name) doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1) addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn")) doItemSetAttribute(item.uid, "transBegin", os.clock()) else setPlayerStorageValue(pk, 1010, "Ditto") end end if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) enddoCreatureSetLookDir(pk, 2) adjustStatus(pk, item.uid, true, false, true) doAddPokemonInOwnList(cid, pokemon)doTransformItem(item.uid, item.itemid+1) local pokename = getItemAttribute(item.uid, "nick") or getCreatureName(pk)local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename) doCreatureSay(cid, mgo, TALKTYPE_SAY) doSendMagicEffect(getCreaturePosition(pk), effect)if useKpdoDlls then doUpdateMoves(cid) end end function doRegainSpeed(cid) if not isCreature(cid) then return 0 end if isPlayer(cid) then doChangeSpeed(cid, - getCreatureSpeed(cid)) doChangeSpeed(cid, PlayerSpeed) return PlayerSpeed end local speed = getCreatureBaseSpeed(cid) + getSpeed(cid) * speedRate if speed > 1500 then speed = 1500 end doChangeSpeed(cid, - getCreatureSpeed(cid)) doChangeSpeed(cid, speed) return speed endfunction isPosEqualPos(pos1, pos2, checkstackpos) if pos1.x ~= pos2.x or pos1.y ~= pos2.y and pos1.z ~= pos2.z then return false end if checkstackpos and pos1.stackpos and pos2.stackpos and pos1.stackpos ~= pos2.stackpos then return false end return true end function getRandomGenderByName(name) local rate = newpokedex[name] if not rate then return 0 end rate = rate.gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end return gender endfunction getRecorderPlayer(pos, cid) local ret = 0 if cid and getThingPos(cid).x == pos.x and getThingPos(cid).y == pos.y then return cid end local s = {} s.x = pos.x s.y = pos.y s.z = pos.z for a = 0, 255 do s.stackpos = a local b = getTileThingByPos(s).uid if b > 1 and isPlayer(b) and getCreatureOutfit(b).lookType ~= 814 then ret = b end end return ret end function doCreatureSetOutfit(cid, outfit, time) doSetCreatureOutfit(cid, outfit, time) endfunction doMagicalFlower(cid, away) if not isCreature(cid) then return true end for x = -3, 3 do for y = -3, 3 do local a = getThingPos(cid) a.x = a.x + x a.y = a.y + y if away then doSendDistanceShoot(a, getThingPos(cid), 21) else doSendDistanceShoot(getThingPos(cid), a, 21) end end end end function isItemPokeball(item) if not item then return false end for a, b in pairs (pokeballs) do if isInArray(b.all, item) then return true end end return false endfunction isPokeball(item) if not item then return false end if item >= 11826 and item <= 11837 then return true end if item >= 11737 and item <= 11748 then return true end return false end function getPokeballType(id) for a, b in pairs (pokeballs) do if isInArray(b.all, id) then return a end end return "none" endrandomdiagonaldir = { [NORTHEAST] = {NORTH, EAST}, [sOUTHEAST] = {SOUTH, EAST}, [NORTHWEST] = {NORTH, WEST}, [sOUTHWEST] = {SOUTH, WEST}} function doFaceOpposite(cid) local a = getCreatureLookDir(cid) local d = { [NORTH] = SOUTH, [sOUTH] = NORTH, [EAST] = WEST, [WEST] = EAST, [NORTHEAST] = SOUTHWEST, [NORTHWEST] = SOUTHEAST, [sOUTHEAST] = NORTHWEST, [sOUTHWEST] = NORTHEAST} doCreatureSetLookDir(cid, d[a]) endfunction doFaceRandom(cid) local a = getCreatureLookDir(cid) local d = { [NORTH] = {SOUTH, WEST, EAST}, [sOUTH] = {NORTH, WEST, EAST}, [WEST] = {SOUTH, NORTH, EAST}, [EAST] = {SOUTH, WEST, NORTH}} doChangeSpeed(cid, 1) doCreatureSetLookDir(cid, d[a][math.random(1, 3)]) doChangeSpeed(cid, -1) end function getFaceOpposite(dir) local d = { [NORTH] = SOUTH, [sOUTH] = NORTH, [EAST] = WEST, [WEST] = EAST, [NORTHEAST] = SOUTHWEST, [NORTHWEST] = SOUTHEAST, [sOUTHEAST] = NORTHWEST, [sOUTHWEST] = NORTHEAST} return d[dir] endfunction getResistance(cid, combat) if isPlayer(cid) then return false end local poketype1 = pokes[getCreatureName(cid)].type local poketype2 = pokes[getCreatureName(cid)].type2 local multiplier = 1 if effectiveness[combat].super and isInArray(effectiveness[combat].super, poketype1) then multiplier = multiplier * 2 end if poketype2 and effectiveness[combat].super and isInArray(effectiveness[combat].super, poketype2) then multiplier = multiplier * 2 end if effectiveness[combat].weak and isInArray(effectiveness[combat].weak, poketype1) then multiplier = multiplier * 0.5 end if poketype2 and effectiveness[combat].weak and isInArray(effectiveness[combat].weak, poketype2) then multiplier = multiplier * 0.5 end if effectiveness[combat].non and isInArray(effectiveness[combat].non, poketype1) then multiplier = multiplier * 0 end if poketype2 and effectiveness[combat].non and isInArray(effectiveness[combat].non, poketype2) then multiplier = multiplier * 0 end if multiplier == 0.25 then multiplier = 0.5 elseif multiplier == 4 then multiplier = 2 endreturn multiplier end function getCreatureDirectionToTarget(cid, target, ranged) if not isCreature(cid) then return true end if not isCreature(target) then return getCreatureLookDir(cid) end local dirs = { [NORTHEAST] = {NORTH, EAST}, [sOUTHEAST] = {SOUTH, EAST}, [NORTHWEST] = {NORTH, WEST}, [sOUTHWEST] = {SOUTH, WEST}} local x = getDirectionTo(getThingPos(cid), getThingPos(target), false) if x <= 3 then return x else local xdistance = math.abs(getThingPos(cid).x - getThingPos(target).x) local ydistance = math.abs(getThingPos(cid).y - getThingPos(target).y) if xdistance > ydistance then return dirs[x][2] elseif ydistance > xdistance then return dirs[x][1] elseif isInArray(dirs[x], getCreatureLookDir(cid)) then return getCreatureLookDir(cid) else return dirs[x][math.random(1, 2)] end end endfunction getSomeoneDescription(cid) if isPlayer(cid) then return getPlayerNameDescription(cid) end return getMonsterInfo(getCreatureName(cid)).description end function isGhostPokemon(cid) if not isCreature(cid) then return false end if isInArray({"Gengar", "Haunter", "Gastly", "Misdreavus"}, getCreatureName(cid)) then return true end return false endfunction updateGhostWalk(cid) if not isCreature(cid) then return false end local pos = getThingPos(cid) pos.x = pos.x + 1 pos.y = pos.y + 1 local ret = getThingPos(cid) doTeleportThing(cid, pos, false) doTeleportThing(cid, ret, false) return true end function doRemoveElementFromTable(t, e) local ret = {} for a = 1, #t do if t[a] ~= e then table.insert(ret, t[a]) end end return ret endfunction doFaceCreature(sid, pos) if not isCreature(sid) then return true end if getThingPos(sid).x == pos.x and getThingPos(sid).y == pos.y then return true end local ret = 0 local ld = getCreatureLookDir(sid) local dir = getDirectionTo(getThingPos(sid), pos) local al = { [NORTHEAST] = {NORTH, EAST}, [NORTHWEST] = {NORTH, WEST}, [sOUTHEAST] = {SOUTH, EAST}, [sOUTHWEST] = {SOUTH, WEST}}if dir >= 4 and isInArray(al[dir], ld) then return true end doChangeSpeed(sid, 1) if dir == 4 then ret = math.random(2, 3) elseif dir == 5 then ret = math.random(1, 2) elseif dir == 6 then local dirs = {0, 3} ret = dirs[math.random(1, 2)] elseif dir == 7 then ret = math.random(0, 1) else ret = getDirectionTo(getThingPos(sid), pos) end doCreatureSetLookDir(sid, ret) doChangeSpeed(sid, -1) return true endfunction doCreatureAddCondition(cid, condition) if not isCreature(cid) then return true end doAddCondition(cid, condition) end function doCreatureRemoveCondition(cid, condition) if not isCreature(cid) then return true end doRemoveCondition(cid, condition) endfunction setCD(item, tipo, tempo) if not tempo or not tonumber(tempo) then doItemEraseAttribute(item, tipo) return true enddoItemSetAttribute(item, tipo, "cd:"..(tempo + os.time()).."") return tempo + os.time() end function getCD(item, tipo, limite)if not getItemAttribute(item, tipo) then return 0 end local string = getItemAttribute(item, tipo):gsub("cd:", "") local number = tonumber(string) - os.time()if number <= 0 then return 0 end if limite and limite < number then return 0 endreturn number end function getPosfromArea(cid,area) icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area[1])/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area[1]) i = table.getn(area)^2 j = table.getn(area[1])^2 if center[jcenter] == 3 then if getPlayerLookDir(cid) == 0 then signal = {-1,1,1,2} elseif getPlayerLookDir(cid) == 1 then signal = {1,-1,2,1} elseif getPlayerLookDir(cid) == 2 then signal = {1,-1,1,2} else signal = {-1,1,2,1} end else signal = {-1,1,1,2} end POSITIONS = {} P = 0 repeat pvar = {0,0} I = area[ivar] J = I[jvar] i = i-1 j = j-1 if J == 1 then if jvar < jcenter then pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar)) elseif jvar > jcenter then pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar)) end if ivar < icenter then pvar[signal[4]] = signal[1]*math.abs((icenter-ivar)) elseif ivar > icenter then pvar[signal[4]] = signal[2]*math.abs((icenter-ivar)) end end if jvar > 1 then jvar = (jvar-1) elseif ivar > 1 then jvar = table.getn(area[1]) ivar = (ivar-1) end local pos = getThingPos(cid) local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z} if pos.x ~= areapos.x or pos.y ~= areapos.y then P = P+1 POSITIONS[P] = areapos end until i <= 0 and j <= 0return POSITIONS end function doSendMoveEffect(cid, target, effect) if not isCreature(cid) or not isCreature(target) then return true end doSendDistanceShoot(getThingPos(cid), getThingPos(target), effect) return true endfunction doSetItemActionId(uid, actionid) doItemSetAttribute(uid, "aid", actionid) return true end function threeNumbers(number) if number <= 9 then return "00"..number.."" elseif number <= 99 then return "0"..number.."" end return ""..number.."" endfunction isBr(cid) if getPlayerStorageValue(cid, 105505) ~= -1 then return true end return false end function isBeingUsed(ball) if isInArray({11827, 11830, 11833, 11836, 11738, 11741, 11744, 11747}, ball) then return true end return false endfunction doRemoveTile(pos)-- Script by mock pos.stackpos = 0 local sqm = getTileThingByPos(pos) doRemoveItem(sqm.uid,1) end function doCreateTile(id,pos) -- By mock doAreaCombatHealth(0,0,pos,0,0,0,CONST_ME_NONE) doCreateItem(id,1,pos) endfunction hasSqm(pos) local f = getTileThingByPos(pos) if f.itemid ~= 0 and f.itemid ~= 1 then return true end return false end function getPosDirs(p, dir) -- By MatheusMkalo 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} endfunction canWalkOnPos(pos, creature, pz, water, sqm, proj) if not pos then return false end if not pos.x then return false end if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid <= 1 and sqm then return false end if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 919 then return false end if isInArray({4820, 4821, 4822, 4823, 4824, 4825}, getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid) and water then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and 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 getFreeTile(pos, cid) if canWalkOnPos(pos, true, false, true, true, false) then return pos end local positions = {} for a = 0, 7 do if canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then table.insert(positions, pos) end end if #positions >= 1 then if isCreature(cid) then local range = 1000 local ret = getThingPos(cid) for b = 1, #positions do if getDistanceBetween(getThingPos(cid), positions[b]) < range then ret = positions[b] range = getDistanceBetween(getThingPos(cid), positions[b]) end end return ret else return positions[math.random(#positions)] end end return getThingPos(cid) endfunction isWalkable(pos, creature, proj, pz, water)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if isWater(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid) and water then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true 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 isPlayerSummon(cid, uid) if getCreatureMaster(uid) == cid then return TRUE end return FALSE endfunction isSummon(sid) if isPlayer(sid) then return false end if isPlayer(getCreatureMaster(sid)) then return true end return false end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items endfunction getPokeballsInContainer(container) -- Function By Kydrai if not isContainer(container) then return {} end local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getPokeballsInContainer(item.uid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end elseif isPokeball(item.itemid) then table.insert(items, item.uid) end end end return items end Link para o comentário Compartilhar em outros sites More sharing options...
renee 2 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Slicer eae conseguiu arrumar o bug do fly la ?? Link para o comentário Compartilhar em outros sites More sharing options...
zerefshirou 112 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 (editado) Uma coisa que acho que ninguem percebeu Quando aperta Page Up e Page Down o player fala: !up e !down Va em talkactions.xml procure por "up" e mude para "!up" faça a mesma coisa com "down" para "!down" EDIT: Ele subirá no fly e descera, porem para nao ficar feio apertar Page Down e o player falar !down ou aperta Page Up e o player falar !up vo muda o script aki e ja passo pra rapeize. EDIT 2: Va em data/talkactions/scripts/flyup.lua Depois de function onSay(cid, words, param) Coloque isso if words == "!up" and getPlayerStorageValue(cid, 17000) <= 0 then return 0 end E em data/talkactions/scripts/flydown.lua Depois de function onSay(cid, words, param) Coloque isso if words == "!down" and getPlayerStorageValue(cid, 17000) <= 0 then return 0 end Salve e teste apertando Fly Up e Fly Down, vou testar mas acho q so pega se tiver com as dlls ativas ja posto resultado. EDIT 3: Mesmo com "useKpdoDlls = false" ainda apertando Page Up e Page Down (ali encima eu disse Fly Up e Fly Down, fail meu) ele continuara subindo no fly se fizer oq eu disse Editado Fevereiro 8, 2012 por ZerefShirou Link para o comentário Compartilhar em outros sites More sharing options...
MarcosFraga 34 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Alguem ae ta sabendo algum bug fatal? Não parei pra ler 10 páginas atrás fiquei meio off vo da uma lida \o Sobre o !up e !down legal ja tinha editado antes mas não desse jeito ;D Slicer eu não sei porque mas seus sistema de passive da um erro tremendo que não tem nem como ler de tão rápido que ele da ai so obrigado a fechar. Ele da erro pois eu estou usando o Aura ou o shinychance do Zeref então não sei como adiciona-lo com o aura e o shinychance junto. Mas pelo visto ta bem show os passives. Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 @zeusoak meu script n mexe em nd com o "onSpawn" e eu nunca usei essa function de isShiny.. ;x @renee nd ainda mano.. ta loko tudo q tentei n deu certo .. pra mim tem mais alguma coisa interfirindo na hora q o player morre pq n tem como... ;x vo tenta mais um pouco a noite.. q agora to sem tempo.. sorry.. ;x @SoulOroshie eh mano n uso sistema de aura e nem o sistema de shiny do zeref.. dai tem como eu ver isso.. ;x -eu fiz sistema de shiny mas pelo "spawn.lua" e n deu nenhum problema... Link para o comentário Compartilhar em outros sites More sharing options...
zerefshirou 112 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 @Slicer pode me explica oq tu mudo pra passive? passive pra mim é só colocar o defense ali e pronto Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 @ZerefShirou oia.. sei la pq mas as passivas em "defense" n funciona pra summons.. ;x entao.. pra pokes selvagens eu coloquei as passivas no "defense" e pros pokes de player eu coloquei no Exp.lua.. q dai sempre q o poke do player toma um hit vai da o math.random e vai soltar ou n a passiva... ;p e tem clr a do hitmonchan q eh um pouco mais complexa.. Link para o comentário Compartilhar em outros sites More sharing options...
zerefshirou 112 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 Onde você mudou no exp.lua? Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados