SkyLigh
Lorde-
Total de itens
2183 -
Registro em
-
Última visita
-
Dias Ganhos
23
Tudo que SkyLigh postou
-
você já tem o script e só quer que mexa na storage ?
-
rateLoot = 10 . Tente trocar o <loot> do seu pokemon para: <item id="2160" countmax="10" chance="100"/> Deixe apenas uma TAG e verifique se está fechado corretamente, salve e teste. . . Caso o erro persistir, verifique o "CreatureScripts" ou algo do gênero que seja do tema "Loot" e nos envie.
-
edita esse tópico ai que e rever o que você escreveu antes de ctrl c + ctrl v de outro fórum.
-
Movido para resolvidos
-
sim mais aquilo ali faz parte pra talk dele vai ser aquela fala não sei se funciona por que não cheguei a testar
-
vá em data/talkactions/scripts/ crie um arquivo.lua e renomeie para teleport250 e adicione o seguinte código dentro : function onSay(cid, words, param) local lugar = {x=491, y=390, z=7} --- Coordenadas da posição para ser teleportado local level = 250 --- lvl para teleportar local battle = true --- se vai precisar esta sem battle para teleportar (true) para sim e (false) para não ------------------- não mexa if battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == true then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.) return true end if getPlayerLevel(cid) == level then doTeleportThing(cid, lugar) doPlayerSendTextMessage(cid, 22, "Você foi teleportado") else doPlayerSendTextMessage(cid, 22, "Você não é lvl 250") end return true end agora em data/talkactions/talkactions.xml coloque esta tag lá <talkaction words="h"phenac" script="teleport250.lua"/>
-
o player tem que ser lvl 250 cravado ou acima de 250 ou abaixo de 250?
-
colocou o items.xml?
-
fora isso o script é totalmente original? se possível me passe a storage da sua vip
-
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
-
8.x Serpent Island (Dragon + Serpent spawn + Medusa)
tópico respondeu ao Administrador de SkyLigh em Mapas
Ficou maneiro parabéns -
espere 24 horas depois da criação do tópico antes de dar um @up
-
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.
-
Foda simplesmente foda
-
explicar um pouco melhor ta meio confuso
-
Qual a modificação que fizeram no script ?
-
--[[ 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
-
--[[ 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
-
Quando eu por o exhaust eu removo e obrigado pela dica
-
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
-
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
-
mais se o player virar pro leste,sul e etc... também remove?
-
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
-
Abra o rme e aperta CTRL + T Apos isso vá em Temple Position e ponha a nova coordenada
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.