-
Total de itens
86 -
Registro em
-
Última visita
Posts postados por HenrikDiamond
-
-
Olá Galera do Xtibia u,U, Hoje estou aki para pedir um script para alguem q conheça do ramo...
É o seguinte, tenho um servidor de poketíbia (PDA sem level), que estou querendo fazer uma victory road e a elite dos 4!
Mas pra conseguir ir pra elite dos 4, gostaria que precisasse ter todas as insignias para tentar derrotar a elite dos 4!
Por isso estou precisando desse script, UM QUE SÓ PASSE QUEM TIVER AS 8 INSIGNIAS, ou talvez algum npc que troque as insignias por algum item X, e precise desse item pra teleportar pra elite!
isso que pensei, quem poder me ajudar, tá valendo Rep+
--Id das Insignias: 12251 até 12259!
Grato!
@edit
ou Pra ficar mais fácil, gostaria de um npc que trocaria as insignias pelo item 2319, e esse item teleportasse até a elite 4!
-
aki tem esse tambem
function onUse(cid, item, topos, item2, frompos) local myball = getPlayerSlotItem(cid, 8) local boost = getItemAttribute(myball.uid, "boost") or 0 or 50 local boosts = 50 if boost == 50 then return doPlayerSendCancel(cid, "Sorry, is not possible.") end if #getCreatureSummons(cid) >= 1 then if getPlayerAccess(cid) == 1 then boosts = 49 end boosts = boosts + 50 local pokemon = getItemAttribute(myball.uid, "poke") local off = pokes[pokemon].offense * boost_rate * boosts local def = pokes[pokemon].defense * boost_rate * boosts local agi = pokes[pokemon].agility * boosts local spatk = pokes[pokemon].specialattack * boost_rate * boosts local vit = pokes[pokemon].vitality * boost_rate * boosts doSetItemAttribute(myball.uid, "boost", boost + boosts) doRemoveItem(item.uid,1) doSendMagicEffect(getThingPos(item2.uid), 40) doPlayerSendTextMessage(cid, 27, "Congrulations, your "..pokemon..", as beem boosted +100.") doPlayerSendTextMessage(cid, 27, "Now your "..pokemon.." have a boost +"..boosts + boost..".") doSendAnimatedText(getThingPos(item2.uid), "BOOST!", 71) else return doPlayerSendCancel(cid, "Only use in yours pokemons.") end return true end
no Actions Xml
<action itemid="12415" event="script" value="booststone.lua" allowfaruse="1"/>
Esse e pra server sem lvl!
Se ajudei Rep+ please
Flws..
-
Cara, em poketibia aki deu erro poke ajudar?
Olha:
[17/02/2014 17:42:41] [Error - LuaScriptInterface::loadFile] data/actions/scripts/elitedoor.lua:23: 'end' expected (to close 'function' at line 1) near '<eof>' [17/02/2014 17:42:41] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/elitedoor.lua) [17/02/2014 17:42:41] data/actions/scripts/elitedoor.lua:23: 'end' expected (to close 'function' at line 1) near '<eof>'
Por Acaso isso fica no Movements?
aa! eskeci , olha como deixei o script:
function onUse(cid, item, fromPosition, itemEx, toPosition) pos = {x= 978, y= 35, z= 7} ----Position para quando entrar pela porta aonde o player ira local level = 1000 --O Level que podera passa pela porta local itemid = 12252 --O id do item que tenque ter !! local itemid = 12253 --O id do item que tenque ter !! local itemid = 12254 --O id do item que tenque ter !! local itemid = 12255 --O id do item que tenque ter !! local itemid = 12256 --O id do item que tenque ter !! local itemid = 12257 --O id do item que tenque ter !! local itemid = 12258 --O id do item que tenque ter !! local itemid = 12259 --O id do item que tenque ter !! doTeleportThing(cid, pos) if getPlayerItemCount(cid, config.itemid) >= 1 then if getPlayerLevel(cid) >= level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo À Elite Four Pallace!.") else doPlayerSendCancel(cid,"Você não tem level 1000 para passar pela portal.") end return TRUE end
Se puder ajudar vlws
-
Ta ai o que não da erro na Distro.
Eu respondi um Membro com esse Código a mas ou menos 1 mês atrás, a diferencia e que você tirou as primeiras Linhas do seu.
http://www.xtibia.com/forum/topic/227826-pedido-script-shiny-stone/
Legal Cara, valeu por contribuir! Mesmo já existindo irei atualizar o tópico!
-
Cara nn tou conseguindo fazer a Shiny stone .-.
Cara seu pda é com ou sem level system?
-
Olá Galera do Xtibia, hoje vim trazer esse script que faz o seguinte:
•Ao Clicar em determinador item, o player fica numa moto.
Pois é, sem demora vamos ao script!
• Crie um Arquivo no formato .lua no pasta seuserver/actions/scipts e renomeie para moto.lua.
•Abra o arquivo, apague tudo oque esta dentro e coloque isto!
local function BikeSpeedOn(cid, t) setPlayerStorageValue(cid, t.s, t.speed) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, t.speed) end local function BikeSpeedOff(cid, t) setPlayerStorageValue(cid, t.s, -1) doRegainSpeed(cid) end local t = {text='Mount, moto!', dtext='Demount, moto!', s=5700, speed = 9999} function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getThingPos(cid) if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then --alterado v1.9 return doPlayerSendCancel(cid, "You can't do that right now.") end if getPlayerStorageValue(cid, t.s) <= 0 then doSendMagicEffect(pos, 177) doCreatureSay(cid, t.text, 19) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You have mounted in a moto.') BikeSpeedOn(cid, t) if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1481}, -1) else doSetCreatureOutfit(cid, {lookType = 1482}, -1) end else doSendMagicEffect(pos, 177) doCreatureSay(cid, t.dtext, 19) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You haven demouted of a moto.') BikeSpeedOff(cid, t) doRemoveCondition(cid, CONDITION_OUTFIT) end return true end
•Você poder fazer alterações nestas partes:
•looktype = 1482 - Nessa parte você irá colocar o id da outfit quando o player montar na moto.
•Text = Mount, moto! - Aki você colocará a mensagem que aparecerá quando o player montar na moto.
•speed = 9999 - Aqui é a velocidade que o player ganhará, altere de acordo com seus critérios!
~~
Agora vá no arquivo action.xml e adicione esta tag
<action itemid="13053" event="script" value="moto.lua"/>
Explicação
em itemid="13053" você colocará o id em que quando o player der USE, irá montar na bike. No PDA, o item 13053 é uma moto comum, sem ninguém e que não pode ficar na mochila.
Obrigado, Até a próxima. Se ajudei Deixe um Rep+ aew.
Flw
-
2 coisas:
1-) Área incorreta.
2-) Seu título deve conter um pequeno resumo do pedido/dúvida/bug/o quê seja.
Tópico movido. PS: Para alterar o título do seu tópico, você deve usar a ferramenta "Usar Editor Completo" (disponível ao clicar em "editar").
Me desculpe, irei arrumar o topico e se possivel, reporte ou mova para a area correta
-
Olá Galera do Xtibia, primeiramente desculpe se postei na área errada.
No meu servidor de poketibia, tem um bug aqui que aparece toda hora, isso faz meu jogo ficar dando debug. Já tentei resolver o bug mas n consegui. Entao se precisarem de mais uma parte do script, diga-me que eu mando!
Gostaria que alguém resolvesse esse bug do meu Servidor (Pda By Bolz V3), porque tenho um server que entra geralmente umas 30 pessoas e esse erro causa muito debug.
Então se alguém resolvesse ficaria muito grato!
O Erro é esse:
[06/02/2014 18:34:25] [Error - CreatureScript Interface] [06/02/2014 18:34:25] data/creaturescripts/scripts/exp2.0.lua:onStatsChange[06/02/2014 18:34:26] Description: [06/02/2014 18:34:26] data/lib/pokemon moves.lua:4196: attempt to index local 'tabela' (a nil value)[06/02/2014 18:34:26] stack traceback:[06/02/2014 18:34:26] data/lib/pokemon moves.lua:4196: in function 'docastspell'[06/02/2014 18:34:26] data/creaturescripts/scripts/exp2.0.lua:542: in function <data/creaturescripts/scripts/exp2.0.lua:63>[06/02/2014 18:34:26] [C]: in function 'doAreaCombatHealth'[06/02/2014 18:34:26] data/lib/pokemon moves.lua:4278: in function <data/lib/pokemon moves.lua:4276>
Aki na Linha do pokemon moves.lua (por perto da linha 4196) esta assim:
for a = 1, 8 do addEvent(sendFireEff, a * 140, cid, t[a], tabela[1], tabela[2]) end addEvent(setPlayerStorageValue, 8*140, cid, 32623, 0) --proteçao end local out = tabela[3] <--- linha 4196 if out then doSetCreatureOutfit(cid, {lookType = out}, 8*140) end setPlayerStorageValue(cid, 32623, 1) --proteçao doSpinFire(cid) elseif spell == "Mega Drain" then
Meu Exp2.0.lua :
local combats = { [PSYCHICDAMAGE] = {cor = COLOR_PSYCHIC},[GRASSDAMAGE] = {cor = COLOR_GRASS},[POISONEDDAMAGE] = {cor = COLOR_GRASS},[FIREDAMAGE] = {cor = COLOR_FIRE2}, [BURNEDDAMAGE] = {cor = COLOR_BURN},[WATERDAMAGE] = {cor = COLOR_WATER},[ICEDAMAGE] = {cor = COLOR_ICE},[NORMALDAMAGE] = {cor = COLOR_NORMAL},[FLYDAMAGE] = {cor = COLOR_FLYING}, [GHOSTDAMAGE] = {cor = COLOR_GHOST},[GROUNDDAMAGE] = {cor = COLOR_GROUND},[ELECTRICDAMAGE] = {cor = COLOR_ELECTRIC},[ROCKDAMAGE] = {cor = COLOR_ROCK},[BUGDAMAGE] = {cor = COLOR_BUG},[FIGHTDAMAGE] = {cor = COLOR_FIGHTING},[DRAGONDAMAGE] = {cor = COLOR_DRAGON},[POISONDAMAGE] = {cor = COLOR_POISON},[DARKDAMAGE] = {cor = COLOR_DARK}, [STEELDAMAGE] = {cor = COLOR_STEEL},[MIRACLEDAMAGE] = {cor = COLOR_PSYCHIC}, [DARK_EYEDAMAGE] = {cor = COLOR_GHOST},[SEED_BOMBDAMAGE] = {cor = COLOR_GRASS},[SACREDDAMAGE] = {cor = COLOR_FIRE2}, [MUDBOMBDAMAGE] = {cor = COLOR_GROUND}, --alterado v1.9}local function sendPlayerDmgMsg(cid, text) if not isCreature(cid) then return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, text)endlocal races = {[4] = {cor = COLOR_FIRE2},[6] = {cor = COLOR_WATER},[7] = {cor = COLOR_NORMAL},[8] = {cor = COLOR_FIRE2},[9] = {cor = COLOR_FIGHTING},[10] = {cor = COLOR_FLYING},[11] = {cor = COLOR_GRASS},[12] = {cor = COLOR_POISON},[13] = {cor = COLOR_ELECTRIC},[14] = {cor = COLOR_GROUND},[15] = {cor = COLOR_PSYCHIC},[16] = {cor = COLOR_ROCK},[17] = {cor = COLOR_ICE},[18] = {cor = COLOR_BUG},[19] = {cor = COLOR_DRAGON},[20] = {cor = COLOR_GHOST},[21] = {cor = COLOR_STEEL},[22] = {cor = COLOR_DARK},[1] = {cor = 180},[2] = {cor = 180},[3] = {cor = 180},[5] = {cor = 180},}local damages = {GROUNDDAMAGE, ELECTRICDAMAGE, ROCKDAMAGE, FLYDAMAGE, BUGDAMAGE, FIGHTINGDAMAGE, DRAGONDAMAGE, POISONDAMAGE, DARKDAMAGE, STEELDAMAGE}local fixdmgs = {PSYCHICDAMAGE, COMBAT_PHYSICALDAMAGE, GRASSDAMAGE, FIREDAMAGE, WATERDAMAGE, ICEDAMAGE, NORMALDAMAGE, GHOSTDAMAGE}local ignored = {POISONEDDAMAGE, BURNEDDAMAGE} local cannotkill = {BURNEDDAMAGE, POISONEDDAMAGE}function onStatsChange(cid, attacker, type, combat, value)if combat == FLYSYSTEMDAMAGE then return false endif isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TVif not isCreature(attacker) then if not isInArray(fixdamages, combat) and combats[combat] then doSendAnimatedText(getThingPos(cid), value, combats[combat].cor) endreturn trueendlocal damageCombat = combat--------------------------------------------------if type == STATSCHANGE_HEALTHGAIN then if cid == attacker then return true end if isSummon(cid) and isSummon(attacker) and canAttackOther(cid, attacker) == "Cant" then return false endreturn trueend--------------------------------------------------if isMonster(cid) thenlocal valor = value if not pokes[getCreatureName(cid)] and damageCombat == COMBAT_PHYSICALDAMAGE then valor = getOffense(attacker) * playerDamageReduction doCreatureAddHealth(cid, -math.abs(valor), 3, races[7].cor) return false elseif not pokes[getCreatureName(cid)] and damageCombat ~= COMBAT_PHYSICALDAMAGE then doCreatureAddHealth(cid, -math.abs(valor), 3, combats[damageCombat].cor) return false endend--------------------------------------------------if isPlayer(attacker) then local valor = value if valor > getCreatureHealth(cid) then valor = getCreatureHealth(cid) end if combat == COMBAT_PHYSICALDAMAGE then return false end if combat == PHYSICALDAMAGE then doSendMagicEffect(getThingPos(cid), 3) doSendAnimatedText(getThingPos(cid), valor, races[getMonsterInfo(getCreatureName(cid)).race].cor) end if combats[damageCombat] and not isInArray(fixdmgs, damageCombat) then doSendAnimatedText(getThingPos(cid), valor, combats[damageCombat].cor) end if #getCreatureSummons(attacker) >= 1 and not isInArray({POISONEDDAMAGE, BURNEDDAMAGE}, combat) then doPlayerSendTextMessage(attacker, MESSAGE_STATUS_DEFAULT, "Your "..getPokeName(getCreatureSummons(attacker)[1]).." dealt "..valor.." damage to "..getSomeoneDescription(cid)..".") endreturn trueend--------------------------------------------------if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS thenreturn false end--------------------------------------------------if isPlayer(cid) and #getCreatureSummons(cid) <= 0 and type == STATSCHANGE_HEALTHLOSS thenif isSummon(attacker) or isPlayer(attacker) then if canAttackOther(cid, attacker) == "Cant" then return false endend local valor = 0 if combat == COMBAT_PHYSICALDAMAGE then valor = getOffense(attacker) else valor = getSpecialAttack(attacker) end valor = valor * playerDamageReduction valor = valor * math.random(83, 117) / 100 if valor >= getCreatureHealth(cid) then valor = getCreatureHealth(cid) end valor = math.floor(valor) if valor >= getCreatureHealth(cid) then if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then setPlayerStorageValue(cid, 6598754, -1) setPlayerStorageValue(cid, 6598755, -1) doRemoveCondition(cid, CONDITION_OUTFIT) doTeleportThing(cid, posBackPVP, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false --alterado v1.8 end if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 17000, 0) setPlayerStorageValue(cid, 17001, 0) setPlayerStorageValue(cid, 63215, -1) doChangeSpeed(cid, PlayerSpeed) local item = getPlayerSlotItem(cid, 8) local btype = getPokeballType(item.itemid) if #getCreatureSummons(cid) <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) end end end if getPlayerStorageValue(cid, 22545) == 1 then if getGlobalStorageValue(22550) == 1 then doPlayerSendTextMessage(cid, 20, "You are the last survivor of the golden arena! Take your reward!") doPlayerAddItem(cid, 2152, getPlayerStorageValue(cid, 22551)*2) setPlayerStorageValue(cid, 22545, -1) doTeleportThing(cid, getClosestFreeTile(cid, getClosestFreeTile(cid, posBackGolden)), false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid)) setPlayerRecordWaves(cid) endGoldenArena() return false --alterado v1.8 else setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1) setPlayerStorageValue(cid, 22545, -1) doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid)) setPlayerRecordWaves(cid) return true end end if getPlayerStorageValue(cid, 98796) >= 1 then setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) --alterado v1.8 doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You die in the saffari... Best luck in the next time!") return false --alterado v1.8 end local corpse = doCreateItem(3058, 1, getThingPos(cid)) doDecayItem(corpse) doItemSetAttribute(corpse, "pName", getCreatureName(cid)) --alterado v1.7 coloca corpse quando o player morre! doItemSetAttribute(corpse, "attacker", getCreatureName(attacker)) doItemSetAttribute(corpse, "article", getPlayerSex(cid) == 0 and "She" or "He") if getPlayerStorageValue(cid, Agatha.stoIni) >= 1 and getPlayerStorageValue(cid, Agatha.stoIni) <= 10 then setPlayerStorageValue(cid, Agatha.stoIni, -1) setPlayerStorageValue(cid, Agatha.stoRec, -1) setPlayerStorageValue(cid, Agatha.stoPer, -1) setPlayerStorageValue(cid, Agatha.stoEni, -1) --alterado v1.9 agatha quest setPlayerStorageValue(cid, Agatha.stoRes, -1) end end doCreatureAddHealth(cid, -valor, 3, 180) if not isPlayer(cid) then addEvent(sendPlayerDmgMsg, 5, cid, "You lost "..valor.." hitpoints due to an attack from "..getSomeoneDescription(attacker)..".") endreturn falseend--------------------------------------------------if isMonster(attacker) and getPlayerStorageValue(attacker, 201) ~= -1 then if isPlayer(cid) then return false end if getPlayerStorageValue(getCreatureMaster(cid), ginasios[getPlayerStorageValue(attacker, 201)].storage) ~= 1 then return false endend--------------------------------------------------if isMonster(cid) and getPlayerStorageValue(cid, 201) ~= -1 then if getPlayerStorageValue(getCreatureMaster(attacker), ginasios[getPlayerStorageValue(cid, 201)].storage) ~= 1 then return false endend--------------------------------------------------if ehMonstro(cid) and ehMonstro(attacker) and not isSummon(cid) and not isSummon(attacker) then return false --alterado v1.9 /\end----------------------------------------------------------------------REFLECT-----------------------if getPlayerStorageValue(cid, 21099) >= 1 and combat ~= COMBAT_PHYSICALDAMAGE then if not isInArray({"Team Claw", "Team Slice"}, getPlayerStorageValue(attacker, 21102)) then doSendMagicEffect(getThingPosWithDebug(cid), 135) doSendAnimatedText(getThingPosWithDebug(cid), "REFLECT", COLOR_GRASS) addEvent(docastspell, 100, cid, getPlayerStorageValue(attacker, 21102)) if getCreatureName(cid) == "Wobbuffet" then doRemoveCondition(cid, CONDITION_OUTFIT) end setPlayerStorageValue(cid, 21099, -1) setPlayerStorageValue(cid, 21100, 1) setPlayerStorageValue(cid, 21101, attacker) setPlayerStorageValue(cid, 21103, getTableMove(attacker, getPlayerStorageValue(attacker, 21102)).f) setPlayerStorageValue(cid, 21104, getCreatureOutfit(attacker).lookType) return false endend-------------------------------------------------local multiplier = 1 if isCreature(cid) then poketype1 = pokes[getCreatureName(cid)].type poketype2 = pokes[getCreatureName(cid)].type2 end if not poketype1 or not poketype2 then return false end if getCreatureCondition(cid, CONDITION_INVISIBLE) then return false endif damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then if isInArray(effectiveness[damageCombat].super, poketype1) then multiplier = multiplier + 0.5 end if isInArray(effectiveness[damageCombat].super, poketype2) then multiplier = multiplier + 0.5 end if isInArray(effectiveness[damageCombat].weak, poketype1) then multiplier = multiplier - 0.25 end if isInArray(effectiveness[damageCombat].weak, poketype2) then multiplier = multiplier - 0.25 end if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then if isInArray(specialabilities["foresight"], getCreatureName(attacker)) then multiplier = 0.5 end --alterado v1.6 endelseif combat == COMBAT_PHYSICALDAMAGE then if isGhostPokemon(cid) then if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then --passiva Foresight!! doSendMagicEffect(getThingPos(cid), 3) return false end end local cd = getPlayerStorageValue(attacker, conds["Miss"]) local cd2 = getPlayerStorageValue(attacker, conds["Confusion"]) local cd3 = getPlayerStorageValue(attacker, conds["Stun"]) if cd >= 0 or cd2 >= 0 or cd3 >= 0 then if math.random(1, 100) > 50 then doSendMagicEffect(getThingPos(cid), 211) doSendAnimatedText(getThingPos(attacker), "MISS", 215) return false end endend--------------------------------------------------local valor = value if multiplier == 1.5 and poketype2 == "no type" then multiplier = 2 elseif multiplier == 1.5 and poketype2 ~= "no type" then multiplier = 1.75 elseif multiplier == 1.25 then multiplier = 1 end-------------------------------------------------- if isSummon(cid) and isSummon(attacker) then if getCreatureMaster(cid) == getCreatureMaster(attacker) then return false end if canAttackOther(cid, attacker) == "Cant" then return false end end valor = valor * multiplier if isSummon(attacker) then valor = valor * getHappinessRate(attacker) else valor = valor * summonReduction end valor = math.floor(valor) if combat == COMBAT_PHYSICALDAMAGE then local value = getOffense(attacker) > 1000 and 3 or 2 block = 1 - (getDefense(cid) / (getOffense(attacker) + getDefense(cid))) --alterado v1.9 testem essa nova formula plzzz '--' valor = (getOffense(attacker)/value) * block if valor <= 0 then valor = math.random(5, 10) --alterado v1.9 end if isInArray(specialabilities["counter"], getCreatureName(cid)) then if math.random(1, 100) <= 10 then doCreatureAddHealth(attacker, -valor, 3, 180) valor = 0 doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215) end end else valor = valor / getDefense(cid) end -------------------------Edited CLAN SYSTEM----------------------------------- if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk") elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2)) end ----------------------------------------------------------------------- ---------------------- FEAR / ROAR ------------------------------------ if getPlayerStorageValue(attacker, conds["Fear"]) >= 1 then return true end--------------------------------------------------------------------------if damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then valor = valor * 0 end endendif damageCombat == GROUNDDAMAGE then if isInArray(specialabilities["levitate"], getCreatureName(cid)) then valor = 0 endend-----------------------------------------------------------------------------local p = getThingPos(cid) if p.x == 1 and p.y == 1 and p.z == 10 thenreturn false endif getPlayerStorageValue(cid, 9658783) == 1 thenreturn false --imuneend-------------------------------------------------------------------------------------------- FIGHT MODE -----------------------if useOTClient thenif isSummon(cid) then local master = getCreatureMaster(cid) if getPlayerStorageValue(master, 248759) == 1 then valor = valor * 1.1 elseif getPlayerStorageValue(master, 248759) == 3 then valor = valor * 0.9 endendif isSummon(attacker) then local master = getCreatureMaster(attacker) if getPlayerStorageValue(master, 248759) == 1 then valor = valor * 1.1 elseif getPlayerStorageValue(master, 248759) == 3 then valor = valor * 0.9 endend end ----------------------------------------------------------------------------- if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else valor = getCreatureHealth(cid) end end valor = math.floor(valor) ------------------ SKILLs Q CURAM O ATTACKER ---------------------------------local function doHeal(cid, amount)if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = math.abs(getCreatureHealth(cid)-getCreatureMaxHealth(cid))endif getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) endend if damageCombat == PSYCHICDAMAGE or damageCombat == MIRACLEDAMAGE then if getPlayerStorageValue(attacker, 95487) >= 1 then doHeal(attacker, valor) setPlayerStorageValue(attacker, 95487, -1) endelseif damageCombat == SEED_BOMBDAMAGE then doHeal(attacker, valor)end------------------------------------------------------SACRED FIRE-----------------------if combat == SACREDDAMAGE and not ehNPC(cid) then local ret = {} ret.id = cid ret.cd = 9 ret.check = getPlayerStorageValue(cid, conds["Silence"]) ret.eff = 39 ret.cond = "Silence" doCondition2(ret)elseif combat == MUDBOMBDAMAGE and not ehNPC(cid) then local ret = {} ret.id = cid ret.cd = 9 ret.eff = 34 ret.check = getPlayerStorageValue(cid, conds["Miss"]) ret.spell = "Mud Bomb" --alterado v1.9 ret.cond = "Miss" doCondition2(ret)end-----------------------------------------------------------Passiva Lifesteal Clobat------------if combat == COMBAT_PHYSICALDAMAGE then if getCreatureName(attacker) == "Crobat" then doCreatureAddHealth(attacker, math.floor(valor)) doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30) endend-------------------------------------------- valor = math.abs(valor) --alterado v1.9 if isSummon(attacker) then if combat == COMBAT_PHYSICALDAMAGE then doTargetCombatHealth(getCreatureMaster(attacker), cid, PHYSICALDAMAGE, -valor, -valor, 255) addEvent(doDoubleHit, 1000, attacker, cid, valor, races) else doTargetCombatHealth(getCreatureMaster(attacker), cid, damageCombat, -valor, -valor, 255) end else if combat ~= COMBAT_PHYSICALDAMAGE then doCreatureAddHealth(cid, -valor, 3, combats[damageCombat].cor) else doCreatureAddHealth(cid, -valor, 3, races[getMonsterInfo(getCreatureName(cid)).race].cor) addEvent(doDoubleHit, 1000, attacker, cid, valor, races) end if isSummon(cid) and valor ~= 0 then addEvent(sendPlayerDmgMsg, 5, getCreatureMaster(cid), "Your "..getCreatureName(cid).." lost "..valor.." hitpoints due to an attack from "..getSomeoneDescription(attacker)..".") end end if damageCombat == FIREDAMAGE and not isBurning(cid) then local ret = {} ret.id = cid ret.cd = math.random(5, 12) ret.check = getPlayerStorageValue(cid, conds["Burn"]) ret.damage = isSummon(attacker) and getMasterLevel(attacker)+getPokemonBoost(attacker) or getPokemonLevel(attacker) ret.cond = "Burn" doCondition2(ret) elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) then local ret = {} ret.id = cid ret.cd = math.random(6, 15) ret.check = getPlayerStorageValue(cid, conds["Poison"]) local lvl = isSummon(attacker) and getMasterLevel(attacker) or getPokemonLevel(attacker) ret.damage = math.floor((getPokemonLevel(attacker)+lvl)/2) ret.cond = "Poison" doCondition2(ret) end--[[---------------CD BAR-----------------------if isSummon(cid) then doCreatureExecuteTalkAction(getCreatureMaster(cid), "/pokeread")end ]]------------------------------------POTIONS-------------------------------------------if isSummon(cid) and type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(cid, 173) >= 1 then if damageCombat ~= BURNEDDAMAGE and damageCombat ~= POISONEDDAMAGE then setPlayerStorageValue(cid, 173, -1) doSendAnimatedText(getThingPos(cid), "Lost Heal", 144) end endend----------------------------------------PASSIVAS------------------------------------- -------------------------------------------Counter Helix------------------------------------if passivesChances["Helix"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Helix"][getCreatureName(cid)] then docastspell(cid, "Counter Helix")end-------------------------------------------Lava Counter/Electricity----------------------------if passivesChances["Fire_Thunder"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Fire_Thunder"][getCreatureName(cid)] then docastspell(cid, "Lava-Electricity")end---------------------------------------Stunning Confusion-----------------------------------------if passivesChances["Stunning"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Stunning"][getCreatureName(cid)] then docastspell(cid, "Stunning Confusion")end-----------------------------------------Groundshock-----------------------------------if passivesChances["Groundshock"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Groundshock"][getCreatureName(cid)] then docastspell(cid, "Groundshock")end--------------------------------------Electric Charge---------------------------------------------if passivesChances["Electric Charge"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Electric Charge"][getCreatureName(cid)] then docastspell(cid, "Electric Charge", 0, 0)end-------------------------------------Melody------------------------------------if passivesChances["Melody"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Melody"][getCreatureName(cid)] then docastspell(cid, "Melody")end------------------------------------- Dragon Fury / Fury ---------------------------------------if passivesChances["Dragon Fury"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Dragon Fury"][getCreatureName(cid)] then docastspell(cid, "Dragon Fury", 0, 0)end------------------------------------- Mega Drain ---------------------------------------if passivesChances["Mega Drain"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Mega Drain"][getCreatureName(cid)] then docastspell(cid, "Mega Drain")end------------------------------------- Spores Reaction ---------------------------------------if passivesChances["Spores Reaction"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Spores Reaction"][getCreatureName(cid)] then docastspell(cid, "Spores Reaction")end------------------------------------ Amnesia ---------------------------------------- if passivesChances["Amnesia"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Amnesia"][getCreatureName(cid)] then docastspell(cid, "Amnesia", 0, 0)end----------------------------------- Zen Mind -----------------------------------------if passivesChances["Zen Mind"][getCreatureName(cid)] and isWithCondition(cid) and math.random(1, 100) <= passivesChances["Zen Mind"][getCreatureName(cid)] then docastspell(cid, "Zen Mind", 0, 0)end---------------------------------- Mirror Coat ---------------------------------------if passivesChances["Mirror Coat"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Mirror Coat"][getCreatureName(cid)] then docastspell(cid, "Mirror Coat", 0, 0)end--------------------------------- Illusion -----------------------------------------return falseend
Espero que me ajudem e me desculpe por qualquer coisa, oque precisarem, só pedir!
-
Nome: Script Shiny Stone.
Autor: Desconhecido
Funcionabilidade: 100%
Olá Galera do Xtibia, Venho aqui trazer esse Script de Shiny Stone para Pokémon Dash Advanced.
•1º Passo-> Crie um Arquivo .lua na pasta actions do seu server e renomeie para shinystone.lua
•2º Passo-> Apague Tudo oque tinha dentro do script que você copiou e coloque isso:
local evo = { --nome do shiny, qnts stones precisa ["Snorlax"] = {"Shiny Snorlax", 1}, ["Gengar"] = {"Shiny Gengar", 1}, ["Arcanine"] = {"Shiny Arcanine", 1}, ["Raichu"] = {"Shiny Raichu", 1}, ["Alakazam"] = {"Shiny Alakazam", 1}, ["Venomoth"] = {"Shiny Venomoth", 1}, ["Salamence"] = {"Shiny Salamence", 1}, ["Charizard"] = {"Shiny Charizard", 1}, ["Venusaur"] = {"Shiny Venusaur", 1}, ["Blastoise"] = {"Shiny Blastoise", 1}, ["Tentacruel"] = {"Shiny Tentacruel", 1}, ["Rayquaza"] = {"Shiny Rayquaza", 1}, ["Vileplume"] = {"Shiny Vileplume", 1}, ["Hitmontop"] = {"Shiny Hitmontop", 1}, ["Onix"] = {"Shiny Onix", 1}, ["Scyther"] = {"Shiny Scyther", 1}, ["Abra"] = {"Shiny Abra", 1}, ["Electabuzz"] = {"Shiny Electabuzz", 1}, ["Umbreon"] = {"Shiny Umbreon", 1}, ["Gyarados"] = {"Shiny Gyarados", 1}, ["Seadra"] = {"Shiny Seadra", 1}, ["Electrode"] = {"Shiny Electrode", 1}, ["Dragonite"] = {"Shiny Dragonite", 1}, } local balls = { [11826] = {newBall = 11826}, [11832] = {newBall = 11832}, [11835] = {newBall = 11835}, [11829] = {newBall = 11829}, } function onUse(cid, item, fromPosition, itemEx, toPosition) if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then local monster = getCreatureName(itemEx.uid) if evo[monster] then if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(itemEx.uid).." evolved into a "..evo[monster][1].."!") local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid) doSendMagicEffect(getThingPos(itemEx.uid), 18) doRemoveCreature(itemEx.uid) doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1) doRemoveItem(item.uid, 1) doSummonMonster(cid,evo[monster][1]) local pokeball = getPlayerSlotItem(cid, 8) doItemSetAttribute(pokeball.uid, "poke", evo[monster][1]) doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level) doItemSetAttribute(ball, "hp", 1) doItemSetAttribute(ball, "happy", 110) local pk = getCreatureSummons(cid)[1] doTransformItem(getPlayerSlotItem(cid, 8).uid, getPokeballs.newBall) adjustStatus(pk, pokeball.uid, true, false, true) return TRUE else return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!") end end end return FALSE end
Explicação do Script
["Poke1"] = {"Poke2",1},
•Poke1 = Pokémon que será transformado para shiny
•Poke2 = Pokémon Shiny que será o resultado do Poke1 com a Shiny Stone
•"1" = Quantidades de Stones necessárias para evoluir!
~~~~~~
•3º Passo - > Adicione esta linha no seu actions.xml na parte de PEDRAS DE EVO:
<action itemid="iddastone" event="script" value="shinystone.lua" allowfaruse="1"/>
Explicação : em "iddastone" você irá colocar o id da stone que você quer que seja sua shiny stone.
Em value você colocara o nome do seu arquivo, no caso aqui shinystone.lua
~~~~~~~~
•Esse script não dá erro na distro do seu servidor na hora de ligar.
Só da erro, na hora de usar a stone no pokemon, mas dá certo e não causa bug, SOMENTE O ERRO NA DISTRO NA HORA DE USAR.
Então se alguém conseguir retirar esse erro, divulgue neste tópico para melhorarmos ainda mais esse script!
Obrigado Galera, Até a próxima!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[8.6][Map + System]Castle Guild
em Mapas
Postado
Muito legal, gostei!
Vc é um ótimo mapper. Rep+