Ir para conteúdo

Rafaelgaspar

Membro
  • Registro em

  • Última visita

Tudo que Rafaelgaspar postou

  1. rapaz... em teoria tira o red skull... oq seria esse frag q vc ta falando?
  2. Mano... da uma olhada se é isso que vc queria... vá em data/talkactions/scripts e adicione o arquivo: !removered.lua function onSay(cid, words, param, channel) if getCreatureSkullType(cid)==4 then if not(doPlayerRemoveMoney(cid, 5*1000*1000*100)) then doPlayerSendCancel(cid, "You dont have enough money.") else doCreatureSetSkullType(cid, 0) end else doPlayerSendCancel(cid, "You dont have red skull.") end end depois vá em data/talkactions/talkactions.xml e adicione a linha: <talkaction words="!removered" event="script" value="!removered.lua"/> tenta ae depois diz se funcionou GOSTOU, Rep+ =)
  3. muda o finalzinho do codigo.... local outfits = { [136] = {137,effectNum1}, [128] = {129,effectNum2}, } function onAttack(cid, target) local tmp = getCreatureOutfit(cid) if getCreatureTarget(cid) then---- aqui verifica se ele está "mirando em alguem" if outfits[tmp.lookType] and getDistanceBetween(getCreaturePosition(getCreatureTarget(cid)), getCreaturePosition(cid))<=1 then-- aqui verifica se ele está com a rou ---certa, e tambem condiciona a distancia maxima do alvo local effect= (outfits[tmp.lookType])[2]-- 2 porque é a posicao da tabela q vai ter o numero do EFEITO tmp.lookType = (outfits[tmp.lookType])[1]-- 1 porque é a posicao da tabela q vai ter o numero do novo outfit doSetCreatureOutfit(cid, tmp, 900) -- escolhe o tempo da outfit doAreaCombatHealth(cid, type, pos, area, min, max, CONST_ME_NONE) doAreaCombatHealth(cid, type, getCreaturePosition(cid), 0, 0, 0, effect) end end return true end só modifiquei o "efeito do ataque" para NONE(nada) e criei um efeito em sua posiçao Gostou? Rep++ =)
  4. doItemSetAttribute(item, "firstpoke", getCreatureName(cid)) doPlayerAddItemEx(cid, item, true) doTransformItem(item, pokeballs[btype].on) if (getPlayerSlotItem(cid, 10)==item) then --linha adicionada local item2=item--linha adicionada doPlayerAddItemEx(cid, item2, true)--linha adicionada doTransformItem(item2, pokeballs[btype].on)--linha adicionada doRemoveItem(getPlayerSlotItem(cid, 10).uid)--linha adicionada end--linha adicionada é isso aí mano.. se nao funcionar avisa... =) GOSTOU? REP++ =)
  5. No meu eu faço algo mais ou menos assim... adiciono duas vezes o item depois removo o primeiro item... isso é a maior gambiarra.... rs mas funciona
  6. amigo.... posta seu codigo pra gente dar uma olhada
  7. local outfits = { [136] = {137,effectNum1}, [128] = {129,effectNum2}, } function onAttack(cid, target) local tmp = getCreatureOutfit(cid) if getCreatureTarget(cid) then---- aqui verifica se ele está "mirando em alguem" if outfits[tmp.lookType] and getDistanceBetween(getCreaturePosition(getCreatureTarget(cid)), getCreaturePosition(cid))<=1 then-- aqui verifica se ele está com a rou ---certa, e tambem condiciona a distancia maxima do alvo local effect= (outfits[tmp.lookType])[2]-- 2 porque é a posicao da tabela q vai ter o numero do EFEITO tmp.lookType = (outfits[tmp.lookType])[1]-- 1 porque é a posicao da tabela q vai ter o numero do novo outfit doSetCreatureOutfit(cid, tmp, 900) -- escolhe o tempo da outfit doAreaCombatHealth(cid, type, pos, area, min, max, effect) end end return true end (só alterei o codigo do GAROU do site que voce postou) em: doAreaCombatHealth(cid, type, pos, area, min, max, effect) é so vc preencher com: cid type (do ataque)= no servidor que eu jogo os tipo de type sao:NORMALDAMAGE, FIREDAMAGE, ICEDAMAGE, etc.... aí vc tem q saber com que tipo de dano seu servidor trabalha. pos=getCreaturePosition(getCreatureTarget(cid)) ... aí ele vai dar o danona posiçao q seu inimigo está... min = minimo do dano. Ex:50 max= maximo do dano. Ex:70 effect= pode deixar effect mesmo é isso aí mesmo q vc queria? GOSTOU?, REP+ =)
  8. mals ae, mas nem sei =/ costumo mexer com scripts e systems... nunca mexi em site nao, nem manjo as paradas =/
  9. Rafaelgaspar postou uma resposta no tópico em Suporte Tibia OTServer
    pra ser sincero nao entendi muito bem seu problema.... e guenta ai amigo.... tem uma galera q tá viajando, feriado e tal... em breve alguem te responde
  10. só com os dados do cartao nao ia dar pra pagar por boleto nao... só por deposito/transferencia... como o cara falou la em cima... depois te mandar um print do comprovante....
  11. Rafaelgaspar postou uma resposta no tópico em Suporte Tibia OTServer
    cara... é só ir em actions/scripts/other/food.lua =) no server aqui o codigo é o seguinte: local FOODS = { [2362] = {8, "Crunch."}, [2666] = {15, "Munch."}, [2667] = {12, "Munch."}, [2668] = {10, "Mmmm."}, [2669] = {17, "Munch."}, [2670] = {4, "Gulp."}, [2671] = {30, "Chomp."}, [2672] = {60, "Chomp."}, [2673] = {5, "Yum."}, [2674] = {6, "Yum."}, [2675] = {13, "Yum."}, [2676] = {8, "Yum."}, [2677] = {1, "Yum."}, [2678] = {18, "Slurp."}, [2679] = {1, "Yum."}, [2680] = {2, "Yum."}, [2681] = {9, "Yum."}, [2682] = {20, "Yum."}, [2683] = {17, "Munch."}, [2684] = {8, "Crunch."}, [2685] = {6, "Munch."}, [2686] = {9, "Crunch."}, [2687] = {2, "Crunch."}, [2688] = {9, "Munch."}, [2689] = {10, "Crunch."}, [2690] = {3, "Crunch."}, [2691] = {8, "Crunch."}, [2792] = {6, "Munch."}, [2793] = {9, "Munch."}, [2695] = {6, "Gulp."}, [2696] = {9, "Smack."}, [2787] = {9, "Munch."}, [2788] = {4, "Munch."}, [2789] = {22, "Munch."}, [2790] = {30, "Munch."}, [2791] = {30, "Munch."}, [2792] = {6, "Munch."}, [2794] = {3, "Munch."}, [2795] = {36, "Munch."}, [2796] = {5, "Munch."}, [2793] = {9, "Munch."}, [5097] = {4, "Yum."}, [6125] = {8, "Gulp."}, [6278] = {10, "Mmmm."}, [6279] = {15, "Mmmm."}, [6393] = {12, "Mmmm."}, [6394] = {15, "Mmmm."}, [6501] = {20, "Mmmm."}, [6541] = {6, "Gulp."}, [6542] = {6, "Gulp."}, [6543] = {6, "Gulp."}, [6544] = {6, "Gulp."}, [6545] = {6, "Gulp."}, --[6569] = {1, "Mmmm."}, Retirado para script de rare candy [6574] = {4, "Mmmm."}, [7158] = {15, "Munch."}, [7159] = {13, "Munch."}, [7372] = {7, "Yum."}, [7373] = {7, "Yum."}, [7374] = {7, "Yum."}, [7375] = {7, "Yum."}, [7376] = {7, "Yum."}, [7377] = {7, "Yum."}, [7909] = {4, "Crunch."}, [8838] = {7, "Gulp."}, [8839] = {5, "Yum."}, [8840] = {2, "Yum."}, [8841] = {3, "Urgh."}, [8842] = {3, "Munch."}, [8843] = {3, "Crunch."}, [8844] = {3, "Gulp."}, [8845] = {2, "Munch."}, [8847] = {11, "Yum."}, [12211] = {18, "Mmmm."}, [12213] = {13, "Munch."}, [12214] = {8, "Crunch."}, [12215] = {10, "Munch."}, [12216] = {6, "Gulp."}, [12217] = {5, "Yum."}, [12218] = {15, "Crunch."}, [12219] = {7, "Mmmm."}, [12220] = {7, "Mmmm."}, [12221] = {7, "Mmmm."}, [12222] = {24, "Crunch."}, } function onUse(cid, item, fromPosition, itemEx, toPosition) local food = FOODS[item.itemid] if(not food) then return false end local thing = getCreatureSummons(cid)[1] or cid if isPlayer(thing) then if((getPlayerFood(cid) + food[1]) >= 400) then doPlayerSendCancel(cid, "You are full.") return true end doPlayerFeed(cid, food[1] * 4) doCreatureSay(cid, food[2], TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) elseif isSummon(thing) then local feed = food[1] if getPlayerStorageValue(thing, 1009) - feed < 0 then doSendMagicEffect(getThingPos(thing), 167) local newh = getPlayerStorageValue(thing, 1008) - math.ceil(feed / 8) if newh <= 1 then newh = 1 end setPlayerStorageValue(thing, 1008, newh) return true end setPlayerStorageValue(thing, 1009, getPlayerStorageValue(thing, 1009) - feed) setPlayerStorageValue(thing, 1008, getPlayerStorageValue(thing, 1008) + 1) doCreatureSay(thing, food[2], TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) end return true end aí é simples.... só colocar a "food" nessa table.... lembrando q o primeiro numero é o ID o segundo é tipo o tempo.... o quao "forte" é a food... e o terceiro parametro é a frase que o cara vai falar qndo comer... GOSTOU?? REP+ =)
  12. mostra esses erros aí... =/ manda o print do erro, algo do tipo
  13. mano.... vai la no mesmo arquivo data/lib/configuration.lua procure pela tabela "fotos" aí voce tem q colocar o ID da foto.... =) GOSTOU?? REP+ =)
  14. foto aonde mano? no portrait? de que voce tá falando exatamente?
  15. vou fazer... se puder dá REP+ la.... =) ja ja mando o codigo atualizado atualizando.... local distancia_minima=4-- distancia minima para falar com NPC local itemid1=5001--ID do primeiro item local itemid2=5002--ID do segundo item local itemid3=5003--ID do terceiro item local itemid4=5004--ID do quarto item local itemid5=5005--ID do quinto item local itemidADD=5006--ID do item q vai ganhar local distancia_minima=3 local mintempo=30 local frase01=" hi, eu troco os seguintes itens x, y, z por um addon doll." local frase02="Sorry, I'm busy at this moment. Wait your turn." local frase03=" vc tem os itens x y z para trocar comigo?" local frase03=" parabens, tome seu item. Tchau" local frase03=" lamento, voce nao tem os itens necessarios. Volte qndo tiver, tchau" local frase97="Tchau." local frase98="Até mais" local focus = 0 local talk_start = 0 local estado=0 following = false attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay(frase98) focus = 0 talk_start = 0 estado=0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, tipo, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < distancia_minima then selfSay(frase01,cid) focus = cid talk_start = os.clock() estado=1 elseif (msgcontains(msg, 'bye') and focus == cid) then selfSay(frase97) focus = 0 talk_start = 0 estado=0 elseif (msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < distancia_minima) then selfSay(frase02,cid) elseif (msgcontains(msg, 'addon doll') and (focus == cid) and (estado==1)) then selfSay(frase03,focus) talk_start = os.clock() estado=2 elseif msgcontains(msg, 'yes') then if getPlayerItemCount(cid, itemid1)>0 and getPlayerItemCount(cid, itemid2)>0 and getPlayerItemCount(cid, itemid3)>0 and getPlayerItemCount(cid, itemid4)>0 and getPlayerItemCount(cid, itemid5)>0 then doPlayerRemoveItem(cid, itemid1,1) doPlayerRemoveItem(cid, itemid2,1) doPlayerRemoveItem(cid, itemid3,1) doPlayerRemoveItem(cid, itemid4,1) doPlayerRemoveItem(cid, itemid5,1) doPlayerAddItem(cid, itemidADD,1) selfSay(frase04,focus) else selfSay(frase05,focus) end focus = 0 talk_start = 0 estado=0 end end function onCreatureChangeOutfit(creature) end function onThink() if focus > 0 then if (((os.clock() - talk_start) > mintempo) or (getDistanceToCreature(focus) >= distancia_minima)) then selfSay(frase98) -- ate mais focus = 0 estado=0 end end GOSTOU?? REP+ =)
  16. Rafaelgaspar postou uma resposta no tópico em Suporte Tibia OTServer
    http://www.mediafire.com/download/cvm4f5bfksxjbe2/PDA+Edited+by+Bolz.rar esse é bom.... se ajudei, REP+ =)
  17. entao.... ficou pouco claro... mas tenta colocar esse codigo no teu NPC: local frase='hi'-- aqui voce escolhe o que dizer para falr com NPC local distMin=4-- distancia minima para falar com NPC local itemid1=5001--ID do primeiro item local itemid2=5002--ID do segundo item local itemid3=5003--ID do terceiro item local itemid4=5004--ID do quarto item local itemid5=5005--ID do quinto item local itemidADD=5006--ID do item q vai ganhar function onCreatureSay(cid, tipo, msg) local msg = string.lower(msg) if msgcontains(msg, frase) and getDistanceToCreature(cid) <= distMin and getPlayerItemCount(cid, itemid1)>0 and getPlayerItemCount(cid, itemid2)>0 and getPlayerItemCount(cid, itemid3)>0 and getPlayerItemCount(cid, itemid4)>0 and getPlayerItemCount(cid, itemid5)>0 then doPlayerRemoveItem(cid, itemid1,1) doPlayerRemoveItem(cid, itemid2,1) doPlayerRemoveItem(cid, itemid3,1) doPlayerRemoveItem(cid, itemid4,1) doPlayerRemoveItem(cid, itemid5,1) doPlayerAddItem(cid, itemidADD,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ganhou o item: "..(getItemNameById(itemidADD))..".") return true end end lembra de colocar os valores corretos de ID para os itens q deseja remover e adicionar espero ter ajudado... SE GOSTOU, REP+ =)
  18. Rafaelgaspar postou uma resposta no tópico em Suporte Tibia OTServer
    entao cara... eu mexo num de poketibia, entao aqui vai o exemplo: 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", optionalLevel = 50, sex = SEX_MALE, nick = "Crusher", ball = "super"}, {name = "Lapras", optionalLevel = 50, sex = SEX_FEMALE, nick = "Laura", ball = "normal"}, {name = "Electabuzz", optionalLevel = 50, sex = SEX_MALE, nick = "Eletron", ball = "great"}, {name = "Pinsir", optionalLevel = 50, sex = SEX_MALE, nick = "Headcutter", ball = "normal"}, {name = "Dragonair", optionalLevel = 50, 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 addEvent(adjustWildPoke, 15, summon, it.optionalLevel) 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 if getCreatureOutfit(getCreatureSummons(challenger)[1]).lookType ~= 2 then --alterado v1.6 selfAttackCreature(getCreatureSummons(challenger)[1]) change = true afk_time = 0 end 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 Se voce reparar, no inicio do codigo vai encontrar isso aqui: "if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then" nesse caso ele quer q vc: diga "hi"/ ele nao esteja ocupado(focus=0) / e esteja proximo dele (dist<=4).... é só voce ADICIONAR MAIS UMA CONDIÇAO.. tipo assim: "if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 and getPlayerItemCount(cid, itemid)>0 then" essa funçao getPlayerItemCount(cid, itemid)>0 vai verificar se o player está carregando o item =)... aí é so vc colocar o valor do ITEM_id Infelizmente tive q dar exemplo com um codigo de poketibia, nao sei se vai te ajudar... se continuar com dificuldade, deixe aqui o codigo do seu NPC SE AJUDEI, REP+ =)
  19. fiz um aqui mano... "function onUse(cid, item, item2, frompos, topos, pos) local config = { ["Magic Plate Armor"] = {t1=2476,t2=2464,t3=2472}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO -- ["Dragon Scale Mail"] = {t1=2489,t2=2487,t3=2492}, ["Fireborn Giant Armor"] = {t1=8886,t2=2486,t3=8881}, } local r1 = {x = 966, y = 599, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 ) local r2 = {x = 968, y = 599, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 ) local r3 = {x = 967, y = 599, z = 6} -- Posição do Item a Ser Criado local q1 = getThingfromPos(r1) local q2 = getThingfromPos(r2) for i, x in pairs(config) do if (q1.itemid == x.t1 and q2.itemid == x.t2) or (q1.itemid == x.t2 and q2.itemid == x.t1) then doRemoveItem(q1.uid, 1) doRemoveItem(q2.uid, 1) if math.random(1,100) <= 50 then --aqui voce escolhe a chance addEvent(doCreateItem, 1000, x.t3, 1, r3) doSendMagicEffect(r3, 47) addEvent(doSendMagicEffect, 900, r3, 39) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "{ForgeSystem} Parabéns, você forjou um " .. i .. ".") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "{ForgeSystem} Falha, o item quebrou.") end break end end return true end" depois tenta ae... SE GOSTOU, REP+ =)
  20. Entao cara.... sou novo enao sei se seu topico está no lugar correto... mas aqui vai minha seguinte dica: 1 e 3- Como adicionar os ataques de m1 ate m12 de cada pokemon, e deixar ele forte? R: vai la onde vc falou, data/lib/configuration.lua... procura pela tabela "movestable", lá tem a descriçao dos moves de cada pokemon. Lá voce podeadicionar os moves de novos pokemons, ou editar os já existentes. Colei aqui em baixo o exemplo do Ivysaur " ["Ivysaur"] = {move1 = {name = "Quick Attack", level = 5, cd = 15, dist = 2, target = 1, f = 40, t = "normal"}, move2 = {name = "Razor Leaf", level = 12, cd = 10, dist = 4, target = 1, f = 33, t = "grass"}, move3 = {name = "Vine Whip", level = 19, cd = 20, dist = 1, target = 0, f = 65, t = "grass"}, move4 = {name = "Headbutt", level = 16, cd = 15, dist = 1, target = 1, f = 70, t = "normal"}, move5 = {name = "Leech Seed", level = 16, cd = 60, dist = 3, target = 1, f = 1, t = "grass"}, move6 = {name = "Bullet Seed", level = 28, cd = 35, dist = 1, target = 0, f = 95, t = "grass"}, move7 = {name = "Solar Beam", level = 31, cd = 60, dist = 1, target = 0, f = 135, t = "grass"}, move8 = {name = "Sleep Powder", level = 20, cd = 80, dist = 1, target = 0, f = 0, t = "normal"}, move9 = {name = "Stun Spore", level = 18, cd = 45, dist = 1, target = 0, f = 0, t = "normal"}, move10 = {name = "Poison Powder", level = 17, cd = 45, dist = 1, target = 0, f = 0, t = "normal"}, }," insira: nome_do_ataque/level_required para usar o ataque/cd(tempo para usar o ataque de novo)/dist=distancia minima para usar o ataque/target, qndo igual a 1 é pq o vc TEM q selecionar um alvo pra usar o ataque/ f= FORÇA DO ATAQUE(aqui vc pode aumentar a força de um ataque de algum pokemon)/t= type do ataque... se é do tipo ghost,fire,water,etc... 2- como faço pra dar catch no pokemon??? R: vai nesse mesmo arquivo data/lib/configuration.lua la voce vai encontrar outra table "pokecatches" vou colocar novamente o exemplo do ivysaur: ["Ivysaur"] = {chance = 100, corpse = 5982}, voce colaca o nome do pokemon/chance= quanto maior, mais dificil de pegar (para mais detalhes da "formula do catch entre em data/lib/catch system.lua)/corpse=ID da sprite do pokemon morto.... era isso mesmo que voce tava querendo saber? se ajudei, REP+ =)

Informação Importante

Confirmação de Termo