victorvs 3 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Fiquem um tempinho off e ve em...Vcs progrediram Brun123 fez muito tals(sem Comentarios..n espero mais nada dele ele mostrou ser bem capacitado) mas vcs do forum surprenderam em.. barra de cooldown..barra de troca de poke9pokin debug) outros bike outros jhoto e assim vai Parabens a todos que estão se superando Vou retomar a acompanhar o Topic se precisarem estou aqui (= Link para o comentário Compartilhar em outros sites More sharing options...
crd1990 0 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 SoulOroshie Conseguir colocar um passive mais so funciona quando eu ataco... ja mudei ele para defense e nao funcionou como faz nesse ot que so tem .xml dos pokemons selvagens ? jeffe000 Realmente nese OT so tem a pasta de pokemon selvagens nao tem as de pokemon sem ataca como seria o caso para por o movie =/ Ferrou ={ Link para o comentário Compartilhar em outros sites More sharing options...
pocotozinho 6 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 alguem poderia me dizer que erro e esse os pokemons shiny nao estão perdendo life quando sao atacados [31/01/2012 01:38:18] [Error - CreatureScript Interface] [31/01/2012 01:38:18] data/creaturescripts/scripts/exp.lua:onStatsChange [31/01/2012 01:38:18] Description: [31/01/2012 01:38:18] data/creaturescripts/scripts/exp.lua:315: attempt to index field '?' (a nil value) [31/01/2012 01:38:18] stack traceback: [31/01/2012 01:38:18] data/creaturescripts/scripts/exp.lua:315: in function <data/creaturescripts/scripts/exp.lua:129> Link para o comentário Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 @All Pls to precisando msm, alguem ae tem o id do portrait dos shinys ? Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 New Sprite NPC master quest Uploaded with ImageShack.us De seu voto para melhoras mt bom mano Minha Nota : 10... continue assim... Link para o comentário Compartilhar em outros sites More sharing options...
BLACKHERT 1 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 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 Link para o comentário Compartilhar em outros sites More sharing options...
Nitx 0 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 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? Link para o comentário Compartilhar em outros sites More sharing options...
pocotozinho 6 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 nao achei onde coloca os id dos jotho alguem me motra a pag? Link para o comentário Compartilhar em outros sites More sharing options...
Nibelins 132 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 @All estou precisando de uma ajuda criei uns npc novos com sprite nova pra fazer ele como npc duel espalhado pelo mapa Estou precisando de script de npc duelo tipo quando vencer ganha um item [qualquer tipo de item que seja configuravel] se alguem puder me ajudar fico no aguardo. Link para o comentário Compartilhar em outros sites More sharing options...
1791290 4 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) @Nibelins te ajudo nisso Bem no servidor já vem um npc com nome "ExemploNPCDuel" Ao vencer-lo se ganha ultra ball e super ball basta voce pega-lo como base e configura os npc ...look type e editar o premio E se ainda não conseguir fazer so me dizer o look type de cada um que eu crio e posto pra voce Aqui esta o script 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 masterpos = {} local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes) local can_walk = true -- true to make this npc walks randomly local max_distance = 5 -- maximum distance this npc can get far (sqms) local walk_delay = 7 -- every seconds make this npc walk local cooldown_table = {} local min_pokemons_to_battle = 1-- change to whatever you want local number_of_pokemons = 0 -- don't change local prizes = { [1] = {{itemid = 2393, count = 30}, {itemid = 2392, count = 20}}, [2] = {{itemid = 2393, count = 40}, {itemid = 2392, count = 30}}, [3] = {{itemid = 2393, count = 50}, {itemid = 2392, count = 40}}, [4] = {{itemid = 2393, count = 60}, {itemid = 2392, count = 50}}, [5] = {{itemid = 2393, count = 70}, {itemid = 2392, count = 60}}, [6] = {{itemid = 2393, count = 80}, {itemid = 2392, count = 70}}} local pokemons = { {name = "Cloyster", level = 40, extralevel = 30, sex = SEX_MALE, nick = "Crusher", ball = "super"}, {name = "Lapras", level = 49, extralevel = 15, sex = SEX_FEMALE, nick = "Laura", ball = "normal"}, {name = "Electabuzz", level = 43, extralevel = 20, sex = SEX_MALE, nick = "Eletron", ball = "great"}, {name = "Pinsir", level = 48, extralevel = 30, sex = SEX_MALE, nick = "Headcutter", ball = "normal"}, {name = "Dragonair", level = 39, extralevel = 37, sex = SEX_FEMALE, nick = "Dragonix", ball = "ultra"}, } 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 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 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 local walkdelay = 0 function onThink() if not masterpos.x then masterpos = getThingPos(getThis()) end 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 walkdelay = walkdelay - 0.5 if walkdelay <= 0 then walkdelay = walk_delay local pos = getThingPos(getThis()) local npos = {} for a = 0, 3 do if getDistanceBetween(getPosByDir(pos, a), masterpos) <= max_distance and canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then table.insert(npos, getPosByDir(pos, a)) end end if npos and #npos > 0 then doTeleportThing(getThis(), npos[math.random(#npos)]) end 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 Editado Janeiro 31, 2012 por WPR Link para o comentário Compartilhar em outros sites More sharing options...
pocotozinho 6 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) 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 Editado Janeiro 31, 2012 por pocotozinho Link para o comentário Compartilhar em outros sites More sharing options...
Nibelins 132 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) ja tentei coloca esse script mais aqui não funcionou sempre que falo com npc hi duel yes ele não faz nada so fala isso Tell me the number of pokemons that will battle. arrumando tem que fala o numero de pokemon que vai participar do duelo Editado Janeiro 31, 2012 por Nibelins Link para o comentário Compartilhar em outros sites More sharing options...
1791290 4 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 (editado) @Nibelins Tipo o npc ped epra dize rum numero aleatorio de 1 a 5 q no caso serão a quantidade pokemons usados. Como eu já dice, se quizer crio para você, basta me dizer o look type de cad aum deles... Editado Janeiro 31, 2012 por WPR Link para o comentário Compartilhar em outros sites More sharing options...
Nibelins 132 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 valeu gente consegui dei rep pro procoto e amanha dou pra vc wpr acabou minha rep hehehehe to terminando de fazer as sprite do npc novos de duel se alguem quizer diponibilizo Link para o comentário Compartilhar em outros sites More sharing options...
Fabio11br 3 Postado Janeiro 31, 2012 Share Postado Janeiro 31, 2012 Disponibiliza ai pode disponibilizar as sprites também? Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados