Ir para conteúdo

Omega

Marquês
  • Total de itens

    1165
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Omega postou

  1. Tópico movido para a seção correta Pedidos e dúvidas - scripting. Favor prestar mais atenção da próxima vez.
  2. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  3. 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
  4. 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
  5. Omega

    Script de Quest

    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.
  6. Omega

    Script de Quest

    É 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)
  7. Omega

    Script de Quest

    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
  8. Omega

    Script de Quest

    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.
  9. -- [( 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
  10. 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.
  11. Gostei da entrevista, ficou bem organizada, mas acho que poderia fazer mais perguntas!
  12. O Roksas fez um sistema que atende boa parte do seu pedido: PVP Changer System Em breve voltarei a responder novos pedidos.
  13. Omega

    Teleporte

    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
  14. Omega

    Teleporte

    /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
  15. Omega

    Teleporte

    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
  16. Á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
  17. 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!
  18. Omega

    MKick

    /closeserver tá aí pra isso Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. Omega

    MKick

    /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.
  20. Alex Cmgabriel Tonynh OBS.: editei pra escrever o nome do tony certo.
  21. 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
  22. 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.
×
×
  • Criar Novo...