Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    113

Tudo que Vodkart postou

  1. realmente mto útil essas suas funções criei vários npcs e com a ajuda delas ficou mais fácil mto veri gódi tio
  2. calma ae tenta assim: nome do seu npc.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do seu npc" script="nome do seu script.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="133" head="114" body="119" legs="132" feet="114"/> </npc> nome do seu script.lua dofile("data/npc/lib/npc-func.lua") local focuses = {} -- do not change function onCreatureSay(cid, type, msg) local falas = { [1] = { -- druid hi = 'Hello, mage of the skies. blablabla {yes} ?', yes = 'ok mage! kkkkk', no = 'ok then mage', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [2] = { -- sorc hi = 'Hello my forest enchanter blablabla {yes} ?', yes = 'ok forest enchanter! kkkkk', no = 'ok then forest gamp', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [3] = { -- paladin hi = 'Hey! Super shooter blablabla {yes} ?', yes = 'ok Super shooter! kkkkk', no = 'ok then super shooter', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [4] = { -- knight hi = 'Aye, guardian blablabla {yes} ?', yes = 'ok guardian! kkkkk', no = 'ok then gaydian', bye = 'Good bye '.. getCreatureName(cid) ..'.' } } local cid_Say = msg:lower() if ((cid_Say == "hi") and not (isFocused(cid, focuses))) then if not falas[getPlayerVocation(cid)] then selfSay('desculpe,não falo com você!', cid) removeFocus(cid, focuses) else selfSay(falas[getPlayerVocation(cid)].hi, cid) addFocus(cid, focuses) selfFocus(cid) talk_step = 1 end elseif ((cid_Say == "yes") and (talk_step == 1)) then selfSay(falas[getPlayerVocation(cid)].yes, cid) talk_step = 2 elseif ((cid_Say == "no") and (isInArray({1,2}, talk_step))) then selfSay(falas[getPlayerVocation(cid)].no, cid) removeFocus(cid, focuses) elseif (cid_Say == "bye") then selfSay(falas[getPlayerVocation(cid)].bye, cid) removeFocus(cid, focuses) end end function onThink() for _, focus in pairs(focuses) do if not isCreature(focus) then removeFocus(focus, focuses) talk_step = 0 else local distance = getDistanceTo(focus) or 5 if distance > 4 then selfSay("Hmpf!", focus) removeFocus(focus, focuses) talk_step = 0 end end end setFocus(focuses) end crie um arquivo chamado "npc-func.lua" em "data/npc/lib" e poe isso local focuses = {} function isFocused(cid, t) for i, v in pairs(t) do if(v == cid) then return true end end return false end function addFocus(cid, t) if(not isFocused(cid, t)) then table.insert(t, cid) end end function setFocus(t) for i, v in pairs(t) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function removeFocus(cid, t) for i, v in pairs(t) do if(v == cid) then table.remove(t, i) setFocus(focuses) break end end end function onCreatureDisappear(cid) if isFocused(cid, focuses) then removeFocus(cid, focuses) if isPlayer(cid) then closeShopWindow(cid) end end end lembrando q tirei essa base de script do LsM tenta ae
  3. n precisa nem tenta n vai funcionar primeira vez q vejo isso: setPlayerStorageValue(cid) = xxxx
  4. não não... capaz cara você é um exemplo a ser seguido aqui,entrega os script tudo mal feito e pela metade quem dera eu ser q nem vc desculpa ai qualquer coisa bj
  5. esse script é bem fácil de fazer,pena que só tenha uns colaborador pão com bosta ae se amanha eu tiver um tempo eu faço pra vc e ensino a adicionar mais spells no npc tal ai crio umas variaveis bem faceis de serem adicionadas
  6. tenta soh coloquei pras primeira 4 voc vlw nome do seu npc.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do seu npc" script="nome do seu script.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="133" head="114" body="119" legs="132" feet="114"/> </npc> nome do seu script.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local falas = { [1] = { -- druid hi = 'Hello, mage of the skies. blablabla {yes} ?', yes = 'ok mage! kkkkk', no = 'ok then mage', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [2] = { -- sorc hi = 'Hello my forest enchanter blablabla {yes} ?', yes = 'ok forest enchanter! kkkkk', no = 'ok then forest gamp', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [3] = { -- paladin hi = 'Hey! Super shooter blablabla {yes} ?', yes = 'ok Super shooter! kkkkk', no = 'ok then super shooter', bye = 'Good bye '.. getCreatureName(cid) ..'.' }, [4] = { -- knight hi = 'Aye, guardian blablabla {yes} ?', yes = 'ok guardian! kkkkk', no = 'ok then gaydian', bye = 'Good bye '.. getCreatureName(cid) ..'.' } } if(msgcontains(msg, 'hi') or msgcontains(msg, 'HI')) then if not falas[getPlayerVocation(cid)] then selfSay('desculpe,não falo com você!', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) else selfSay(falas[getPlayerVocation(cid)].hi, cid) talkState[talkUser] = 1 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then selfSay(falas[getPlayerVocation(cid)].yes, cid) talkState[talkUser] = 2 elseif msg == 'no' and talkState[talkUser] >= 1 then selfSay(falas[getPlayerVocation(cid)].no, cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) elseif msg == 'bye' then selfSay(falas[getPlayerVocation(cid)].bye, cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  7. tenta colocar assim: function onThink(interval, lastExecution) info = { [0] = "aaaaaaa", [1] = "bbbbbbb", [2] = "ccccccc", [3] = "ddddddd" } storage = 59645 if getGlobalStorageValue(storage) == -1 then setGlobalStorageValue(storage,getGlobalStorageValue(storage)+1) end doBroadcastMessage(info[getGlobalStorageValue(storage)], MESSAGE_STATUS_CONSOLE_ORANGE) if getGlobalStorageValue(storage) < #info then setGlobalStorageValue(storage,getGlobalStorageValue(storage)+1) else setGlobalStorageValue(storage,getGlobalStorageValue(storage)-#info) end return TRUE end
  8. blz npc está ai,só configurar... local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local config = { acess_door1 = 98547, acess_door2 = 98548, item = 8547 -- item q o jogador terá q trazer } local sex = { [0] = 312, -- addon female [1] = 313 -- adon male } if(msgcontains(msg, 'mission') or msgcontains(msg, 'MISSION')) then if getPlayerStorageValue(cid, 56533) <= 0 then if getPlayerStorageValue(cid, acess_door1) <= 0 then selfSay('Olá jogador,você pode me trazer um item que está atrás daquela porta que fica em blablabla? {yes}', cid) talkState[talkUser] = 1 else selfSay('Aqui está você de novo! consegiu trazer o item que lhe pedi? {yes}', cid) talkState[talkUser] = 2 end else selfSay('você já completou a quest,vá embora!', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then setPlayerStorageValue(cid, config.acess_door1, 1) selfSay('muito bem,vá em frente e entre naquela porta e me traga o item!', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if doPlayerRemoveItem(cid,config.item,1) then doPlayerAddOutfit(cid,sex[getPlayerSex(cid)],3) setPlayerStorageValue(cid, config.acess_door2, 1) setPlayerStorageValue(cid, 56533, 1) selfSay('aqui está seu addon,você tbm recebeu acesso para outra porta!', cid) doSendMagicEffect(getPlayerPosition(cid), 2) else selfSay('Você não possui nenhum item!.', cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Volte quando achar melhor!", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) as porta você sabe fazer né? só colocar em uniqueID o número das storages q no caso são 98547 e 98548
  9. vou ficar atento,se bem que não faz a menor diferença...hackeando ou não o megaup vai ficar fechado até sabe lá quando
  10. Vodkart

    Anel De Exp

    coloca <attribute key="duration" value="3600"/>
  11. nome do seu script function onThink(interval, lastExecution) local mensagens = {"digite a mensagem 1","digite a mensagem 2","digite a mensagem 3","digite a mensagem 4"} return doBroadcastMessage(mensagens[math.random(#mensagens)], MESSAGE_STATUS_CONSOLE_ORANGE) end globalevents.xml <globalevent name="MsgText" interval="1800" script="nome do seu script.lua"/>" ta configurado pra 30 minutos 1800 = 30 minutos 3600 = 1 hr flw
  12. mas eu to dizendo que o erro tbm vai aparecer no executável lol
  13. sim,vai dar a mensagem no executável do ot
  14. Autor: Jetro Explicação: É uma função que serve para saber se a conta possui ou não uma certa Key(Storage),muito usada para aquelas situações de jogadores quando alcançarem um determinado level ganharem dias de vip ou premium,não tem aquele bug de todos os jogadores da conta pegarem esses dias. adicione em data/lib/050-function.lua Version by Jetro: Version by Cykotitan: Exemplo de como usar: if (hasAccountStorageValue(cid, 3232, 4)) then doPlayerSendCancel(cid, "You have already done this quest") else doPlayerAddItem(cid, item, count) end
  15. você só lê esse tipo de noticia né safadinho
  16. Para melhorar a organização,porque não faz tudo num mesmo MOD? acho que ficaria mais fácil de configurar... É só uma idéia,abraços!
  17. pois é que merda de user tbm que sempre posta mesma coisa
  18. vejam aí: http://www.xtibia.com/forum/topic/179099-gente-noticia-urgente/
  19. tem meu msn aqui no meu perfil só me adc q eu vou bater um papo bem caliente com vc
  20. Vodkart

    Systema Premium

    testou o meu? coloco a tag certa mano tem q ver certinho ae
  • Quem Está Navegando   0 membros estão online

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