Tudo que Schulzinho postou
-
Pedido [Ferreiro]
import br.Furbot.* import Numero public static void main (String[] args) { Numero num = null; int soma = 0; while(ehVazio(DIREITA) && !ehFim(DIREITA)){ if(getObjeto(Direita) != null){ num = getObjeto(DIREITA); soma = soma + num; } andarDireita(); } System.out.print("O resultado é de " + soma ); }
-
[Resolvido] ITEM QUE EQUIPA SET TODO E MUDA OUTFFIT.
Uma dúvida, você quer que ganhe uma outffit nova e mude para a mesma ou que apenas mude para outra ja existente?
-
Como coloco quando matar um monstro abrir um portal?
- Anti-Divulgação não permite efetuar comando
Eu precisava do sistema de anti divulgação, o de reset não interfere em nada- Anti-Divulgação não permite efetuar comando
Manda o script do sistema de divulgação- Como coloco quando matar um monstro abrir um portal?
É um script, ele já deve existir aqui no server Só dar uma procurada- X item que teleporta c/tempo.
Mas o item ja some doRemoveItem(item.uid, 1)- X item que teleporta c/tempo.
function onUse(cid, item, fromPosition, itemEx, toPosition) local tempo = 900 -- 9s local storage = 23585 local cidade = getPlayerTown(cid) local pos = getTownTemplePosition(cidade) if getCreatureCondition(cid, CONDITION_INFIGHT) == CONDITION_INFIGHT then return true end if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Mensagem dizendo ao player que ele tem que esperar") return true end doTeleportThing(cid,pos) exhaustion.set(cid, storage, tempo) doSendMagicEffect(getPlayerPosition(cid),53) doRemoveItem(item.uid, 1) return true end- Private Área System
- Colocar Exhaustion em Double Exp Potion
function onUse(cid, item, frompos, item2, topos) local tempo = 14400000 -- 4 horas local storage = 24896 local pausa = 60*60*1000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Sua experience agora está em dobro durante 60 minutos. Perde o efeito se deslogar ou morrer!" -- Texto que irá receber ao usar a potion. local exp = 2 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server. expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. if getPlayerStorageValue(cid, storage) == 1 then doPlayerSendTextMessage(cid,22,Você ja utilizou o exp boost, espere 4 horas para utilizar novamente) return true end if item.itemid == 7443 then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) doPlayerSendTextMessage(cid,22,texto) setPlayerStorageValue(cid, storage, 1) addEvent(potion,pausa,cid) addEvent(useagain,tempo,storage) end end function potion(pos, cid) doPlayerSetExperienceRate(pos,expfinal) end function useagain(storage) setPlayerStorageValue(cid, storage, 0) end Não testei mas acredito que funcione- Private Área System
- Private Área System
O que esse sistema faz? R:Ele teleporta um player que "usou" uma alavanca para determinado local. Porém ele identifica se o player tem o money necessário e se há mais alguém dentro da área. Após ele entrar, o player ficara tempo X determinado la dentro antes que seja teleportado para fora novamente. Mas onde o script pode ser usado? R:Pode ser usado para quests, sistemas de hunting privados, entre outros. Em Actions/Scripts, coloque: privatesystem.lua -- Private Área System, Feito por Schulzinho function getPlayersInArea(fromPos, toPos) -- function by amoeba13 playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x=x, y=y, z=z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end local CONFIGS = { [8939] = {tempo = 60000, posArena1 = {x = 1032, y = 978, z = 6}, posArena2 = {x = 1040, y = 983, z = 6}, posEntrada = {x = 1032, y = 981, z = 6}, posSaida = {x = 1032, y = 991, z = 6}, coins = 10000}, [8940] = {tempo = 60000, posArena1 = {x = 1032, y = 978, z = 6}, posArena2 = {x = 1040, y = 983, z = 6}, posEntrada = {x = 1025, y = 981, z = 6}, posSaida = {x = 1032, y = 991, z = 6}, coins = 10000}, } function onUse(cid, item, fromPosition, itemEx, toPosition) local config = CONFIGS[item.actionid] local area = getPlayersInArea(config.posArena1, config.posArena2) if area then for i = 1, (#area) do doPlayerSendCancel(cid, "Você Não pode entrar no momento") return true end end if doPlayerRemoveMoney(cid, config.coins) == FALSE then doPlayerSendCancel(cid, 'You don\'t have enough money.') return true end doTeleportThing(cid, config.posEntrada, true) addEvent(function() doTeleportThing(cid, config.posSaida, true) end, config.tempo) end Em Actions.xml Coloque: <action actionid="8939;8940" event="script" value="privatesystem.lua"/> Configure seguindo o exemplo da imagem: [8939] -- Actionid tempo (60000 = 60 segundos) -- Tempo para sair após entrar na area privada posArena1 -- Primeira posição para determinar a área posArena2 -- Segunda posição para determinar a área posEntrada -- Posição que o player ira ser teleportado para dentro da área posSaida -- Posição que o player sera teleportado após acabar o tempo- USAR O ITEMS QUANTAS VEZES QUISER
Pode usar esse reduzido, funciona da mesma forma: -- Script By: Abreu -- local exp2 = 50000000 -- Exp ganha ao usar function onUse(cid, item, frompos, topos) doPlayerAddExp(cid, exp2) doRemoveItem(item.uid, 1) doPlayerPopupFYI(cid, 'Você ganhou 50.000.000 de EXP') return true end- Recompensa por morte
Ele detecta o ultimo player acima do level determinado que matou no server, e da um premio a quem matar ele que é calculado baseado no nivel do player que esta hunted.- Recompensa por morte
Tenho esse sistema de Hunted que veio junto com server do baiak 8.60 master. Creditos: Romulo Souza Hunted.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Hunted System" version="1.0" author="Romulo Souza" contact="[email protected]" enabled="yes"> <description> </description> <config name="config_hunted"><![CDATA[ --// configuracoes Basicas hunted_min_level = 150 -- Level minimo. hunted_premio = 1000 -- * (vezes) o level do player que sera morto --//// configuracoes Avancadas hunted_storage = 62363 --///////////////////////////// ]]></config> <!-- ////////////////////////////////////////////////////////////////// --> <!-- /////////////Configure o abaixo em Interval ( em segundos )/////// --> <!-- ////////////////////////////////////////////////////////////////// --> <globalevent name="hunted" interval= "1000000" event="script"><![CDATA[ function onThink(interval, lastExecution, thinkInterval) domodlib("config_hunted") local query = db.getResult("Select * FROM `players` WHERE `level` > ".. hunted_min_level .." and `online`=1 and `group_id` < 2 ORDER BY `level` DESC;") if query:getID() ~= -1 then local name = query:getDataString("name") if isPlayerOnline(name) then local pid = getCreatureByName(name) local premio_ = getPlayerLevel(pid) * hunted_premio doBroadcastMessage("Extra Extra! The most Wanted of the World is \""..name.."\", and if you kill he, The king pay for you ".. premio_/1000 .." k !") setGlobalStorageValue(hunted_storage, getPlayerGUID(pid) ) end end return TRUE end function isPlayerOnline(name) players=getPlayersOnline() for _,pid in ipairs(players) do if getCreatureName(pid):lower() == name:lower() then return true end end return false end ]]></globalevent> <event type = "kill" name ="kill_hunted" event = "script"><![CDATA[ function onKill(cid, target, lastHit) domodlib("config_hunted") if isPlayer(target) then if getGlobalStorageValue(hunted_storage) == getPlayerGUID(target) then -- se passar, ele ganhou. local hunted_premio_ = getPlayerLevel(target)*hunted_premio doPlayerAddMoney(cid,hunted_premio_) doBroadcastMessage("The king pay to \"".. getCreatureName(cid) .."\" ".. hunted_premio_/1000 .." k for the head of \" ".. getCreatureName(target)..".") setGlobalStorageValue(hunted_storage, -1) end end return TRUE end ]]></event> <event type ="login" name="login_hunted" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "kill_hunted") return TRUE end ]]></event> </mod>- (Resolvido)[RESOLVIDO] Item que sumona
Ja descobri o problema haha. Bom uso- (Resolvido)[RESOLVIDO] Item que sumona
O Exaustion ta funcionando ai? Acabei de testar no meu e não esta '-'- (Resolvido)[RESOLVIDO] Item que sumona
itemsummon.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local tempo = 900 -- Tempo para usar novamente (em segundos) local storage = 23574 -- storage pra verificar se o player já pode usar novamente if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Mensagem dizendo ao player que ele tem que esperar") return true end exhaustion.set(cid, storage, tempo) local func = doCreateMonster local position = getCreaturePosition(cid) local effect = CONST_ME_MAGIC_RED local creature = "Rat" -- Nome da criatura a ser summonada local ret = func(creature, position, false) if(tonumber(ret) == nil) then effect = CONST_ME_POFF doPlayerSendDefaultCancel(cid, (ret == false and RETURNVALUE_NOTPOSSIBLE or RETURNVALUE_NOTENOUGHROOM)) end doSendMagicEffect(position, effect) return true end Actions.xml <action itemid="xxxx" script="itemsummon.lua" />- revive em batalha
local storage = 121212 --storage da quest function getTileZoneInfo(pos) local tmp = getTileInfo(pos) if(tmp.pvp) then tileInfo = "pvp" end if(tmp.nopvp) then tileInfo = "noPvP" end end if tileInfo == "pvp" then return true end function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, storage) == 0 then doPlayerSendCancel(cid, "You already have used the limit of revives for this quest.") return true elseif getPlayerStorageValue(cid, 990) >= 1 then doPlayerSendCancel(cid, "You can't use revive during gym battles.") return true elseif getPlayerStorageValue(cid, 52481) >= 1 then doPlayerSendCancel(cid, "You can't do that while a duel.") --alterado v1.6 return true elseif isPlayer(item2.uid) then doPlayerSendCancel(cid, "Please, use revive only on pokeballs.") return true end for a, b in pairs (pokeballs) do if not item2.itemid == b.on or not item2.itemid == b.off then doPlayerSendCancel(cid, "Please, use revive only on pokeballs.") return true end end local pokeball = getPlayerSlotItem(cid, 8) for a, b in pairs (pokeballs) do if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG doTransformItem(item2.uid, b.on) doSetItemAttribute(item2.uid, "hp", 1) for c = 1, 15 do local str = "move"..c setCD(item2.uid, str, 0) end setCD(item2.uid, "control", 0) setCD(item2.uid, "blink", 0) --alterado v1.6 doSendMagicEffect(getThingPos(cid), 13) doRemoveItem(item.uid, 1) doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all") doCureStatus(cid, "all", true) cleanBuffs2(item2.uid) --alterado v1.5 if getPlayerStorageValue(cid, storage) > 0 then setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1) end return true end end return true end O Script vai verificar se o player esta em um tile pvp, e se estiver ele não vai reviver.- BUG? Corpse Devourer
Tenta esse corpse="6532"- X item que teleporta c/tempo.
Qual o ID do item, e suas coordenadas? function onUse(cid, item, fromPosition, itemEx, toPosition) local tempo = 900 -- Tempo para usar novamente (em segundos) local storage = 23585 -- storage pra verificar se o player já pode usar novamente local pos = {x=000, y=000, z=0} -- Mudar a Coordenada if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Mensagem dizendo ao player que ele tem que esperar") return true end doTeleportThing(cid,pos) -- Não mecher! exhaustion.set(cid, storage, tempo) doSendMagicEffect(getPlayerPosition(cid),53) -- Efeito que sai! return true end Ocorreu algum erro? Configurou o Actions.xml com o id corretamente?- Title que desloga o char
Criar em MOVEMENTS/SCRIPTS/ tilelogout.lua function onStepIn(cid, item, position, fromPosition) local suastorage = xxxx -- configure do seu jeito local storage = 24369 -- storage que verefica se o player ja entrou no tile alguma vez if storage == 1 then return true end doPlayerSetStorageValue(cid, storage, 1) doPlayerSetStorageValue(cid, suastorage) doRemoveCreature(cid) return true end Em MOVEMENTS.XML botar o seguinte codigo <movevent type="StepIn" itemid="xxxx" event="script" value="tilelogout.lua"/> -- Configure o id para o tile correto Agora é só Configurar! OBS: Eu não testei, mas acredito que esteja funcionando.- X item que teleporta c/tempo.
Criar em ACTIONS/SCRIPTS/ depottp.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local tempo = 900 -- Tempo para usar novamente (em segundos) local storage = 23585 -- storage pra verificar se o player já pode usar novamente local cidade = getPlayerTown(cid) local pos = getTownTemplePosition(cidade) if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Mensagem dizendo ao player que ele tem que esperar") return true end doTeleportThing(cid,pos) -- Não mecher! exhaustion.set(cid, storage, tempo) doSendMagicEffect(getPlayerPosition(cid),53) -- Efeito que sai! doRemoveItem(item.uid, 1) -- Não mecher! return true end Em ACTIONS.XML botar o seguinte codigo <action itemid="0000" script="depottp.lua"/> -- Colocar o ID do item! Agora é só configurar - Anti-Divulgação não permite efetuar comando
Informação Importante
Confirmação de Termo