Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    113

Tudo que Vodkart postou

  1. Não está pegando, qndo fala com o npc ele nao responde ao comando! aguardo! algum erro? versão do servidor?
  2. storage 13700? blz --[[script By Vodkart]]-- function onSay(cid, words, param) local config = { pz = true, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) vip = true -- se precisa ser vip (true or false) } --[[ Config lugares]]-- local lugar = { ["depot"] = { -- nome do lugar pos = {x=129, y=54, z=6},level = 5,price = 1000}, ["templo"] = { -- nome do lugar pos = {x=160, y=54, z=7},level = 10, price = 2000}, ["arena"] = { -- nome do lugar pos = {x=125, y=351, z=9},level = 15,price = 3000}, ["area vip"] ={ -- nome do lugar pos = {x=280, y=87, z=4},level = 20,price = 4000} } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.vip == true and getPlayerStorageValue(cid, 13700) - os.time() <= 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vips podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".") return TRUE end
  3. Vodkart

    Perda De Skill

    todos os skill? ou só um
  4. Mods <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Pormote Kill" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="KillM_func"><![CDATA[ mobs = { ["rat"] = {stor = 81615, time = 30, item = {119,1}}, ["cyclops"] = {stor = 81616, time = 30, item = {2160,2}}, ["hydra"] = {stor = 81617, time = 30, item = {2160,3}}, ["demon"] = {stor = 81618, time = 30, item = {2160,4}} } ]]></config> <event type="login" name="Kill M" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "MonsterAttack") return true end ]]></event> <event type="combat" name="MonsterAttack" event="script"><![CDATA[ domodlib('KillM_func') if isPlayer(cid) and isMonster(target) then local n = getCreatureName(target) local name_monster = mobs[string.lower(n)] if name_monster then setPlayerStorageValue(cid, name_monster.stor, os.time()+name_monster.time) registerCreatureEvent(target, "MonsterDeath") end end return true ]]></event> <event type="death" name="MonsterDeath" event="script"><![CDATA[ domodlib('KillM_func') function onDeath(cid, corpse, deathList) if isMonster(cid) then local n = getCreatureName(cid) local name_monster = mobs[string.lower(n)] if name_monster then for _, pid in ipairs(deathList) do if isPlayer(pid) and getPlayerStorageValue(pid, name_monster.stor) >= os.time() then doPlayerAddItem(pid, name_monster.item[1], name_monster.item[2]) end end end end return true end]]></event> </mod> ["nome do monstro"] stor -- n mexe time -- em segundos item = {119,1} -- id do item, count
  5. em lib/ 050-function adc function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end npc: 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 msg = string.lower(msg) local item,count = 6500,5000 local points = 1 if isInArray({"trocar","troca","exchange","change"}, msg) then npcHandler:say("Você quer trocar "..count.." ".. getItemNameById(item) .." por "..points.." premium points? {yes}", cid) talkState[talkUser] = 1 elseif isInArray({"yes","sim"}, msg) and talkState[talkUser] == 1 then if doPlayerRemoveItem(cid, item, count) then npcHandler:say("Obrigado, você recebeu "..points.." premium points!", cid) doAccountAddPoints(cid, points) else npcHandler:say("Desculpe, você não tem os items!", cid) end elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  6. @EDITED editei o NPC pra teleportar cada time pra uma pos
  7. npc 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 pos1,pos2 = {x=160,y=54,z=7},{x=165,y=54,z=7} local storages = {99555,99556} if(msgcontains(msg, 'war')) then if getGlobalStorageValue(storages[1]) == getGuildId(getPlayerGuildName(cid)) or getGlobalStorageValue(storages[2]) == getGuildId(getPlayerGuildName(cid)) then selfSay("Good luck in war!", cid) doTeleportThing(cid, getGlobalStorageValue(storages[1]) == getGuildId(getPlayerGuildName(cid)) and pos1 or pos2) else selfSay('Sorry, but your guild does not have access to a private area of war.',cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  8. só me mandar o npc q eu resolvo lol
  9. não to te entendendo, é a mesma storage para as 2 guild? afinal qual o MOTIVO de adicionar storages para a mesma guild?
  10. então o comando está certo? ah bom... afinal oq vc quer fazer com storages da guild cara? q eu n entendi nd pq oq vc pediu ai é o comando
  11. não quer dar oq? algum erro? colocou a tag certinho? <talkaction words="!guild1;!guild2;!guildoff" event="script" value="nome do seu script.lua"/>
  12. function onSay(cid, words, param, channel) param = string.lower(param) storages = {99555,99556} if isInArray({'!guild1','!guild2'}, words) then if param == '' or not getGuildId(param) then doPlayerSendTextMessage(cid,4,"está guild não existe!") return true end doPlayerSendTextMessage(cid,4,"A Guild ["..param.."] foi adicionada com sucesso no slot "..(words == '!guild1' and "1" or "2")) setGlobalStorageValue(words == '!guild1' and storages[1] or storages[2],getGuildId(param)) elseif words == '!guildoff' then setGlobalStorageValue(storages[1],0) setGlobalStorageValue(storages[2],0) doPlayerSendTextMessage(cid,4,"Slots resetados.") end return true end
  13. wtf? é na pasta MODS... ajudou?
  14. yes, no seu caso o points é essa coluna `premium_points` ?
  15. Blz, me passa 2 coisas pelo PM... o seu script da demon aok, ah que faz ele clicar com o axe pra entrar, ou tile sei lá, e a storage da task da demon q vc colocou
  16. Na verdade antigamente o !deathlist ele derrubava o ot sim, porque as funções da db foram trocadas e dava um puta bug por isso que fiz esse novo script, ai funciona normalmente
  17. achei a idéia interessante mas o código não ficou muito bom não '-' Acho que podia ser feito por db e a rádio poderia ter uma duração de algumas horas, ai podendo convidar player, e o dono da rádio poderia remover o cara que ele não quisesse da radio, lista dos players que estão 'ouvindo' a rádio e outra coisa é uma lista das rádios que o server possuir pra conecta tal mas ta legal sim, REP+
  18. sim, mas em qual task? ou ele tem que terminar todas para dar a permissão?
  19. Na verdade esse script é bem velho rsrs, tinha feito em um dos pedido do xtibia... Mas nem precisa pedir autorização não, ele colocou os créditos como deveria e não tem nenhum problema vlw
  • Quem Está Navegando   0 membros estão online

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