Ir para conteúdo

SkyLigh

Lorde
  • Total de itens

    2183
  • Registro em

  • Última visita

  • Dias Ganhos

    23

Tudo que SkyLigh postou

  1. o player tem que ser lvl 250 cravado ou acima de 250 ou abaixo de 250?
  2. SkyLigh

    [BUG] Erro no rme

    colocou o items.xml?
  3. fora isso o script é totalmente original? se possível me passe a storage da sua vip
  4. fiz um teste rápido aqui, desloguei na área não ocorreu nenhum bug, sobre o true eu já sabia disso mais acho mais estiloso em maiúsculo rs. só que tem umas coisas que não entendi que foram as seguintes : Coloque a função do lado de fora da callback Se um player ocupa o espaço que ele tava quando desloga e quando ele loga for movido para uma area que não teja o uniqueid ele vai fica se healando infinitamente sem precisa ta na area além de da erro quando ele desloga. vlw
  5. espere 24 horas depois da criação do tópico antes de dar um @up
  6. Fala galera tudo bem? Estou com um script muito útil e espero que vocês curtam. O que ele faz? É um piso que se você ficar em cima ele vai healando sua life e sua mana com valores editáveis a sua escolha. Vá em data/moveevents/scripts/ e adicione um arquivo.lua chamado healplayer.lua e cole o seguinte código dentro : function onStepIn(cid, item, position, lastPosition, fromPosition) local level = 100 -- Até que level pode healar function doHealPlayer(cid) local delay = 4 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo) local mana = 25 -- quanto de mana vai ser adicionado local vida = 25 -- quanto de health vai ser adicionado if getPlayerStorageValue(cid, 98910) == 1 then doCreatureAddHealth(cid, mana) doPlayerAddMana(cid,vida) addEvent(doHealPlayer, delay*1000, cid) doCreatureSay(cid, "Ai que delicia", TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid),13) end return TRUE end if getPlayerLevel(cid) >= level then doPlayerSendCancel(cid,"Você já é acima do level ".. level .."") else setPlayerStorageValue(cid, 98910, 1) doHealPlayer(cid) end function onStepOut(cid, item, position, lastPosition, fromPosition) setPlayerStorageValue(cid, 98910, -2) end end Agora em moveevents.xml adicione as seguintes tags : <movevent type="StepIn" uniqueid="25641" event="script" value="healplayer.lua"/> <movevent type="StepOut" uniqueid="25641" event="script" value="healplayer.lua"/> Apos isso é só colocar a uniqueid no piso pelo RME e pronto.
  7. Foda simplesmente foda
  8. explicar um pouco melhor ta meio confuso
  9. Qual a modificação que fizeram no script ?
  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
  11. --[[ 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
  12. Quando eu por o exhaust eu removo e obrigado pela dica
  13. Fala galera tudo bem? Estou com um script muito legal e espero que vocês curtam, o que ele faz? Ele sorteia outifts de acordo com as newtype que você escolher, e com isso o player vai pode ficar com outifts diferentes e etc... Vá em data/talkactions/scripts e crie um arquivo.lua chamado outfitso.lua e adicione o seguinte código dentro. local monstros = { 21, -- ID DA OUTFIT 35, -- ID DA OUTFIT 300, -- ID DA OUTFIT 330, -- ID DA OUTFIT 127, -- ID DA OUTFIT 255, -- ID DA OUTFIT 254, -- ID DA OUTFIT 253 -- ID DA OUTFIT } local config = { sto = 62012, -- não mexa price = 100000 -- quanto vai custar } -- [[ não mexa ]] function onSay(cid, words, param) local rand = math.random(1, #monstros) if doPlayerRemoveMoney(cid, config.price) then local tmp = getCreatureOutfit(cid) tmp.lookType = monstros[rand] doCreatureChangeOutfit(cid, tmp) doSendMagicEffect(getCreaturePosition(cid), 26) else doPlayerSendCancel(cid, 'Voce nao tem dinheiro suficiente') doSendMagicEffect(getCreaturePosition(cid), 2) end return true end Agora vá em talkactions.xml <talkaction words="!outift" script="outiftso.lua" /> E pronto o comando vai estar funcionando normalmente em seu servidor. Créditos -- Pela criação -- Por me ajudar com os bugs
  14. SkyLigh

    RME NÃO ABRE

    não consigo importar ele fica dando o seguinte erro Should only contain ASCII characters. Já alterei o nome dele e não funcionou continuou o mesmo erro na hora de importar Infelizmente tive que refazer tudo mesmo assim obg a todos que tentaram ajudar. Movido para resolvidos
  15. SkyLigh

    Piso novo.

    mais se o player virar pro leste,sul e etc... também remove?
  16. SkyLigh

    RME NÃO ABRE

    já tentei todas essas soluções o problema é com o meu mapa eu acho, eu consigo abrir outros mapas e etc... ontem o meu mapa abria normalmente mais hoje fui editar o resto e não consegui
  17. Abra o rme e aperta CTRL + T Apos isso vá em Temple Position e ponha a nova coordenada
  18. SkyLigh

    RME NÃO ABRE

    Olá estou com um problema no meu mapa quando eu o abro ele trava e fica dando, Remeres Map Editor não está respondendo. E trava no 44% ontem eu abri normalmente mais hoje quando fui abrir deu o problema, alguém sabe por que?
  19. se quiser que envie pra todos online e offline utilize function onSay(cid, words, param) local t = param:explode(", ") local pid = getPlayerByName(t[1]) local players = getPlayersOnline() for i=1, #players do if isPlayer(players[i]) then return true end doSetItemText(doPlayerAddItem(pid, 2597), t[2] or "Nothing.") end return true end não testei mais creio vá funcionar.
  20. SkyLigh

    Bug

    Movido para resolvidos.
  21. Movido para resolvidos.
  22. Fala galera tava sem nada pra fazer e sem net, e foi quando tive uma ideia de um comando de comprar exp parece meio sem sentido mais se você utiliza donate em seu servidor pode ser útil. Vá em data/talkactions/scripts e crie um arquivo.lua chamada buyexp.lua apos isso cole o seguinte código dentro : local config = { item = 2157, --- ID DO ITEM QUE SERA REMOVIDO count = 10, --- QUANTIA DO ITEM QUE SERA REMOVIDO exp = 1000, --- QUANTIA DE EXP QUE VAI SER ADICIONADA efeito = 61 --- ID DO EFEITO AO COMPRAR EXP } function onSay(cid, words, param) if doPlayerRemoveItem(cid,config.item,config.count) == TRUE then doPlayerAddExp(cid, config.exp) doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você recebeu ".. config.exp .." de exp") doSendMagicEffect(getCreaturePosition(cid), config.efeito) else doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Desculpe você não tem ".. config.count .." moedas donate para comprar exp") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return true end Apos isso vá em talkactions.xml e adicione a seguinte tag : <talkaction words="!buyexp" event="script" value="buyexp.lua"/> Apos isso seu sistema de comprar exp vai está instalado. Créditos :
  23. SkyLigh

    RME lento

    é a melhor solução
  • Quem Está Navegando   0 membros estão online

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