Ir para conteúdo

adolfbig

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    adolfbig recebeu reputação de deryckson em AJUDA - NTO - LIMITE DE EFEITOS   
    vai em seu servidor> data> talkactions> scripts> magiceffect.lua
    function onSay(cid, words, param, channel) param = tonumber(param) if(not param or param < 0 or param > 290) then ---- mude esse 290 doPlayerSendCancel(cid, "Numeric param may not be lower than 0 and higher than " .. 290 .. ".") --- mude esse numero para o numero de efeitos até onde tiver no client e é gg return true end doSendMagicEffect(getCreaturePosition(cid), param) return true end  
  2. Gostei
    adolfbig deu reputação a Nazo em Erro na data base   
    Tem como você upar o código da database antiga?
    Isso pode ser uma solução temporária, mas não é garantida o funcionamento:
    ALTER TABLE guilds ADD COLUMN checkdata DATE; ALTER TABLE killers ADD COLUMN war INT; Execute essas duas linhas no MySQL do seu servidor, pelo seu xampp ou phpMyAdmin.
  3. Gostei
    adolfbig deu reputação a Ackerzin em Usar 2 buffs ao mesmo tempo   
    Acabei de enxer o saco do @KotZletY no discord, e ele explicou certinho, aconselho que façam o mesmo, zoeira, HEIUAHEa

     
    setConditionParam(condition, CONDITION_PARAM_SUBID, 1) Isso ai em cima é o SUBID que ele fala, você tem que por isso, com numeros diferentes em cada Buff, no caso no script ai ficaria assim.
     
  4. Gostei
    Em GlobalEvents crie um Arquivo chamado Check.lua 
    local function CheckPlayer_Items() query = db.getResult("SELECT *, SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) AS 'serial' FROM player_items WHERE CONVERT( attributes USING latin1 ) LIKE '%description%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) having count(*) > 1") if (query:getID() == -1) then textquery = "\n Check Items : Nenhum item encontrado." print(textquery) return true end if (query:getID() ~= -1) then text = "\n[!] -> Deleting item player_items: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: "..(query:getDataInt("sid")).." - Pid: "..(query:getDataInt("pid")).." - Itemtype: "..(query:getDataInt("itemtype")).." - Serial: " .. query:getDataString("serial") .."" db.query("DELETE FROM `otservs`.`player_items` WHERE `player_items`.`player_id` =" .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` ="..(query:getDataInt("sid")).." AND `player_items`.`pid` ="..(query:getDataInt("pid"))..";") db.query("DELETE FROM `otservs`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `otservs`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: "..text.." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n\n----------------------------------------------------------\n") f:close() print(text) if (query:getID() == -1) then textplayer_items = "\n Check Items : Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_Items() end return true end local function CheckPlayer_DepotItems() query = db.getResult("SELECT *, SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) AS 'serial' FROM player_depotitems WHERE CONVERT( attributes USING latin1 ) LIKE '%description%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) having count(*) > 1") if (query:getID() == -1) then textquery = "\n Check Items : Nenhum item encontrado." print(textquery) return true end if (query:getID() ~= -1) then text = "\n[!] -> Deleting item player_depotitems: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: "..(query:getDataInt("sid")).." - Pid: "..(query:getDataInt("pid")).." - Itemtype: "..(query:getDataInt("itemtype")).." - Serial: " .. query:getDataString("serial") .."" db.query("DELETE FROM `otservs`.`player_items` WHERE `player_items`.`player_id` =" .. (query:getDataInt("player_id")) .. " AND `player_items`.`sid` ="..(query:getDataInt("sid")).." AND `player_items`.`pid` ="..(query:getDataInt("pid"))..";") db.query("DELETE FROM `otservs`.`player_depotitems` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") db.query("DELETE FROM `otservs`.`tile_items` WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 22) = " .. db.escapeString(query:getDataString("serial")) .. ";") f = io.open("data/logs/AntiClone.txt", "a+") f:write("Player: "..text.." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n\n----------------------------------------------------------\n") f:close() print(text) if (query:getID() == -1) then textplayer_items = "\n Check Items : Todos os Items Foram Removidos." print(textplayer_items) return true end CheckPlayer_DepotItems() end return true end function onStartup() CheckPlayer_Items() CheckPlayer_DepotItems() return true end em globalevents.xml Adicione
    <globalevent name="AntiClone" type="start" event="script" value="Check.lua"/> Para Adicionar a Opção de Verificar itens Clonados Adicione um Serial em todos os Itens Vips :
     
    em shop.lua Adicione ( Modern Acc )
    function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(getPlayerNameByGUID(tonumber(result:getDataInt("player")))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local um_um = {1,2,3,4,5,6,7,8,9,0} um = um_um[math.random(1, #um_um)] local dois_dois = {1,2,3,4,5,6,7,8,9,0} dois = dois_dois[math.random(1, #dois_dois)] local tres_tres = {1,2,3,4,5,6,7,8,9,0} tres = tres_tres[math.random(1, #tres_tres)] local quatro_quatro = {1,2,3,4,5,6,7,8,9,0} quatro = quatro_quatro[math.random(1, #quatro_quatro)] local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doPlayerAddItem(cid, id, count, false) if received then doItemSetAttribute(received, "description", ''.. productn ..' by ' .. getCreatureName(cid) .. ' [ID:' .. um .. '' .. dois .. '' .. tres .. '' .. quatro .. '].') doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") f = io.open("data/logs/Shop.txt", "a+") f:write("Player : '".. productn .." by ".. getCreatureName(cid) .." [ID: ".. um .."".. dois .."".. tres .."".. quatro .."] Item : "..productn.." - "..getCreatureName(cid).."- " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Tag : 
    <globalevent name="shop" interval="3000" event="script" value="shop.lua"/> Creditos : Emerson Henrique < DBO INFINITY>
     
    Comandos e Codigos Adaptados de varios sistemas 
     
    Ajuda : Arthur Luna (Ajudou no limite de Caracteres)
     
    PS : Meu Shop salva na db. apenas o ID do player e não o nome essa Adaptação não vou disponibilizar.
     
    http://otsbrasil.com/dbo Servidor Derivado Dragon Ball Online 8.6 + Cast System + War System entre outros sistemas.
     
    [ADM] Aaron
     
    Autorizo modificações e Postar em Qualquer Forum, esse codigo é meu e fiz de graça e forneço de Graça.
     
    PS2 : Se Possivel mudar o Titulo para 
     
    Anti Clone System [GlobalEvents] Shop.lua[Modern Acc] / CheckItens.lua
  5. Gostei
    adolfbig deu reputação a BangxD em Adicionar CoolDown em Buff   
    tenta esse ae
  6. Curtir
    adolfbig deu reputação a Nazo em Adicionar CoolDown em Buff   
    Testa aqui:
    -- edited by Nazo (tibiaking.com) local outfit = {lookType = 154} -- outfit local tempo = 120 -- tempo em segundos. local effect = {191} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local cooldown = 300 -- cooldown em segundos. local ml = 45 -- quantos ira aumentar o skill de ML local skillfist = 40 -- quantos ira aumentar o skill de Fist local skillsword = 40 -- quantos ira aumentar o skill de Sword local skillaxe = 40 -- quantos ira aumentar o skill de Axe local skillclub = 45 -- quantos ira aumentar o skill de Club local skilldistance = 40 -- quantos ira aumentar o skill de Distance local skillshield = 40 -- quantos ira aumentar o skill de Shield local health = 150 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function magicEffect2076(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo*1000) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if (getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false) and (getPlayerStorageValue(cid, 102054) <= os.time()) then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect2076, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. setPlayerStorageValue(cid, 102054,os.time()+cooldown+tempo) -- adiciona o cooldown a partir do primeiro uso doCreatureSay(cid, "AAAAAAAAAAA QUE DELICIA CARA!", TALKTYPE_MONSTER) doSendMagicEffect(position129, 275) else doPlayerSendCancel(cid, "Sorry, you are transformed or the spell are in cooldown.") end end Deixei o cooldown de modo que ele comece após o término do tempo total do buff, ou seja, se eu usei a spell ao 00:00, e durar 5 minutos o buff, e o cooldown for de 5 minutos, 00:05 acaba o buff, 00:10 posso utilizar novamente.
  7. Curtir
    adolfbig deu reputação a BangxD em Adicionar CoolDown em Buff   
    se o meu funcionou lembra de muda o segundos, sempre passando do segundos do efeito
     
    cooldown = 140,
  8. Haha
    adolfbig recebeu reputação de KotZletY em (Resolvido)Não consigo aumentar efeitos tfs 3777 linux   
    eu havia resolvido, era o client, eu tinha pego o client antigo e como eles tinham as mesmas características, não deu pra perceber, eu refiz passo a passo do 0 para ter certeza onde eu estava errando, era no client :s
  9. Gostei
    adolfbig deu reputação a KotZletY em (Resolvido)Não consigo aumentar efeitos tfs 3777 linux   
    @adolfbig modificou o client também ?
  10. Gostei
    adolfbig deu reputação a Skydrowz em (Resolvido)Hospedar site tibia   
    Não... Primeiro você compra o domínio para o seu site, depois direciona sua VPS ao mesmo. Geralmente o direcionamento é feito pela própria empresa responsável pela sua VPS. Crie um ticket de suporte no site que hosteia sua VPS e peça para que redirecionem sua VPS ao seu domínio. Eles vão pedir sua conta e senha(pode confiar, eu mesmo já fiz) da GoDaddy para poder configurar alguns dados e pronto, sua VPS vai ser redirecionada.
     
  11. Gostei
    adolfbig deu reputação a Storm em [Duvida] Erro item não remove na spell   
    local storage = 454254 local time = 10.0 -- Exaust da spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) -- Aqui coloque o ID do objeto local arr = { {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion ...") return doSendMagicEffect(getCreaturePosition(cid), 2) end exhaustion.set(cid, storage, time) return doCombat(cid, combat, var) end Agora, vá no itens.XML e de um CTRL + F e procure pelo ID da wall e coloque essas tag;
    <attribute key="decayTo" value="0" /> <attribute key="duration" value="XXX" /> Onde está XXX é a duração do item.
  12. Gostei
    adolfbig deu reputação a Godofcritic em [Erro] Ot Item Editor   
    Ta aqui a solução. Usa isto;
    Tem o RME e o spr e dat. 
    Doc.rar
  13. Gostei
    adolfbig deu reputação a hallanehallex em [Erro] Ot Item Editor   
    @adolfbig , verifique se o seu SPR e DAT está extendido, pois o creio que OTItemEditor só funciona com SPR e DAT deaumentados (que não estão extendido), caso seja esse o motivo vou lhe passar um Editor de Itens que abre SPR e DAT extendidos.
    Download >> ItemEditor.rar
    Link do Scan >> Scan
     
     
     
     
     
     
    Se Ajudei, REP+ 
  14. Gostei
    adolfbig deu reputação a hallanehallex em [Erro] Ot Item Editor   
    @adolfbig, vai na pasta do seu ItemEditor/Plugins abra o arquivo chamado PluginTwo.xml
    procure por:
     
     
    e substitua por
     
     
  15. Gostei
    adolfbig deu reputação a hallanehallex em [Erro] Ot Item Editor   
    @Godofcritic 
    Não tenho muito conhecimento nessa área só sei alguma coisa pois quando estava criando otservers passei por vários problemas e bugs tanto pra client, map e programação quanto pra script
     
    @adolfbig , poderia me passar seu arquivo items.otb para tentar identificar o problema?
  16. Gostei
    adolfbig deu reputação a Storm em [Erro] Spell aparece com erro   
    local toPos = {x = 1517, y = 756, z = 7} --pos para onde o player vai ser teleportado local newPos = {x = 1517, y = 758, z = 7} --pos para inimigo local time = 30 local function teleport(cid, pos) if isCreature(cid) then doTeleportThing(cid, getClosestFreeTile(cid, pos)) doSendMagicEffect(getPlayerPosition(cid), 215) end end function onCastSpell(cid, var) if exhaustion.check(cid, 23083) == false then exhaustion.set(cid, 23083, 120) else doPlayerSendCancel(cid, "A Habilidade esta em tempo de recarga espere " ..exhaustion.get(cid, 23083).." segundos.") return false end local target = getCreatureTarget(cid) if not isCreature(target) then return doPlayerSendTextMessage(cid, 27, "Ataque um jogador para utilizar essa habilidade.") end local posTarget = getPlayerPosition(target) doTeleportThing(cid, toPos, false) teleport(target, newPos) addEvent(teleport, time*1000, cid, posTarget) addEvent(teleport, time*1000, target, posTarget) doSendMagicEffect(posTarget, 215) return true end  
  17. Gostei
    adolfbig deu reputação a Storm em [Pedido] Prender player no chão por x tempo   
    function onCastSpell(cid, var) local target = getCreatureTarget(cid) local waittime = 60 -- tempo para poder travar o player dnv ( em segundos ) local storage = 2521 local time = 5 -- segundos que o target ficará preso local effect = 5 if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Você tem que espera " .. exhaustion.get(cid, storage) .. " segundos.") return false end exhaustion.set(cid, storage, waittime) doCreatureSetNoMove(target, true) doSendMagicEffect(getCreaturePosition(target), effect) addEvent(doSendMagicEffect, time * 1000, getCreaturePosition(target), effect) addEvent(doCreatureSetNoMove, time * 1001, target, false) return true end  
  18. Gostei
    adolfbig deu reputação a Storm em [Pedido] Adicionar dano e tempo em spell   
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local jogadorpos = getCreaturePosition(cid) local target = getCreatureTarget(cid) local monsterpos = getCreaturePosition(target) local waittime = 60 -- Exaust local storage = 2521 if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Você tem que espera " .. exhaustion.get(cid, storage) .. " segundos.") return false end if target == isMonster or isCreature then doTeleportThing(cid,monsterpos) doSendMagicEffect(jogadorpos, 10) exhaustion.set(cid, storage, waittime) return doCombat(cid, combat, var) else doPlayerSendTextMessage(cid, 20, 'Precisa Selecionar um Alvo') end end  
  19. Curtir
    adolfbig deu reputação a King Laker em Script !saga   
    Obrigado!
    Obrigado!
  20. Gostei
    adolfbig deu reputação a Storm em [Pedido] Adicionar efeito numa spell   
    Mecha nas ultimas linhas ; 
    function removeItem(posAll) local effect = 3 for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) doSendMagicEffect(pos_stack, effect) end end end end  
  21. Gostei
    adolfbig deu reputação a Storm em [Pedido] Adicionar efeito numa spell   
    @adolfbig Mecha nessas linhas ; 
    for i=1, #posAll do if isWalkable(posAll[i]) then local efeito = 3 doCreateItem(item_id, 1, posAll[i]) doSendMagicEffect(posAll[i], efeito) end end  
  22. Gostei
    adolfbig deu reputação a WooX em [Pedido] Pic editor   
    https://www.virustotal.com/#/file/b77302933a974cb3365c80885e818ee764b0543b2a92b94680e96796d40f59db/detection
    Elime's_Pic_Editor.exe
  23. Gostei
    adolfbig deu reputação a gabriel28 em [Pedido] Colocar numeração em spell de cura   
    @adolfbig 
    Isso é em config.lua que faz. Você procura por showHealingDamage e muda o false pra true.
  24. Gostei
    adolfbig deu reputação a Zwarttyp em [Pedido] Spell de imortalidade temporária   
    @adolfbig cara o @xWhiteWolf ele criou uma spell assim
     
     
  25. Curtir
    adolfbig recebeu reputação de felippepsa em Magic lvl upando muito rápido   
    Obrigado, resolveu aqui

Informação Importante

Confirmação de Termo