Ir para conteúdo

caotic

Infante
  • Total de itens

    1599
  • Registro em

  • Última visita

  • Dias Ganhos

    7

Tudo que caotic postou

  1. Não esperava menos de você iunix. Não preciso usar nenhum outro evento. Só npc. Parabéns
  2. Sim sim. Estou dando uma revisada no sistema. Pensando bem cara poderia ser usado "onSpawn". Estava conversando com o iunux e a melhor maneira para registrar um monstro especifico. Mais sera melhorado
  3. Outro detalhe importante. Não e necessário colocar só 0(como ativo) pode ser qualquer outro numero diferente de 1.
  4. caotic

    Posso

    comece* Rep+ O corretor tinha as duas palavras como correta. Eehuaheuahe'
  5. caotic

    Posso

    Pode. Comesse comigo
  6. Te amu :3
    1. DinoAdmin

      DinoAdmin

      eu sei que voce me ama eu tmb te amu

    2. DinoAdmin

      DinoAdmin

      caotic feliz ano novo Brow ^^

  7. Gmatch da para fazer muita coisa. Isto e só um pouco dela. E não precisa ser necessariamente usada para arquivos remotos.
  8. Todo mundo já sabe que quando queremos "colocar" algum script em creaturescripts alguns precisam ser registrado. O registro e para que o evento inicie quando o player logar. Mais muitas vezes o cadastramento consome linhas e tempo. Pensando nisso desenvolvi um código para que o próprio usuário registre o evento na tag Vamos a instalação. Crie um arquivo lua chamado de register em lib e coloque este código: function getEventRegisterName() local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="(.-)"') do table.insert(x, i) end return x or nil end function getEventRegisterTrueByName(name) local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="'..tostring(name)..'" register = "(.-)"') do table.insert(x, tonumber(i)) end return x[1] or nil end function registerEvents(cid) for y = 1, #getEventRegisterName() do local x = getEventRegisterName()[y] if getEventRegisterTrueByName(x) == 1 then registerCreatureEvent(cid, x) end end end Agora vá em creaturescripts em login.lua antes do ultimo return true Exclua todos os registro de evento: Eles são estarão assim: registerCreatureEvent(cid, "event") Depois no mesmo lugar coloque isto: registerEvents(cid) Agora em TODAS AS SUAS TAGS isto entre name e event. register = "1" (Sendo que 1 e ativado e 0 Desativado) Ela ficara assim: <event type="joinchannel" name="mens" register = "1" event="script" value="mensagens.lua"/> Pronto sistema instalado Para usar e simples. E so colocar na tag E colocar a 1(verdadeiro ativado) ou o(false desativado)
  9. Mais eu ia te dar exclusivo. Mais vc não me respondeu seu fdp. Então resolvi postar. Se quiser eu posso ate retirar para vc :3
  10. Corrigi ai: Se colocarmos assim: tab[1] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 1"}, tab[2] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 2"}, tab[3] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 3"} Eheuaeuhaue' Nem percebi que dobrei o 2. @dalvorsn Muito bom a explicação. Seria interessante mesmo explicar sobre os "stops" como um return ou o break.
  11. O fabio(beeki) pediu um script para min então eu resolvi disponibilizar o mesmo script para vocês xtibianos! O anti bot faz uma pergunta ao player quando ele loga e depois de X tempo. Assim se o player estiver usando um bot de "caça sozinho" ele e detectado e teleportado para uma posição que seria uma cadeia. Esta todo configurado mais pode ser alterado livremente. Vá em lib e crie um arquivo lua chamado de anti bot e coloque este código: local question = { {perg = "1+1 e igual a?", resp = "2"}, {perg = "Qual e o nome verdadeiro do beeki", resp = "Fabio"}, {perg = "Você esta em que level?", resp = "100"} } function doJailforBot(cid, pos) if isPlayer(cid) and getPlayerStorageValue(cid, 23410) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você foi preso por bot") doTeleportThing(cid, pos) setPlayerStorageValue(cid, 23446, 0) setPlayerStorageValue(cid, 23448, 0) setPlayerStorageValue(cid, 23412, 1) end return true end function respQuestion(cid, resp) if getPlayerStorageValue(cid, 23410) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] O sistema não esta ativo porque ja respondeu") end if getPlayerStorageValue(cid, 23412) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] O sistema não esta ativo porque você esta preso") end if tostring(getPlayerStorageValue(cid, 23446)) == resp then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você acertou a respota") setPlayerStorageValue(cid, 23410, 1) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você errou a resposta") end function activeAntiBot(cid, pos, time) if isPlayer(cid) then if getPlayerStorageValue(cid, 23412) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você esta preso por uso de bot") end local random = math.random(#question) local perg = question[random].perg local resp = question[random].resp doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] diga a resposta falando /resp(reposta) ("..perg..")") setPlayerStorageValue(cid, 23446, resp) setPlayerStorageValue(cid, 23448, perg) setPlayerStorageValue(cid, 23410, 0) addEvent(doJailforBot, time, cid, pos) end return true end Agora vá em talkactions e crie um arquivo lua chamado de resp e coloque isto: function onSay(cid, words, param, channel) if not param or param == " " or param == "" then doPlayerSendCancel(cid, "Você precisa dizer a respota") return true end return respQuestion(cid, param) end Coloque esta tag em talkactions.xml: Agora vá em creaturescripts e crie um arquivo lua chamado de anti-bot e coloque isto: local jail= {x=1497, y=1488, z=5} local time = 36000 local temp = 3600*1000 --- Tempo para o sistema do anti banimento for ativado function onLogin(cid) function repeatAntiBot(cid, jail, temp, time) activeAntiBot(cid, jail, time) addEvent(activeAntiBot, temp, cid, jail, time) end repeatAntiBot(cid, jail, temp, time) return true end Coloque esta tag em creaturescrips.xml: Registre o evento em login.lua: registerCreatureEvent(cid, "bot")
  12. Este tópico me deu ansiá de vomito. Tópico Closed
  13. Eheuaheue Pensei que a criatura(atacante) que tinha que ter a storage. Script editado OnKill da muito mais laag que onDeath :X
  14. Não gosto de aprovar meus proprios tutoriais. Mais..... Tutorial Aprovado
  15. Tenta criar a database manualmente então Chama ela de ban e coloque estas colunas: player / ip / time
  16. Eu conheço sim o debbuger lua demo. O sinal de diferença foi coloco de maneira incorreta. Obrigado por concertar.
  17. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) function addManaInTime(cid) local pos = getCreaturePosition(cid) if isPlayer(cid) and getCreatureMana(cid) ~= getCreatureMaxMana(cid) then doCreatureAddMana(cid, 222) doSendMagicEffect(pos, 212) addEvent(addManaInTime, 180, cid) end end addManaInTime(cid) return true end <movevent type="StepIn" itemid="2212" event="script" value="mana.lua"/>
  18. local storage = 22321 --- A storage local item = 2456 --- Item local quant = 40 --- Quantidade do item que ele irá ganhar function onDeath(cid, corpse, killer) if isPlayer(killer[1]) and isPlayer(cid) and getPlayerStorageValue(cid, storage) >= 1 then doPlayerAddItem(killer[1], item, quant) return true end return true end
  19. Sistema Incrível. Publiquei no portal.
  20. Exatamente. O while e um modo mais "grosso" de repetir valores. Então não deixa de ser uma opção.
  21. Repeat e bem menos usado. O tutorial e só para explicar que e possível manipular uma tabela com while.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...