Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    113

Tudo que Vodkart postou

  1. De modo algum amigo, a função foi compartilhada na comunidade para ser aproveitada! Pode fazer que script você quiser xD
  2. Mas isso depende da quantia de frags que você tem, "X" frag tem um tempo e "Y" frag tem outro...
  3. O script é para remover uma quantia "X" frag do jogador, diferente do outro script de remover frags que removia todos de uma só vez. Importante: Você precisa colocar a função 'doPlayerRemoveFrag' na sua lib, segue o link: http://www.xtibia.com/forum/topic/192856-doplayerremovefragcid-count/ talkactions: Actions
  4. Sobre: É para remover certa quantidade de frags o jogador, a maioria dos script de clean frag removia todos =/ function doPlayerRemoveFrag(cid, count) -- by vodka local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0 if (query:getID() ~= -1) then repeat local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id")) if (gs:getDataInt("unjustified") ~= 0) then table.insert(t, query:getDataInt("kill_id")) k = k +1 end until not query:next() or k >= count query:free() end for _, frag in pairs(t) do db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag) end return true end uma talk de exemplo: function onSay(cid, words, param, channel) local amount = 2 if getPlayerFrags(cid) < amount then doPlayerSendCancel(cid,"You don't remover your frags.") return true end doPlayerRemoveFrag(cid, amount) doCreatureSay(cid, "Your frags and skulls is cleaned!", 19) doSendMagicEffect(getPlayerPosition(cid), 26) return true end
  5. @up esse não vai funcionar, tinha que ter passado o MODS junto... @topic atualizei o script pode suar já: http://www.xtibia.com/forum/topic/191311-comando-rank-atualizado/
  6. Beleza então fera, aguardo novos conteúdo seus! abraços
  7. palhaço! não sabe brincar rsrsrsrs boa
  8. também, o parâmetro da função está errada troca doCreatureSetDropLoot(cid, true) para doCreatureSetDropLoot(cid, false)
  9. funciona com a função main onDeath também
  10. function getNumeroInAlfabeto(letra) for letter = 1, 26, 1 do if string.format("%c", 96+letter) == letra then return letter end end end ou function getNumeroInAlfabeto(letra) for letter = string.byte("a"), string.byte("z") do if letra == string.char(letter) then return (letter-96) end end end
  11. http://www.xtibia.com/forum/topic/192816-not-drop-loot/page__pid__1325475#entry1325475
  12. Show de bola amigo! Não ficou nada mal, obrigado por compartilhar o código no xtibia! Estou vendo que vc é novo, já mexe com tibia há algum tempo?
  13. Desse modo retorna o ID do player: local query = db.getResult("SELECT `id`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 3 ORDER BY `level` DESC;") if (query:getID() ~= -1) then return query:getDataInt("id") end desse outro vai retornar o nome: local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 3 ORDER BY `level` DESC, `name` ASC;") if (query:getID() ~= -1) then return query:getDataString("name") end
  14. Vodkart

    Shop Points

    function onSay(cid, words, param) local t = { ["nightmare doll"] = {item ={117,1},points = 90}, ["sd"] = {item ={2268,100},points = 10} } local param,str = string.lower(param),"" if param == "" then doPlayerSendTextMessage(cid, 27, "Voce possui "..getPoints(cid).." creditos.") return true elseif param == 'lista' then for name, x in pairs(t) do str = str.."\nItem: "..name.." -> Price: [" ..x.points.."]" end doShowTextDialog(cid, 2529, str) return true end local buy = t[param] if not(buy) then doPlayerSendTextMessage(cid, 22, "desculpe, mas este não existe, digite !comando lista") return true elseif getPoints(cid) < buy.points then doPlayerSendTextMessage(cid, 22, "desculpe, mas você precisa de "..buy.points.." points para comprar o "..param) return true end local desc = doPlayerAddItem(cid, buy.item[1],buy.item[2]) doItemSetAttribute(desc,"description","Este Item foi obtido por "..getPlayerName(cid)..".") removePoints(cid,buy.points) doPlayerSendTextMessage(cid, 27, "Parabéns! você comprou "..buy.item[2].." ".. getItemNameById(buy.item[1]) ..".") return true end
  15. Vodkart

    Saudades...

    tudo em excesso faz mal O sucesso, autoridade, inteligência, talento, felicidade, sonhos, etc, em excesso nunca fizeram mal a ninguém
  16. Vodkart

    Saudades...

    estuda de novo, conhecimento nunca é demais;
  17. Vodkart

    Saudades...

    vai estudar rapaz fica esperando reposta num fórum de tibia
  18. function onDeath(cid, corpse, deathList) function getResets(cid) local check = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)) return check:getDataInt("reset") <= 0 and 0 or check:getDataInt("reset") end local config = { onlypremium = false, -- se precisa ser premium para não perder nada exp = false, -- se ao morrer o jogador irá perder exp skills = false, -- se ao morrer vai perder skills magic = false, -- se vai perder magic level loot = false, -- se ao morrer o jogador irá perder o loot level = 100 -- até que level irá proteger o player } if isPlayer(cid) and getPlayerLevel(cid) <= config.level and getResets(cid) == 0 then if config.onlypremium == true and not isPremium(cid) then return TRUE end if config.loot == false then doCreatureSetDropLoot(cid, false) end if config.magic == false then doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) end if config.skills == false then doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) end if config.exp == false then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end return TRUE end return TRUE end
  19. local query = db.getResult("SELECT `name` FROM `guilds` WHERE `gate` = 1 ;") if (query:getID() ~= -1) then doBroadcastMessage("Member of the "..query:getDataString("name").." got blabla bla") end vai pegar o nome da guild que tem gate 1 getDataString -> para pegar string getDataInt -> para pegar números agora de todas as guilds local query = db.getResult("SELECT `name`, `gate` FROM `guilds` WHERE `gate` > -1 ORDER BY `gate` DESC, `name` ASC;") if (query:getID() ~= -1) then doBroadcastMessage("Member of the "..query:getDataString("name").." have "..query:getDataInt("gate").." gates") end -- função para você function getGuildTopGate() local query = db.getResult("SELECT `name`, `gate` FROM `guilds` WHERE `gate` > -1 ORDER BY `gate` DESC, `name` ASC;") if (query:getID() ~= -1) then return query:getDataString("name") end return false end ai você usa if getPlayerGuildName(cid) == getGuildTopGate() then ... end
  20. function math.SumArray(array) local soma = 0 for _, i in pairs(array) do if type(i) == "number" then soma = soma + i end end return soma end
  21. daria para salvar todos os players online e depois checar
  22. @jNNo Algum erro? tem que ver a diferença de level cara.
  23. Mas se fosse para fazer desse modo não seria mais fácil retornar todos de uma vez? online/offline
  24. sim eu tinha visto esse problema ontem, por isso atualizei o script novamente pode usar o novo que está funcionando 100%
  • Quem Está Navegando   0 membros estão online

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