-
Total de itens
190 -
Registro em
-
Última visita
-
Dias Ganhos
1
Tudo que fokus090 postou
-
TibiaGun é um MMORPG inspirado no tíbia. Focado em um mundo destruído e habitado por criaturas, você é um soldado que se voluntariou para ajudar a controlar o aumento agressivo de monstros. SITE: http://tibiagun.servegame.com/ INSTAGRAM: https://instagram.com/tibia_gun FACEBOOK: https://www.facebook.com/tibiagun O servidor é construído em cima de uma gameplay envolvendo armas de fogo. Clique e atire, loot automático e itens com sistema de raridade. Tudo preparado para acomodar jogadores amantes de RPG. Possuímos um mapa próprio, com segredos e missões disponíveis a cada nível que seu personagem alcança. Há missões de tempo, em grupo e até puzzles disponíveis. Basta seguir as localizações no mapa, analisar o ambiente e buscar seu prêmio. Queremos que seu tempo seja bem gasto no servidor. Por meio disso, temos um sistema onde você pode ganhar dinheiro sempre que evoluir seu personagem. Jogue, divirta-se e ganhe. É isso o que oferecemos. Temos um arsenal com mais de 60 magias únicas para equipar em seu personagem. Não possuímos vocações, de modo que todas as magias podem ser usadas por qualquer jogador, sendo sua arma equipada um diferencial de força. O servidor conta com diversos sistemas únicos, criados do zero e apropriados ao diferencial do servidor. IMAGENS DO SERVIDOR
-
@Slicer Tranquilo!, Tudo na Paz! @Topic Manifeste-se caso sua Dúvida/Pedido tenha sido atendida!
-
Nossa que Mal Humor! Sinto muito pelo meu comentário infeliz. Não foi minha intenção. E com respeito ao que coloquei aí em cima, LINK!
-
Fiz um aqui mas não testei. Espero que dê certo! OBS: Criei o NPC ou qualquer outra coisa aí pra dar a Quest. Dê á Storage 45698, 0. function onDeath(cid, corpse, killer) local monstName = "Dragon" -- Nome do monstro local Storage = 45698 local Monster = "Dragon Lord" -- Nome do Monstro que será Summonado local pos = getPlayerPosition(cid) if isMonster(cid) then if string.lower(getCreatureName(cid)) == string.lower(monstName) then if getPlayerStorageValue(cid, Storage) < 100 then setPlayerStorageValue(killer[1], Storage, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Dragon Morto: " .. getPlayerStorageValue(cid, Storage) .. "/100") if getPlayerStorageValue(cid, Storage) == 100 then doCreateMonster(Monster, pos) setPlayerStorageValue(cid, Storage, -100) end end end end return TRUE end
-
Apesar dele ter usado á palavra "unique", acredito que não seja isso que ele se referiu. Tenta isso :. crie um arquivo item.lua em movements/scripts e adicione isso: local uniqueitems = [12578, 12579, 12580] function onDeEquip(cid, item) if item.itemid == uniqueitems then doPlayerSendCancel(cid, "Sorry, this is an unique item.") end end tag: <movevent type="DeEquip" itemid="12578,12579,12580 " event="script" value="item.lua"/> Depois na mesma pasta crie trade.lua e adicione: function onTradeAccept(cid, target, item, targetItem) if item.itemid == 2578 or targetItem.itemid == 12579 or targetItem.itemid == 12580 then doPlayerSendCancel(cid, "Sorry, you cannot trade this item.") end end tag: <movevent type="tradeaccept" itemid="12578,12579,12580" event="script" value="trade.lua"/> #OutraPossibilidade 1º Baixe o OtItemEditor' (Ot Item Editor) 2º Basta abrir o OtItemEditor' 3º Clique e "File" e logo após clique em "Open"... 4º Procure o arquivo "items.otb" na pasta do seu OTserver' (geralmente em "data / items / items.otb")... 5º Como já sabe a ID do item que quer editar... procure-o no Item Editor... 6º E tire a opções "Moveable" e "Pickupable" que provavelmente estará selecionada' 7º Salve e pronto' Tente e Boa Sorte!
-
NPC.xml <?xml version="1.0"?> <npc name="NomeDoNPC" script="data/npc/scripts/NomeDoArquivoLua.lua" walkinterval="2000"> <health now="200" max="200" /> <look type="136" head="113" body="65" legs="0" feet="96" addons="2"/> <parameters> <parameter key="message_greet" value="Olá jovem, bem vindo a Town's Ville. Eu posso estar lhe ajudando dando {informações} sobre o {mapa}." /> </parameters> </npc> NPC/Script local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function thinkCallback(cid) local rand = math.random(1,50) if rand == 1 then selfSay('Posso lhe conceber ajuda sobre todas as mudanças que houveram na cidade de Towns Ville...') elseif rand == 2 then selfSay('Precisa de ajuda em encontrar algum lugar de Towns Ville? Pergunte-me!') elseif rand == 3 then selfSay('É a sua primeira vez aqui? Eu posso lhe ofereçer ajuda...') end return true end function greetCallback(cid) return true end local shopModule = ShopModule:new() npcHandler:addModule(shopModule) if(msgcontains(msg, 'Informações') then selfSay('Atualmente, posso lhe dizer tudo sobre a cidade, seu {templo}, o {banco}, {lojas}, {locais de magias}, o {deposito} ({dp}), e um pouco sobre os {bairros}.', cid) talkState[talkUser] = 1 ------------------------------------------------------------------------------------------------------------------------------------------------------- elseif(msgcontains(msg, 'templo') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {Templo} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'banco') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {Banco} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'lojas') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {Lojas} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'locais de magias') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {locais de magia} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'deposito') or msgcontains(msg, 'dp') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {Deposito} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'bairros') and talkState[talkUser] == 1) then selfSay('Edite a Informação sobre o {Bairros} Aqui!') talkState[talkUser] = 0 elseif(msgcontains(msg, 'mapa')) then selfSay('Bom, eu posso deixar marcas no seu mapa, mostrando assim, onde fica os principais locais... Você gostaria que eu fizesse isso?') talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then selfSay('Ok! Marquei os principais lugares em seu mapa... Caso ainda tenha dúvidas me pergunte!') doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Templo') doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Banco') doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Lojas') talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and talkState[talkUser] == 2) then selfSay('Então, já conhece o mapa... Procure-me quando precisar de ajuda!') talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback) npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:addModule(FocusModule:new()) Não Testei, espero que funcione! Abraços !!
-
for é bem mais simples de trabalhar. Sempre utilizo ele. Mas foi um bom Tutor. Parabéns!
-
pedido Error , na script aqui , alguem poderia ajudar?
pergunta respondeu ao tonynamoral de fokus090 em Scripts
Pedido Atendido. Reportado para Moverem! Abraços ! -
Sendo assim, desculpe pelo meu ERRO FATAL. Não conheço muito bem OTservs PokeTibia. Queria ajudar mais fiquei um pouco perdido. Abraços !!
-
Você tem razão, shausHSUhsuH. Eu esqueci desse detalhe. Mas para resolver isso, basta criar um Script de Login. -- < Script by Frenesy > -- function onLogin(cid) local Name = "Account Manager" local Storage = 10010 local Nivel = 150 if (getCreatureName(cid) ~= Name) then if getPlayerStorageValue(cid, Storage) == -1 then if getPlayerLevel(cid) >= Nivel and getPlayerLevel(cid) <= 199 then doPlayerSendTextMessage(cid, 22, "Você recebeu 5 dias de Premium.") doPlayerAddPremiumDays(cid, 5) setPlayerStorageValue(cid, Storage, 1) end end end return true end -- < Script by Frenesy > -- function onLogin(cid) local Name = "Account Manager" local Storage = 10011 local Nivel = 200 if (getCreatureName(cid) ~= Name) then if getPlayerStorageValue(cid, Storage) == -1 then if getPlayerLevel(cid) >= Nivel then doPlayerSendTextMessage(cid, 22, "Você recebeu uma Montaria.") doPlayerAddMount(cid, ID_DA_MONTARIA) setPlayerStorageValue(cid, Storage, 1) end end end return true end TAG:. <event type="login" name="Premium" event="script" value="NomeDoArquivo.lua"/> <event type="login" name="Montaria" event="script" value="NomeDoArquivo.lua"/> Login.lua :. registerCreatureEvent(cid, 'Premium') registerCreatureEvent(cid, 'Montaria')
-
Viu só? Funcionou!
-
Fiz por CreatureScript. Achei que ficaria melhor. function onAdvance(cid, skill, oldLevel, newLevel) registerCreatureEvent(cid, "UpLevel") local new_level = 150 if skill == 8 then if (oldLevel < new_level ) and (newLevel >= new_level) and getPlayerStorageValue(cid, 10010) < 1 then doPlayerSendTextMessage(cid, 22, "Você recebeu 5 dias de Premium.") doPlayerAddPremiumDays(cid, 5) setPlayerStorageValue(cid, 10010, 1) end end return TRUE end function onAdvance(cid, skill, oldLevel, newLevel) registerCreatureEvent(cid, "UpLevel0") local new_level = 200 local montaria = ID_DA_MONTARIA if skill == 8 then if (oldLevel < new_level ) and (newLevel >= new_level) and getPlayerStorageValue(cid, 10011) < 1 then doPlayerSendTextMessage(cid, 22, "Você recebeu uma Montaria.") doPlayerAddMount(cid, montaria) setPlayerStorageValue(cid, 10011, 1) end end return TRUE end TAG :. <event type="Advance" name="UpLevel" script="NomeDoArquivo.lua"/> <event type="Advance" name="UpLevel0" script="NomeDoArquivo.lua"/> Em Login.lua adicione isso :. registerCreatureEvent(cid, 'UpLevel') registerCreatureEvent(cid, 'UpLevel0')
-
-
Tag da Action.xml :. <action uniqueid="7200" event="script" value="NomeDoArquivo.lua" /> function onUse(cid, item, frompos, item2, topos) --================ Vocation 1 =================-- PlayerPosF = {x=504, y=497, z=5, stackpos=253} --== Posição de onde a Vocação 1 Deve ficar. PlayerTileF = getThingFromPos(PlayerPosF) --== Verifica o Jogador no Tile da Vocation 1. PlayerTPF = {x=504, y=501, z=5} --== Posição final para onde o Jogador irá. --================ Vocation 2 =================-- PlayerPosG = {x=506, y=497, z=5, stackpos=253} --== Posição de onde a Vocação 2 Deve ficar. PlayerTileG = getThingFromPos(PlayerPosG) --== Verifica o Jogador no Tile da Vocation 2. PlayerTPG = {x=506, y=501, z=5} --== Posição final para onde o Jogador irá. if item.uid == 7200 and item.itemid == 1945 then --== Alavanca ID 1945 com UniqueID 7200. if PlayerTileF.itemid > 0 and PlayerTileG.itemid > 0 then --== Verifica se Todos os Jogadores estão nos seus Devidos Tiles. PlayerVocF = getPlayerVocation(getTopCreature(PlayerPosF).uid) --== Verifica a Vocation do Jogador no Tile da Vocation 1. PlayerVocG = getPlayerVocation(getTopCreature(PlayerPosG).uid) --== Verifica a Vocation do Jogador no Tile da Vocation 2. if PlayerVocF == 1 and PlayerVocG == 2 then --== Verifica se os Jogadores estão nos Tiles Corretos de sua Vocation. doTeleportThing(PlayerTileF.uid, PlayerTPF) --== Teleporta o Jogador da Vocation 1. doTeleportThing(PlayerTileG.uid, PlayerTPG) --== Teleporta o Jogador da Vocation 2. doSendMagicEffect(PlayerTPF, 10) --== Efeito na Nova Posição da Vocation 1. doSendMagicEffect(PlayerTPG, 10) --== Efeito na Nova Posição da Vocation 2. doTransformItem(item.uid,item.itemid+1) else doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendCancel(cid, "Algum Jogador não está no Tile de sua Vocação.") end else doPlayerSendCancel(cid, "Todos os Jogadores devem ficar nos Tiles.") end elseif item.uid == 7200 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) end return TRUE end OBS [1] :. Só há duas Posições Configuradas. Basta colocar as Outras seguindo o Modelo do Script. OBS [2] :. Testei em um Servidor 8.60. Não tenho nenhum Otserv PokeTibia no meu PC.
-
para checar se tem a promotion é só checar um storage não é? Na verdade não é não. Há uma função específica para checar a Promotion. Mas tendo a Annihilator como base, acho que não vai ser tão difícil fazê-la.
-
PokeTibia, entendi. Não conheço muito Poketibia, por isso esse detalhe me passou despercebido.
-
Eu fiquei um pouco confuso. Quando você disse "1 player de cada clã" eu imaginei que você estivesse falando de 'Guilds'. Mas quando você disse " só funciona se você for Volcanic." aí eu imaginei que fosse uma 'Vocação'. Resolva essa Dúvida para mim.
-
Não sei se é aqui em casa, mais esse código está deformado. Não consigo entender.
-
LINK
-
Mais uma vez fique barrado devido á um obstáculo que não consigo ultrapassar. Conto com a ajuda de vocês. Segue Abaixo:. Tenho um Sistema onde é preciso Clicar em uma Estátua. Esse Script foi feito pelo @Leoxtibia e ele faz o seguinte: O Meu pedido é bem simples. Queria apenas colocar para que o Jogador precisa-se de "1 Item" para ser Teleportado. Já tentei mais não obtive sucesso. Apenas consegui para que todos no Grupo precisasem ter o "Item (ItemID: 2349)" para poderem ser Teleportados, nessa part do Script: if (getPlayerItemCount(k, 2349) < 1) then doPlayerSendCancel(cid, "Todos os Jogadores devem ter o item para entrar nesta Dangerous.") return true end O Script faz a verificação do Jogador dentro da Quest. Se tiver jogador lá dentro, o Player de fora não entra. O Script é esse :. local t = { level = 10, --- Nível necessário para ser Teleportado. party = 2, --- Mínimo de Jogadores no Grupo. quest = {x=427,y=374,z=14} --- local da Dangerous. } --==============================================================================================================================-- local fromPos,toPos = {x = 358, y = 364, z = 14},{x = 488, y = 480, z = 14} --- Começo e Final da Área. --==============================================================================================================================-- function onUse(cid, item, position, fromPosition, itemEx, toPosition) local test = {} local players = getPartyMembers(getPartyLeader(cid)) if (getPlayerParty(cid)) then if(getPlayerParty(cid) == cid) then if #players >= t.party then for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do local pos = {x=x, y=y, z=fromPos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end end end --===============================================================================================================================-- for i, k in ipairs(players) do if (getPlayerLevel(k) < t.level) then doPlayerSendCancel(cid, "Todos os Jogadores devem ter Nível "..t.level.." ou maior para entrar nesta Dangerous.") return true end if (getPlayerItemCount(k, 2349) < 1) then doPlayerSendCancel(cid, "Todos os Jogadores devem ter o item para entrar nesta Dangerous.") return true end table.insert(test, k) end --===============================================================================================================================-- for i, tid in ipairs(test) do doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF) doTeleportThing(tid, t.quest, true) doPlayerRemoveItem(tid, 2349, 1) doSendMagicEffect(t.quest, CONST_ME_ENERGYAREA) end else return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." Jogadores no Grupo.") end else return doPlayerSendCancel(cid, "O Líder do Grupo deve usar a Estátua Primeiro.") end else for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do local pos = {x=x, y=y, z=fromPos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end end end end return true end Aguardo Respostas. Abraços !!
-
Duvida Atendida! Reportando Para Moverem. Abraços!
-
Ta na Pasta Mods/Script/customspells. Abraços !!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.