Ir para conteúdo

SkyLigh

Lorde
  • Total de itens

    2183
  • Registro em

  • Última visita

  • Dias Ganhos

    23

Tudo que SkyLigh postou

  1. Vindo de um dlc como você o projeto vai ficar d+.
  2. só colocar if item.itemid == ID DA POKEBOLA and isPremium(cid) == false then return doPlayerSendCancel(cid, "Você precisa ser premium para utilizar.") end
  3. SkyLigh

    Loot monstro

    Movido para seção de resolvidos.
  4. SkyLigh

    magia mega scizor

    Movido para seção de resolvidos.
  5. SkyLigh

    Erro em script

    Na function da talk estava function onSay(cid, words, param) Alterei para function onSay(cid, words, param, HPperVITsummon)
  6. Movido para seção de resolvidos.
  7. SkyLigh

    Erro em script

    local maxSlots = 3 --Quantia máxima de slots. function getDittoSlots(item) if not item or item < 1 then return false elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then return false end local slots = {} for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) if attr then slots = attr end end return slots end function hasDittoSavedPokemon(item, name) if not item or item < 1 then return false elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then return false end local check for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) if attr and attr == name then check = true break end end return check end function onSay(cid, words, param, HPperVITsummon) local item = getPlayerSlotItem(cid, 8).uid if item < 1 then doPlayerSendCancel(cid, "Coloque uma pokeball no slot pokeball.") elseif getItemAttribute(item, "poke") ~= "Ditto" then doPlayerSendCancel(cid, "Coloque uma pokeball com um Ditto no slot pokeball.") elseif param == "" then doPlayerSendCancel(cid, "Especifique um param.") else param = param:lower() if param == "check" then local str = "" for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) or "No memory" if str == "" then str = i.." - "..attr else str = str.."\n"..i.." - "..attr end end doPlayerPopupFYI(cid, "Ditto Memory:\n"..str.."") elseif param:find("forget") then local slot = tonumber(param:match("forget (.+)")) if slot and slot <= maxSlots and slot > 0 then if getDittoSlots(item)[slot] then doItemSetAttribute(item, "memory"..slot, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Slot "..slot.." deletado.") else doPlayerSendCancel(cid, "Este slot está vazio.") end else doPlayerSendCancel(cid, "Slot inválido.") end else local summons = getCreatureSummons(cid) if #summons == 0 then doPlayerSendCancel(cid, "Você não tem nenhum pokemon fora do pokeball.") else if param:find("save") then local transformedPoke = getItemAttribute(item, "transName") if transformedPoke and type(transformedPoke) == "string" then local slot = tonumber(param:match("save (.+)")) if slot and slot <= maxSlots and slot > 0 then if not getDittoSlots(item)[slot] and not hasDittoSavedPokemon(item, transformedPoke) then doItemSetAttribute(item, "memory"..slot, transformedPoke) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Você salvou um "..transformedPoke.." no slot "..slot..".") else doPlayerSendCancel(cid, "Este slot não está vazio ou o seu Ditto já tem esse pokemon salvo em sua memória.") end else doPlayerSendCancel(cid, "Slot inválido.") end else doPlayerSendCancel(cid, "Seu Ditto não está transformado em outro pokemon.") end else local slot = tonumber(param) local transformPoke = getDittoSlots(item)[slot] if not slot then doPlayerSendCancel(cid, "param inválido.") elseif slot <= 0 or slot > maxSlots then doPlayerSendCancel(cid, "Use um slot válido.") elseif not transformPoke then doPlayerSendCancel(cid, "Este slot está vazio.") elseif getPlayerStorageValue(summons[1], 1010) == transformPoke then doPlayerSendCancel(cid, "Seu Ditto já está transformado neste pokemon.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Usando o slot "..slot..", seu Ditto é transformado em um "..transformPoke..".") setPlayerStorageValue(summons[1], 1010, transformPoke) doSetCreatureOutfit(summons[1], {lookType = getPokemonXMLOutfit(transformPoke)}, -1) doSendMagicEffect(getThingPos(summons[1]), 184) doCreatureSay(summons[1], "TRANSFORM!", TALKTYPE_MONSTER) doItemSetAttribute(item, "transName", transformPoke) doItemSetAttribute(item, "transOutfit", getPokemonXMLOutfit(transformPoke)) if useKpdoDlls then doUpdateMoves(cid) end if dittoCopiesStatusToo then setPlayerStorageValue(summons[1], 1001, dittoBonus * pokes[transformPoke].offense * getPlayerLevel(cid)) setPlayerStorageValue(summons[1], 1002, dittoBonus * pokes[transformPoke].defense) setPlayerStorageValue(summons[1], 1003, pokes[transformPoke].agility) setPlayerStorageValue(summons[1], 1004, dittoBonus * pokes[transformPoke].vitality * getPlayerLevel(cid)) setPlayerStorageValue(summons[1], 1005, dittoBonus * pokes[transformPoke].specialattack * getPlayerLevel(cid)) local pct = getCreatureHealth(summons[1]) / getCreatureMaxHealth(summons[1]) local vit = getVitality(summons[1]) * getPlayerLevel(cid) / 100 setCreatureMaxHealth(summons[1], vit * HPperVITsummon) doCreatureAddHealth(summons[1], pct * vit * HPperVITsummon) end end end end end end return true end
  8. tag pro login registerCreatureEvent(cid, "deathEffect")
  9. SkyLigh

    Erro em script

    local maxSlots = 3 --Quantia máxima de slots. function getDittoSlots(item) if not item or item < 1 then return false elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then return false end local slots = {} for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) if attr then slots = attr end end return slots end function hasDittoSavedPokemon(item, name) if not item or item < 1 then return false elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then return false end local check for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) if attr and attr == name then check = true break end end return check end function onSay(cid, words, param) local item = getPlayerSlotItem(cid, 8).uid if item < 1 then doPlayerSendCancel(cid, "Coloque uma pokeball no slot pokeball.") elseif getItemAttribute(item, "poke") ~= "Ditto" then doPlayerSendCancel(cid, "Coloque uma pokeball com um Ditto no slot pokeball.") elseif param == "" then doPlayerSendCancel(cid, "Especifique um param.") else param = param:lower() if param == "check" then local str = "" for i = 1, maxSlots do local attr = getItemAttribute(item, "memory"..i) or "No memory" if str == "" then str = i.." - "..attr else str = str.."\n"..i.." - "..attr end end doPlayerPopupFYI(cid, "Ditto Memory:\n"..str.."") elseif param:find("forget") then local slot = tonumber(param:match("forget (.+)")) if slot and slot <= maxSlots and slot > 0 then if getDittoSlots(item)[slot] then doItemSetAttribute(item, "memory"..slot, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Slot "..slot.." deletado.") else doPlayerSendCancel(cid, "Este slot está vazio.") end else doPlayerSendCancel(cid, "Slot inválido.") end else local summons = getCreatureSummons(cid) if #summons == 0 then doPlayerSendCancel(cid, "Você não tem nenhum pokemon fora do pokeball.") else if param:find("save") then local transformedPoke = getItemAttribute(item, "transName") if transformedPoke and type(transformedPoke) == "string" then local slot = tonumber(param:match("save (.+)")) if slot and slot <= maxSlots and slot > 0 then if not getDittoSlots(item)[slot] and not hasDittoSavedPokemon(item, transformedPoke) then doItemSetAttribute(item, "memory"..slot, transformedPoke) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Você salvou um "..transformedPoke.." no slot "..slot..".") else doPlayerSendCancel(cid, "Este slot não está vazio ou o seu Ditto já tem esse pokemon salvo em sua memória.") end else doPlayerSendCancel(cid, "Slot inválido.") end else doPlayerSendCancel(cid, "Seu Ditto não está transformado em outro pokemon.") end else local slot = tonumber(param) local transformPoke = getDittoSlots(item)[slot] if not slot then doPlayerSendCancel(cid, "param inválido.") elseif slot <= 0 or slot > maxSlots then doPlayerSendCancel(cid, "Use um slot válido.") elseif not transformPoke then doPlayerSendCancel(cid, "Este slot está vazio.") elseif getPlayerStorageValue(summons[1], 1010) == transformPoke then doPlayerSendCancel(cid, "Seu Ditto já está transformado neste pokemon.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Usando o slot "..slot..", seu Ditto é transformado em um "..transformPoke..".") setPlayerStorageValue(summons[1], 1010, transformPoke) doSetCreatureOutfit(summons[1], {lookType = getPokemonXMLOutfit(transformPoke)}, -1) doSendMagicEffect(getThingPos(summons[1]), 184) doCreatureSay(summons[1], "TRANSFORM!", TALKTYPE_MONSTER) doItemSetAttribute(item, "transName", transformPoke) doItemSetAttribute(item, "transOutfit", getPokemonXMLOutfit(transformPoke)) if useKpdoDlls then doUpdateMoves(cid) end if dittoCopiesStatusToo then setPlayerStorageValue(summons[1], 1001, dittoBonus * pokes[transformPoke].offense * getPlayerLevel(cid)) setPlayerStorageValue(summons[1], 1002, dittoBonus * pokes[transformPoke].defense) setPlayerStorageValue(summons[1], 1003, pokes[transformPoke].agility) setPlayerStorageValue(summons[1], 1004, dittoBonus * pokes[transformPoke].vitality * getPlayerLevel(cid)) setPlayerStorageValue(summons[1], 1005, dittoBonus * pokes[transformPoke].specialattack * getPlayerLevel(cid)) local pct = getCreatureHealth(summons[1]) / getCreatureMaxHealth(summons[1]) local vit = getVitality(summons[1]) * getPlayerLevel(cid) setCreatureMaxHealth(summons[1], vit * HPperVITsummon) doCreatureAddHealth(summons[1], pct * vit * HPperVITsummon) end end end end end end return true end
  10. --[[ PERFECT UPGRADE SYSTEM 2.0 Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- UpgradeHandler = { levels = { [1] = {90, false, false}, [2] = {80, false, false}, [3] = {70, false, false}, [4] = {60, true, false}, [5] = {40, true, true} }, broadcast = 8, attributes = { ["attack"] = 1, ["defense"] = 1, ["armor"] = 1 }, message = { console = "Trying to refine %s to level +%s with %s%% success rate.", success = "You have upgraded %s to level +%s", fail = "You have failed in upgrade of %s to level +%s", downgrade = "The upgrade level of %s has downgraded to +%s", erase = "The upgrade level of %s has been erased.", maxlevel = "The targeted %s is already on max upgrade level.", notupgradeable = "This item is not upgradeable.", broadcast = "The player %s was successful in upgrading %s to level +%s.\nCongratulations!!", invalidtool = "This is not a valid upgrade tool.", toolrange = "This upgrade tool can only be used in items with level between +%s and +%s" }, tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, [8300] = {range = {0, 10}, info = {chance = 0, removeable = true}} }, isEquipment = function(self) local weaponType = self:getItemWeaponType() return ((weaponType > 0 and weaponType < 7) or self.item.armor ~= 0) end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local chances = {} chances.upgrade = (self.levels[self.item.level + 1][1] or 100) chances.downgrade = (self.item.level * 5) chances.erase = (self.item.level * 3) return chances end } function UpgradeHandler:new(item) local obj, ret = {} obj.item = {} obj.item.level = 0 obj.item.uid = item.uid for key, value in pairs(getItemInfo(item.itemid)) do obj.item[key] = value end ret = setmetatable(obj, {__index = function(self, index) if _G[index] then return (setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end})) else return UpgradeHandler[index] end end}) if ret:isEquipment() then ret:update() return ret end return false end function UpgradeHandler:update() self.item.level = (tonumber(self:getItemName():match("%+(%d+)")) or 0) end function UpgradeHandler:refine(uid, item) if not self.item then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.notupgradeable) return "miss" end local tool = self.tools[item.itemid] if(tool == nil) then doPlayerSendTextMessage(uid, MESSAGE_EVENT_DEFAULT, self.message.invalidtool) return "miss" end if(self.item.level > #self.levels) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.maxlevel:format(self.item.name)) return "miss" end if(self.item.level < tool.range[1] or self.item.level >= tool.range[2]) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.toolrange:format(unpack(tool.range))) return "miss" end local chance = (self:chance().upgrade + tool.info.chance) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.console:format(self.item.name, (self.item.level + 1), math.min(100, chance))) if(tool.info.removeable == true) then doRemoveItem(item.uid, 1) end if chance * 100 > math.random(1, 10000) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_ORANGE, self.message.success:format(self.item.name, (self.item.level + 1))) if (self.item.level + 1) >= self.broadcast then doBroadcastMessage(self.message.broadcast:format(getCreatureName(uid), self.item.name, (self.item.level + 1))) end self:setItemName((self.item.level > 0 and self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1)) or (self:getItemName() .." +1"))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end return "success" else if item.itemid == 8300 then if self.item.level > 0 then self:setItemName(self:getItemName():gsub("%+(%d+)", "")) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, getItemAttribute(self.item.uid, key) - self.item.level * value) end end end else doRemoveItem(self.item.uid, 1) end doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, item.itemid == 8300 and "Your item level has been reseted." or "You have broken your item while trying to upgrade it.") end end acho que agora vai
  11. local Config = { Monsters = { -- ["Name"] = {amount = quantidade} ["Demon"] = {amount = 5}, ["Hydra"] = {amount = 10}, }, StoragePro = 54661, -- Não mexer se não souber editar Money = 100 -- Dinheiro } function onKill(cid, target) if not isMonster(target) and getPlayerStorageValue(cid, Config.StoragePro) >= (2 + #Config.StoragePro) then return false end local monster = Config.Monsters[getCreatureName(target):lower] if monster then local sto = getPlayerStorageValue(cid, monster) if sto < (monster.amount - 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Task message: [" .. (sto + 1) .. "/" .. monster.amount .. "] of " .. getCreatureName(target) .. ".") setPlayerStorageValue(cid, monster, (sto + 1)) elseif sto == (monster.amount - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations!! you have killed" .. (sto + 1) .. "/" .. monster.amount .. "] of " .. getCreatureName(target) .. "s ands and completed the task.") setPlayerStorageValue(cid, monster, (sto + 1)) setPlayerStorageValue(cid, Config.StoragePro, (getPlayerStorageValue(cid, Config.StoragePro) + 1)) end end return true end function onLogin(cid) registerCreatureEvent('taskNpc') return true end não se esqueça em registra o script no login.lua
  12. local config = { --["monster_name"] = effect, ["Dragon"] = 28, ["Orc"] = 13, --etc } function onDeath(cid) local effect = config[getCreatureName(cid)] if effect then doSendMagicEffect(getThingfromPos(cid), effect) end return true end
  13. Sim copie e cole seu ot lá, apos isso baixe o no-ip logue com sua conta, ative seus hosts e configura o ip no config.lua apos isso, só abrir a distro que o servidor vai estar online, mais em alguns vps o firewall não vem liberado tente fazer o que eu disse acima e caso você não consiga acessar o ot volte aqui, que lhe ensino a liberar as portas do firewall.
  14. pode postar o código em codes diferentes ta tudo confuso, não dá pra entender nada
  15. não testei ainda mais veja se vai funcionar OBS : Vai ser 1 script por vocation. local leveis = { [1] = {lvl = 30, item = 2160, quant = 100, sto = 001}, } function onAdvance(cid, skill, oldLevel, newLevel) local vocation = 4 --- ID DA VOCATION local level = getPlayerLevel(cid) if getPlayerVocation(cid) == vocation then for i = 1, #leveis do if level >= leveis[i].lvl and getPlayerStorageValue(cid, leveis[i].sto) <= 0 then doPlayerAddItem(cid, leveis[i].item, leveis[i].quant) setPlayerStorageValue(cid, leveis[i].sto, 1) doPlayerSendTextMessage(cid, 22, "Você upou level "..level.." ou mais, e ganhou "..leveis[i].quant..", "..getItemNameById(leveis[i].item).."!") end end return true end end só trocar o seu script atual por esse
  16. SkyLigh

    BVB Assinatura

    Uma simples edição que fiz em um bg do BVB, Espero que gostem. Antes Depois Espero que gostem;
  17. SkyLigh

    Level do fishing

    Não funcionou? isso é impossível eu acho como não é possível alterar, já tentou colocar o código novo que enviei?
  18. SkyLigh

    Level do fishing

    Creio que não, mais acabou que decidi e removi logo as funções que havia. local fishing = { ["Magikarp"] = {skill = 0, level = -2}, --["Qwilfish"] = {skill = 18, level = 3}, --["Remoraid"] = {skill = 16, level = 2}, ["Staryu"] = {skill = 22, level = 6}, ["Tentacool"] = {skill = 20, level = 7}, ["Goldeen"] = {skill = 17, level = 5}, ["Krabby"] = {skill = 14, level = 2}, ["Horsea"] = {skill = 16, level = 3}, ["Poliwag"] = {skill = 15, level = 2}, --["Marill"] = {skill = 21, level = 3}, --["Azumarill"] = {skill = 37, level = 16}, ["Kingler"] = {skill = 35, level = 14}, ["Seaking"] = {skill = 28, level = 11}, ["Starmie"] = {skill = 49, level = 20}, --["Chinchou"] = {skill = 23, level = 6}, ["Poliwhirl"] = {skill = 27, level = 9}, ["Seadra"] = {skill = 41, level = 15}, --["Lanturn"] = {skill = 38, level = 14}, --["Octillery"] = {skill = 30, level = 9}, --["Corsola"] = {skill = 46, level = 16}, } local storage = 15458 local bonus = 1 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local level = 1 local fishes = {} local randomfish = "" for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then doPlayerAddSkillTry(cid, 6, bonus) randomfish = fishes[math.random(#fishes)] level = getPlayerSkillLevel(cid, 6) / 3 level = level + getPlayerLevel(cid) / 5 level = math.random(level * 0.6, level) level = level + fishing[randomfish].level peixe = doSummonCreature(randomfish, playerpos) if level <= 0 then level = math.random(getPlayerLevel(cid)) end if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end setWildPokemonLevel(peixe, level) doSetMonsterPassive(peixe) doWildAttackPlayer(peixe, cid) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end local checkPos = toPos checkPos.stackpos = 0 if getTileThingByPos(checkPos).itemid <= 0 then doPlayerSendCancel(cid, '!') return true end if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then doPlayerSendCancel(cid, "Você não pode pescar enquanto está surfando ou voando.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "Você não pode pescar enquanto estiver surfando ou voando acima da água.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "Você não pode pescar pokémons se você ou seu pokémon está em zona de protecção.") return true end if not tonumber(getPlayerStorageValue(cid, storage)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, storage, 1) end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then setPlayerStorageValue(cid, storage, 1) end local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end
  19. Já utilizei servercore e recomendo, tem um bom suporte não houve nenhum problema com as maquinas que já obtive, já na lgv não posso afirmar nada mais também vejo muita gente elogiando ela.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...