-
Total de itens
1165 -
Registro em
-
Última visita
-
Dias Ganhos
13
Tudo que Omega postou
-
Tópico movido para a seção correta Pedidos e dúvidas - scripting. Favor prestar mais atenção da próxima vez.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
Faltou fechar um parênteses: items = { [0] = {id = 2493, count = 1, chance = 10}, [1] = {id = 2272, count = 1, chance = 60}, [2] = {id = 2173, count = 1, chance = 40}, [3] = {id = 2152, count = 5, chance = 80}, [4] = {id = 2152, count = 1, chance = 100}, } function onUse(cid, item, fromPos, itemEx, toPos) for i = 0, #items do if (items[i].chance > math.random(1, 100)) then doPlayerAddItem(cid, items[i].id, items[i].count) if i == 0 then doBroadcastMessage(getCreatureName(cid)..' ganhou o item '..getItemNameById(items[i].id)..'!', 22) end doRemoveItem(item.uid, 1) return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER) end end doRemoveItem(item.uid, 1) return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER) end
-
items = { [0] = {id = 2493, count = 1, chance = 10}, [1] = {id = 2272, count = 1, chance = 60}, [2] = {id = 2173, count = 1, chance = 40}, [3] = {id = 2152, count = 5, chance = 80}, [4] = {id = 2152, count = 1, chance = 100}, } function onUse(cid, item, fromPos, itemEx, toPos) for i = 0, #items do if (items.chance > math.random(1, 100)) then doPlayerAddItem(cid, items.id, items.count) if i == 0 then doBroadcastMessage(getCreatureName(cid)..' ganhou o item '..getItemNameById(items.id..'!', 22) end doRemoveItem(item.uid, 1) return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER) end end doRemoveItem(item.uid, 1) return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER) end
-
Não. Os itens que você insere pelo map editor ficam dentro do baú e dão respawn sempre que o servidor é reiniciado, então qualquer um pode pegar e depois vai sumir. Com o script que você tava usando, você consegue pegar o item que você quer e adicionar, mas é mais simples fazer direto pelo script.
-
É só adicionar o número que você quiser no terceiro parâmetro (count) da função que adiciona o item que você escolheu. Por exemplo: Troque doPlayerAddItem(cid, recompensa, 1) Por doPlayerAddItem(cid, recompensa, 100)
-
Deixa um item só dentro do baú e coloca o id do outro function onUse(cid, item, frompos, item2, topos) local recompensa = 2143 -- Coloque aqui o id do outro item que você quer que ganhe local queststatus = getPlayerStorageValue(cid, item.uid) if queststatus == -1 or queststatus == 0 then qitem = getContainerItem(item.uid, 0) if getPlayerFreeCap(cid) > (getItemWeightById(qitem.itemid, 1) + getItemWeightById(recompensa,1)) then doPlayerSendTextMessage(cid, 22, "You have found a "..getItemNameById(qitem.itemid).." and a "..getItemNameById(recompensa)..".") doPlayerAddItem(cid, qitem.itemid) doPlayerAddItem(cid, recompensa, 1) setPlayerStorageValue(cid, item.uid, 1) else doPlayerSendTextMessage(cid, 24, "You don't have enough capacity.") end else doPlayerSendTextMessage(cid, 22, "The chest is empty.") end return true end
-
function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid, item.uid) if queststatus == -1 or queststatus == 0 then qitem = getContainerItem(item.uid, 0) if getPlayerFreeCap(cid) > getItemWeightById(qitem.itemid, 1) then doPlayerSendTextMessage(cid, 22, "You have found a "..getItemNameById(qitem.itemid)..".") doPlayerAddItem(cid, qitem.itemid) setPlayerStorageValue(cid, item.uid, 1) else doPlayerSendTextMessage(cid, 24, "You don't have enough capacity.") end else doPlayerSendTextMessage(cid, 22, "The chest is empty.") end return true end Tenta esse, mas na minha assinatura tem o portfólio. Procura o tópico de actions simples e úteis que fiz uma forma mais fácil de usar baús de quests.
-
-- [( Script created by Doidin for XTibia.com )] -- function onThink(interval, lastExecution) MENSAGEM = { "texto1", "texto2", "texto3", "texto4", "texto5", } doBroadcastMessage(MENSAGEM[math.random(1,#MENSAGEM)],18) return true end
-
poketibia [Encerrado] Erro MoveEvents
tópico respondeu ao Lordfireot de Omega em Tópicos Sem Resposta
Cara, seu tópico está na seção errada. Por favor, note que sua dúvida é específica para servidores derivados e você deveria postá-la aqui: Pedidos e dúvidas - servidores derivados.- 10 respostas
-
- moveevents
- resolvido
-
(e 3 mais)
Tags:
-
[Arquivado]Entrevista com o moderador: vital900
tópico respondeu ao Mophus de Omega em Noticias - Arquivo
Gostei da entrevista, ficou bem organizada, mas acho que poderia fazer mais perguntas! -
Você se explicou muito mal, cara. function onSay(cid, words, param) local pos = {x=123,y=321,z=7} doTeleportThing(cid, pos) return true end É só colocar a posição
-
/goto x, y, z Vou explicar bem, ok? /goto -> talkaction x -- coordenada 1 y -- coordenada 2 z -- coordenada 3 Muito obrigado por sua atenção
-
Meu filho, preste atenção: isso que eu te passei já existe no servidor (pelo menos deveria, né) e faz o que você pediu. Você pode usar o nome de qualquer um, inclusive o seu. Caso você queira mandar o seu, é mais fácil usar /goto x,y,z
-
/send fulano; x, y, z
-
pedido [Encerrado] Bug 631 WoDBO @roksas @help
tópico respondeu ao arthurabreu57 de Omega em Tópicos Sem Resposta
Área errada. Você deveria postar na seção de pedidos e dúvidas - servidores derivados Não use o nome de alguém no tópico, desencoraja qualquer outra pessoa a te ajudar -
Galera, podem esperar grandes coisas desse servidor aqui. Estamos todos nos esforçando e o projeto está indo pra frente e em breve postaremos mais atualizações com um teaser dos sistemas. Go go OT Avatar!
-
/closeserver tá aí pra isso Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
/mkick x, y, true/false Ou seja, vai kickar os jogadores que estão em uma área x pra direita, x pra esquerda, y pra cima e y pra baixo. True pra detectar jogadores acima e abaixo também e false para jogadores apenas no mesmo andar Pra tentar explicar de outra maneira: você está no meio. A partir de você, x sqms pra direita e y sqm pra cima vai ser a borda superior esquerda do quadrado, repetindo o processo opostamente, você consegue o canto inferior direito. Com esses pontos, você monta um retângulo ao redor de você e todo mundo que tiver dentro desse retângulo é kickado.
-
Alex Cmgabriel Tonynh OBS.: editei pra escrever o nome do tony certo.
-
Tenta esse aqui:
-
Agora foi?
-
Acho que ficaria mais fácil de configurar (pra quem é preguiçoso e não entende nada do script, se substituísse Isso local position = teleportPoints[math.random(0,15)] Por isso local position = teleportPoints[math.random(0,#teleportPoints)] Aí o cara não precisa colocar as 15 opções sem dar problema =D Enfim, um código simples e útil
-
function getPlayerTopMeleeSkill(cid) local skill = 0 local value = 10 for i = 1, 4 do if getPlayerSkillLevel(cid, i) > value then value = getPlayerSkillLevel(cid, i) skill = i end end return {skill = skill, value = value} end function isKnight(cid) local knight = {4, 8} if isPlayer(cid) then return isInArray(knight, getPlayerVocation(cid)) end return false end function onAdvance(cid, skill, oldLevel, newLevel) if not isKnight(cid) then return true end if getPlayerTopMeleeSkill(cid).skill > 3 then return true end local weap = {7415, 7390, 7434} if skill == 8 and newLevel >= 60 and getPlayerStorageValue(cid, 876125) == -1 then local topskill = getPlayerTopMeleeSkill(cid) if doPlayerAddItem(cid, weap[topskill.skill], 1, false) then doPlayerSendTextMessage(cid, 25, "Parabens, voce ganhou uma arma especial por passar do level 60!") setPlayerStorageValue(cid, 876125, 1) end end return true end Tá funcionando agora?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.