Ir para conteúdo

porkts

Membro
  • Registro em

  • Última visita

Tudo que porkts postou

  1. Uso o TFS 1.0 e tudo o que eu sabia de programação foi por água a baixo kkkk, na verdade estou com uma dificuldade enorme em aprender esse novo OO da linguagem, mas sem "arrudeios" como dizem.Quero um script de creaturescripts que ao matar o War Wolf, ele verifica se eu tenho o item 5884 e se eu tenho a storage 12070 com o valor 5 function onKill(cid, target, damage, flags) local player = Player(cid) if(isMonster(target)) then if (player:getStorageValue(12070) == 5) then if(string.lower(getCreatureName(target)) == "war wolf") then player:addMount(84) end end end return true end esse foi o script que eu tentei desenvolver (só faltou incluir o and no if e verificar se eu tenho o item 5884, mas não sei usar esse item:getcount() estou muito perdido
  2. porkts postou uma resposta no tópico em Suporte Tibia OTServer
    function onSay(player, words, param) local coisas = db.getResult("SELECT `level` FROM `global`.`players` WHERE `name` = 'Master Pig';") player_level = coisas:getDataInt("level") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Name: " .. player_level) end Fiz a mudança mas o erro persiste :X Quando eu jogo a Query no phpmyadmin ela da o retorno certo. UP
  3. porkts postou uma resposta no tópico em Suporte Tibia OTServer
    Estou tentando usar esse script em uma talkaction: function onSay(cid, words, param) local coisas = db.getResult("SELECT `level` FROM `otserv`.`players` WHERE `name` = 'Master Pig';") player_level = coisas:getDataInt("level") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Name: " .. player_level) end tentei simplificar o máximo possivel, mas o erro persiste
  4. Estou elaborando um NPC de Poupança, onde o player deposita um quantia de gold e essa quantia de gold "renderá" uma porcentagem por dia. O Script Gostaria de funções para implementar em um npc da seguinte forma: Tem uma Tabela (poupanca) com ID, player_id, data, balance Função doPlayerPoupancaAdd Verifica se o player tem na backpack o valor que ele quer depositar, se tiver, adiciona na coluna "balance" o valor que ele solicitou e a data do momento, no caso não sei se é melhor trabalhar com o os.time ou o os.date, caso não tenha, o npc informa que ele não tem dinheiro. Função doPlayerPoupancaRemove Verifica a data que o player quer remover, e faz o calculo com a data salva na DB pra saber quantos dias tem de diferença, multiplica o valor dos dias por x (taxa de "rendimento" do juros) e adiciona o dinheiro para o player. Função setPlayerPoupancaBalance Essa função é fácil, só verifica quando vai render de juros caso ele tire o dinheiro, por exemplo, o npc vai falar "Você tem ".. [balance*dias*rendimento] .." gold coins na sua conta, em 24 horas essa quantia irá render ".. [ balance*dias+1*rendimento ] .." gold coins, gostaria de retirar o seu gold?" Então pessoal, minha dúvida é essa. Eu sei fazer isso se fosse talkactions, e tal, mas quando envolve npc sei pouco sobre como lidar com conversação. Se alguém conseguir será de grande ajuda.
  5. Aqui o arquivo default.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 npcHandler:addModule(FocusModule:new())
  6. Então cara, já usei e o erro persiste :/ Pior que tem cara :/
  7. Pessoal estou com esse problema na maioria dos globais que eu baixo, meu pc tem 8 gb de ram!!
  8. porkts postou uma resposta no tópico em Recursos Avançados
    Entao Kimos eu fiz o seu tutorial e talz mas o xor nao aparece Tipo quando eu acho Hit Points e clico duas vezes aparece la na outra janela:
  9. porkts postou uma resposta no tópico em Recursos Avançados
    Bom pessoal, estou com uma duvida basica, no Olly como eu descubro o xor? e depois que eu pegar os endereços quais arquivos eu tenho que alterar do tibia api?
  10. Ah esqueci de falar, também fiz uma modificação que quando o cara forja o item fica com o nome dele na descrição do item "Forjado por Xumbrega" kkkkkk
  11. Max sou seu fã kkkk, bom eu dei uma editado aqui no script agora pode por level pra poder forja, eu fiz por eu tava precisando então se alguém precisar tb aqui está: No arquivo Smith em actions cole isso: --[[ ################################################ ## Smith System ## ## Author: Maxwell Denisson(MaXwEllDeN) ## ## Version: 1.0 ## ################################################ ]] function onUse(cid, item, frompos, item2, topos) local tekz, takz, tikz, XTz = {}, {}, {}, {} for _, v in pairs(getAllItemsInPos(topos, {1642, 1643, 1644, 1645, 1617, 1618, 1620, 1621})) do table.insert(takz, v) end for _, v in pairs(takz) do if not isInArray(tikz, v.uid) then if (v.itemid ~= 2555) then table.insert(XTz, v) end table.insert(tikz, v.uid) table.insert(tekz, v.itemid) end end if not (isInArray(tekz, 2555)) then return false end local u, d = _SMITHY_.getRevenue(topos) if (u == 0) then for i, v in pairs(d) do if (math.random(100) > 49) then local tp = (v.type > 0) and v.type or 1 doRemoveItem(v.uid, tp) end end if (#d > 0) then doSendMagicEffect(topos, 3) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Failure!") end return true end local rec = _SMITHY_.receitas[u] if (math.random(10) + _SMITHY_.getLevel(cid) < rec.dif) then for i, v in pairs(d) do if (math.random(100) > 49) then local tp = (v.type > 0) and v.type or 1 doRemoveItem(v.uid, tp) end end doSendMagicEffect(topos, 3) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Failure!") end if getPlayerLevel(cid) < rec.lvl then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "No have level!") end local xp = math.random(10) + rec.dif doSendAnimatedText(getThingPos(cid), xp, 125) _SMITHY_.addExp(cid, xp) if (_SMITHY_.getExp(cid) >= _SMITHY_.getExpToNextLevel(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You advanced from level ".. _SMITHY_.getLevel(cid) .. " to level ".. _SMITHY_.getLevel(cid) + 1 .. ", in smithy skills.") _SMITHY_.addLevel(cid, 1) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Experience: ".. _SMITHY_.getExp(cid) .. "/".. _SMITHY_.getExpLevel(_SMITHY_.getLevel(cid) + 1) ..".") for _, v in pairs(d) do local tp = (v.type > 0) and v.type or 1 doRemoveItem(v.uid, tp) end doSendMagicEffect(topos, 3) doItemSetAttribute(doCreateItem(rec.ma[1], rec.ma[2], topos), "description", "Forjado por ".. getCreatureName(cid) .."") doPlayerSendTextMessage(cid, 25, "You've forged a ".. getItemNameById(rec.ma[1]) .. "!") return TRUE end agora em SmithLib, na pasta lib cole isso: --[[ ################################################ ## Smith System ## ## Author: Maxwell Denisson(MaXwEllDeN) ## ## Version: 1.0 ## ################################################ ]] _SMITHY_ = { exp_b = 40, receitas = { --dif = Dificuldade [1] = {dif = 5, -- Staff lvl = 150, re = {{5892, 2}, }, ma = {2401, 1} }, [2] = {dif = 1, -- Staff lvl = 150, re = {{5901, 5}, {5880, 1}, }, ma = {2401, 1} }, } } _SMITHY_.getRevenue = function (pos) local recs = {} local ipos = {} local posi = {} local block = {1642, 1643, 1644, 1645, 1617, 1618, 1620, 1621, 2555} local IDEx = 0 for i, v in pairs(_SMITHY_.receitas) do recs[i] = {} for _, a in pairs(v.re) do for b = 1, a[2] do table.insert(recs[i], a[1]) end end end local Zk = {} for _, v in pairs(getAllItemsInPos(pos, block)) do if not isInArray(Zk, v.uid) then table.insert(ipos, v) table.insert(Zk, v.uid) end end for _, v in pairs(ipos) do local t = (v.type > 0) and v.type or 1 for te = 1, t do table.insert(posi, v.itemid) end end for _, v in pairs(recs) do local AE = true for x, i in pairs(posi) do if (AE) then if (not isInArray(v, i)) or (#v ~= #posi) then AE = false else IDEx = _ end end end end if (#recs < 1) then return 0, ipos else return IDEx, ipos end end _SMITHY_.getExp = function (uid) if (getPlayerStorageValue(uid, 58913) < 1) then setPlayerStorageValue(uid, 58913, 0) end return getPlayerStorageValue(uid, 58913) end _SMITHY_.getLevel = function (uid) if (getPlayerStorageValue(uid, 58912) < 1) then setPlayerStorageValue(uid, 58912, 1) end return getPlayerStorageValue(uid, 58912) end _SMITHY_.addLevel = function (uid, ammount) local level = _SMITHY_.getLevel(uid) return setPlayerStorageValue(uid, 58912, level + ammount) end _SMITHY_.getExpToNextLevel = function (uid) return _SMITHY_.getExpLevel(_SMITHY_.getLevel(uid) + 1) end _SMITHY_.getExpLevel = function (level) return level * (_SMITHY_.exp_b) + (level - 1* (_SMITHY_.exp_b)) end _SMITHY_.setExp = function (uid, ammount) return setPlayerStorageValue(uid, 58913, ammount) end _SMITHY_.addExp = function (uid, ammount) local xp = _SMITHY_.getExp(uid) return _SMITHY_.setExp(uid, xp + ammount) end function getAllItemsInPos(pos, block) local results = {} for _ = 1, 255 do local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _} local item = getThingFromPos(findPos) if (not isInArray(block, item.itemid)) and (item.uid > 1) then table.insert(results, item) end end return results end Ai no parte: [1] = {dif = 5, -- Staff lvl = 150, re = {{5892, 2}, }, ma = {2401, 1} }, Onde tem lvl é o level que o player tem que ter pra poder forja Ahh e dei uma editada na parte que manda as msg pro player (fail, etc) pq geralmente os negoh tem preguiça de ir ver no serverlog kkkkk agora manda pro default. Foi uma simples modificação, o cabeça da questão é o Max kkkkkk
  12. Cara deu um erro cabuloso aqui oO Tipo eu botei pra ganhar com 15 frags, ai o time verde fez 14 e no 15 não tava indo oO e tava dando esse erro na distro: Ai eu disse pra deixarem o outro time fazer alguns pontos, depois que fizeram uns pontos, o outro time conseguiu fazer o ultimo oO o que danado pode ser isso ein meu brother? Alias, OTIMO SCRIPT cara quero sabe de onde vc tira essas ideias mirabolantes kkkkkk
  13. porkts postou uma resposta no tópico em Tibia Auto
    Ai seria em outra parte, sem ser o auto attack
  14. Bom estou a recrutar pessoas para me ajudar no otserv, se quiserem dar uma olhada (xingocity.servegame.com) Estou necessitando de todo tipo de função (suporte in-game, scripter, spells maker, mapper, rpg makker, etc..) Claro que o ajudante terá parte do lucro do otserv divido 15% pra ele. Formulário de Inscrição: Nome: (completo) Idade: Email: Residente: (onde mora) Telefone: (residencial ou/e celular de preferência os dois) Função: (função que quer desempenhar no servidor) Experiência: (quanto tempo meche com isso) Por que: (bom aqui você deve falar o porque que eu deveria te escolher) Bom, é isso ai pessoal
  15. Porra cara vc é meu salvador kkkkkkkkkkkk Te amo! kkk (+rep) Só uma duvida, onde eu boto isso? kkkkk
  16. Galera, estou querendo saber como eu faço pra impedir do player usar certa runa (Magic Wall) em uma área?
  17. Não sei como funciona mas vou dar um @up
  18. Galera to fazendo uma quest ai tipo tem como se fosse um labirinto, o player puxa uma alavanca e some 3 parades, depois puxa outra some 2 e ai puxa a ultima ai some 3 paredes liberando o caminho, só que tipo quando o cara puxa a alavanca, some as paredes normal só que era pra aparecer uma open door (porta aberta) no lugar mais não aparece, da esse erro aqui: Aqui está o script que eu fiz: function onUse(cid, item, pos) pos1 = { x=32368, y=31952, z=7, stackpos=1} pos2 = { x=32366, y=31946, z=7, stackpos=1} pos3 = { x=32364, y=31946, z=7, stackpos=1} pos4 = { x=32368, y=31950, z=7, stackpos=1} pos5 = { x=32364, y=31948, z=7, stackpos=1} pos6 = { x=32368, y=31948, z=7, stackpos=1} pos7 = { x=32365, y=31951, z=7, stackpos=1} pos8 = { x=32364, y=31953, z=7, stackpos=1} if (item.itemid == 1945) then if (item.uid == 32360) then if pos1.itemid == 5155 and pos2.itemid == 5155 and pos3.itemid == 5154 then doRemoveItem(pos1.uid, 1) doRemoveItem(pos2.uid, 1) doRemoveItem(pos3.uid, 1) doCreateItem(1211,1,pos1) doCreateItem(1214,1,pos2) doCreateItem(1211,1,pos3) end if (item.itemid == 1945) then doTransformItem(item.uid, 1946) end end if (item.uid == 32361) then if pos4.itemid == 1036 and pos5.itemid == 5155 then doRemoveItem(pos4.uid, 1) doRemoveItem(pos5.uid, 1) doCreateItem(1211,1,pos4) doCreateItem(1211,1,pos5) end if (item.itemid == 1945) then doTransformItem(item.uid, 1946) end end if (item.uid == 32362) then if pos6.itemid == 5155 and pos7.itemid == 1037 and pos8.itemid == 5155 then doRemoveItem(pos6.uid, 1) doRemoveItem(pos7.uid, 1) doRemoveItem(pos8.uid, 1) doCreateItem(1211,1,pos6) doCreateItem(1214,1,pos7) doCreateItem(1211,1,pos8) end if (item.itemid == 1945) then doTransformItem(item.uid, 1946) end end elseif (item.itemid == 1946) then if (item.uid == 32360) then if pos1.itemid == 1211 and pos2.itemid == 1214 and pos3.itemid == 1211 then doRemoveItem(pos1.uid, 1) doRemoveItem(pos2.uid, 1) doRemoveItem(pos3.uid, 1) doCreateItem(5155,1,pos1) doCreateItem(5155,1,pos2) doCreateItem(5154,1,pos3) end if (item.itemid == 1946) then doTransformItem(item.uid, 1945) end end if (item.uid == 32361) then if pos4.itemid == 1211 and pos5.itemid == 1211 then doRemoveItem(pos4.uid, 1) doRemoveItem(pos5.uid, 1) doCreateItem(1036,1,pos4) doCreateItem(5155,1,pos5) end if (item.itemid == 1946) then doTransformItem(item.uid, 1945) end end if (item.uid == 32362) then if pos6.itemid == 1211 and pos7.itemid == 1214 and pos8.itemid == 1211 then doRemoveItem(pos6.uid, 1) doRemoveItem(pos7.uid, 1) doRemoveItem(pos8.uid, 1) doCreateItem(5155,1,pos6) doCreateItem(1037,1,pos7) doCreateItem(5155,1,pos8) end if (item.itemid == 1946) then doTransformItem(item.uid, 1945) end end end return 1 end
  19. Galera eu peguei esse script aqui (http://www.tibiaking...erewolf-system/) Mas eu queria modificar pra tipo: Escolher um player aleatório que esteja online pra se transformar Ele transformado podia matar os outros sem pegar skull Os outros players tinham que matar ele se matassem quem matou ganhava um item Quando o cara se transformasse aparecia pra todos mundo "Zé da imaté esta transformado em lobisomem!" ​Alguém ai pode me ajudar?
  20. Tipo tem que apagar tudo, das tabelas: Player_items / Player_depotitems / ( e outra que é das houses só que não sei qual é)
  21. Sim sim deu certo, com algumas ressalvas Atenção pessoal: Os players tem que estar usando os items! Exemplo: O cara tem uma bota vip (usando) e outra na bp, quando vocês excluir os items e deixar apenas os vip, a bota que ele estava usando vai ficar, mas a outra que estava dentro da bp não vai ficar! então quem precisar fazer o msm que eu, falem para os player usarem todos os items vips! Bom só isso msm, duvida sanada
  22. Cara eu te amo!!! Onde você mora pra eu ir ai dar pra vc kkkkkkk (brincadeira viu pessoal --' ) blz vo fazer isso msm
  23. Querido amigo Subyth jpa tinha visto essas query, mas tipo essa ultima de deletar tal item do player, não tem ocmo modificar ela e botar tipo "se o item no for igual a x, delete" onde x seria o item vip?

Informação Importante

Confirmação de Termo