Histórico de Curtidas
-
djteteh deu reputação a Mateus Robeerto em Reset System OTX 2Tive que pesquisar um pouco e encontrei uma solução que deve funcionar para você, pois utiliza SQLite. Será necessário fazer algumas alterações em sua source e no SQLite. Depois, você pode adicionar os scripts que enviei. É possível que funcione sem precisar usar MySQL.
https://tibiaking.com/forums/topic/32727-reset-system/
-
djteteh deu reputação a Mateus Robeerto em Reset System OTX 2Cara, eu já enviei um link que tem tudo o que você estava procurando: É só pegar o NPC "Master Reset", o CreatureScript também, as libs... Pegue essas coisas e coloque em seu servidor, é simples.
'-'
Para que serve reset? A cada 1000 leveis você pode recomeçar do inicio, seu char voltará ao level 8, porém você agora terá + 2.0% de dano por reset +10% de exp, +5% ganho de vida e mana ao upar level.
Obs: Se você quiser fazer ajustes do seu jeito, fique à vontade. É muito simples e fácil de configurar.
npc- Master Reset.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) local pid = getPlayerGUID(cid) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'master reset') then doPlayerPopupFYI(cid, "Master Reset\n\n(Sobre o Sistema)\n(+)Reset parcial do personagem\n(+)Chance de resetar level mais alto\n(+)Não perde quests,task, dodge e nem critical\n(+)Não perde skills.\n\n (ATENÇÃO!)\n\nO Master Reset volta o seu personagem ao level 30, reset 0, life e mana inicial!!") selfSay('Tendo em vista todas as informações apresentadas, você realmente deseja dar um Master Reset? Esse processo tem um custo de 100 vip coins e é irreversível! Diga {yes} para confirmar.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if doPlayerRemoveItem(cid, 6527,100) then --Tira toda a vida e soma + 185 doCreatureAddHealth(cid, -getCreatureHealth(cid)+185) setCreatureMaxHealth(cid,185) --Tira toda a mana e soma + 35 doCreatureAddMana(cid, -getCreatureMana(cid)+35) setCreatureMaxMana(cid,35) doTeleportThing(cid, getTownTemplePosition(1)) doRemoveCreature(cid) local reset_level = "UPDATE players SET level = 30 WHERE id= " ..pid.. ";" local reset_query = "UPDATE players SET reset = 0 WHERE id= " ..pid.. ";" local reset_exp = "UPDATE players SET experience = 4200 WHERE id= " ..pid.. ";" db.executeQuery(reset_exp) db.executeQuery(reset_query) db.executeQuery(reset_level) else selfSay("Você não possui 100 event tokens", cid) end talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
creaturescrpt
<!-- Reset System --> <event type="login" name="RSLogin" script="reset_system.lua"/> reset_system.lua
function onLogin(cid) ResetSystem:addBonuses(cid) registerCreatureEvent(cid, "RSGainExperience") registerCreatureEvent(cid, "RSAdvance") return true end function onGainExperience(cid, source, experience) local resetBonus = ResetSystem:getInfo(cid) if (resetBonus and resetBonus.exp_percent > 0) then experience = experience * (1.0 + (resetBonus.exp_percent / 100.0)) end return experience end
data/libs/reset.lua
ResetSystem = { back_to_level = 500, Reset = { [1] = {needed_level = 15000, damage_percent = 2}, [2] = {needed_level = 16000, damage_percent = 4}, [3] = {needed_level = 16500, damage_percent = 6}, [4] = {needed_level = 16700, damage_percent = 8}, [5] = {needed_level = 20000, damage_percent = 10}, [6] = {needed_level = 20000, damage_percent = 12}, [7] = {needed_level = 20000, damage_percent = 14}, [8] = {needed_level = 20000, damage_percent = 16}, [9] = {needed_level = 20000, damage_percent = 18}, [10] = {needed_level = 21000, damage_percent = 20}, [11] = {needed_level = 21000, damage_percent = 22}, [12] = {needed_level = 21000, damage_percent = 24}, [13] = {needed_level = 21000, damage_percent = 26}, [14] = {needed_level = 21000, damage_percent = 28}, [15] = {needed_level = 22500, damage_percent = 30}, [16] = {needed_level = 24000, damage_percent = 32}, [17] = {needed_level = 25500, damage_percent = 34}, [18] = {needed_level = 27000, damage_percent = 36}, [19] = {needed_level = 28500, damage_percent = 38}, [20] = {needed_level = 30000, damage_percent = 40}, [21] = {needed_level = 31500, damage_percent = 42}, [22] = {needed_level = 33000, damage_percent = 44}, [23] = {needed_level = 34500, damage_percent = 46}, [24] = {needed_level = 36000, damage_percent = 48}, [25] = {needed_level = 37500, damage_percent = 50}, [26] = {needed_level = 39000, damage_percent = 52}, [27] = {needed_level = 40500, damage_percent = 54}, [28] = {needed_level = 42000, damage_percent = 56}, [29] = {needed_level = 43500, damage_percent = 58}, [30] = {needed_level = 45000, damage_percent = 60}, [31] = {needed_level = 46500, damage_percent = 62}, [32] = {needed_level = 48000, damage_percent = 64}, [33] = {needed_level = 49500, damage_percent = 66}, [34] = {needed_level = 51000, damage_percent = 68}, [35] = {needed_level = 52500, damage_percent = 70}, [36] = {needed_level = 54000, damage_percent = 72}, [37] = {needed_level = 55500, damage_percent = 74}, [38] = {needed_level = 57000, damage_percent = 76}, [39] = {needed_level = 58500, damage_percent = 78}, [40] = {needed_level = 60000, damage_percent = 80}, [41] = {needed_level = 61500, damage_percent = 82}, [42] = {needed_level = 63000, damage_percent = 84}, [43] = {needed_level = 64500, damage_percent = 86}, [44] = {needed_level = 66000, damage_percent = 88}, [45] = {needed_level = 67500, damage_percent = 90}, [46] = {needed_level = 69000, damage_percent = 92}, [47] = {needed_level = 70500, damage_percent = 94}, [48] = {needed_level = 72000, damage_percent = 96}, [49] = {needed_level = 73500, damage_percent = 98}, [50] = {needed_level = 75000, damage_percent = 100}, [51] = {needed_level = 80000, damage_percent = 102}, [52] = {needed_level = 85000, damage_percent = 104}, [53] = {needed_level = 90000, damage_percent = 106}, [54] = {needed_level = 100000, damage_percent = 108}, [55] = {needed_level = 110000, damage_percent = 110}, [56] = {needed_level = 130000, damage_percent = 112}, [57] = {needed_level = 150000, damage_percent = 114}, [58] = {needed_level = 170000, damage_percent = 116}, [59] = {needed_level = 180000, damage_percent = 118}, [60] = {needed_level = 200000, damage_percent = 120}, } } function ResetSystem:getCount(pid) return getPlayerResets(pid) end function ResetSystem:setCount(pid, value) setPlayerResets(pid, value) end function ResetSystem:addCount(pid) self:setCount(pid, self:getCount(pid) + 1) end function ResetSystem:getInfo(pid) return self.Reset[math.min(self:getCount(pid), #self.Reset)] end function ResetSystem:addBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) + (bonus.damage_percent / 100.0)) end end function ResetSystem:removeBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) - (bonus.damage_percent / 100.0)) end end function ResetSystem:execute(pid) self:removeBonuses(pid) local oldMaxHealth = getCreatureMaxHealth(pid) local oldMaxMana = getCreatureMaxMana(pid) local playerLevel = getPlayerLevel(pid) if (playerLevel > self.back_to_level) then doPlayerAddExperience(pid, getExperienceForLevel(self.back_to_level) - getPlayerExperience(pid)) playerLevel = self.back_to_level end self:addCount(pid) self:addBonuses(pid) setCreatureMaxHealth(pid, oldMaxHealth) setCreatureMaxMana(pid, oldMaxMana) doCreatureAddHealth(pid, oldMaxHealth) doCreatureAddMana(pid, oldMaxMana) local bonus = self:getInfo(pid) if (bonus) then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. self:getCount(pid) .. "° RESET." if (bonus.damage_percent) then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, message) doRemoveCreature(pid) end end
Talkaction
reset_info.lua
function onSay(cid, words, param) if(not checkExhausted(cid, 666, 5)) then return true end doPlayerPopupFYI(cid, "O que é o sistema de resets?\nO sistema de resets consiste em melhorar sua jogabilidade, ou seja, quanto mais resets, mais resistente seu personagem será.\nLembrando que quando resetado, o personagem volta aos leveis iniciais, a cap retorna ao valor equivalente ao nível. Suas skills permanecem as mesmas.\n\nComo resetar e quando resetar?\nPara resetar, use o comando (!resetar). Você pode resetar a partir de 15000 leveis, variando conforme os resetes for aumentando.\n\n* Quanto maior o level que você resetar, mais life e mana terá e quanto mais reset maior o seu dano (esse pode ser um grande diferencial seu para/com seus inimigos).") return true end <talkaction access="0-4" words="!reset" event="script" value="reset_info.lua"/>
-
djteteh deu reputação a Mateus Robeerto em Reset System with sourcesEsse deu erro porque o script não era compatível com a sua versão do TFS 0.4 8.6. Na verdade, era para o TFS 1X, por isso.
Acabei de converter para o TFS 0.4. Se houver algum erro, crie um novo tópico ou me envie uma mensagem privada. Eu posso te orientar sobre o que você está querendo.
function resetPlayer(cid) local config = { resetManaPercent = 5, resetDamagePercent = 5, resetHealthPercent = 5, minLevel = 500, resetLevel = 1, } if getPlayerLevel(cid) < config.minLevel then doPlayerSendCancel(cid, "Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.") return false end local resetCount = getCreatureStorage(cid, 1000) + 1 setPlayerLevel(cid, config.resetLevel) doSetStorage(cid, 1000, resetCount) local manaToAdd = config.resetManaPercent * resetCount local damageToAdd = config.resetDamagePercent * resetCount local healthToAdd = config.resetHealthPercent * resetCount doCreatureAddMana(cid, manaToAdd) doPlayerAddSkillTry(cid, SKILL_FIST, damageToAdd) doCreatureAddHealth(cid, healthToAdd) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. " pontos de mana, " .. damageToAdd .. " pontos de dano a mais nas armas e " .. healthToAdd .. " pontos de vida.") return true end function onSay(cid, words, param) if words == "!resetar" then if not isPlayer(cid) then doPlayerSendCancel(cid, "Você precisa ser um jogador para usar esse comando.") return false end resetPlayer(cid) return false end return true end ou
function resetPlayer(cid) local config = { resetManaPercent = 5, resetDamagePercent = 5, resetHealthPercent = 5, minLevel = 500, resetLevel = 1, } if getPlayerLevel(cid) < config.minLevel then doPlayerSendCancel(cid, "Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.") return false end local resetCount = getCreatureStorage(cid, 1000) + 1 doPlayerSetLevel(cid, config.resetLevel) doCreatureSetStorage(cid, 1000, resetCount) local manaToAdd = math.floor(getPlayerMaxMana(cid) * (config.resetManaPercent / 100)) * resetCount local damageToAdd = config.resetDamagePercent * resetCount local healthToAdd = math.floor(getPlayerMaxHealth(cid) * (config.resetHealthPercent / 100)) * resetCount doCreatureAddMana(cid, manaToAdd) doPlayerAddSkillTry(cid, SKILL_FIST, damageToAdd) doCreatureAddHealth(cid, healthToAdd) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. " pontos de mana, " .. damageToAdd .. " pontos de dano a mais nas armas e " .. healthToAdd .. " pontos de vida.") return true end function onSay(cid, words, param) if words == "!resetar" then if not isPlayer(cid) then doPlayerSendCancel(cid, "Você precisa ser um jogador para usar esse comando.") return false end resetPlayer(cid) return false end return true end
-
djteteh deu reputação a Vortex em Reset System with sourcesqual é a sua versão do TFS? Existe um sistema de reset para o TFS 0.4 sem mexer na source, sim. É possível implementar as funções usando as libs e isso já está resolvido. Existem alguns OTs Baiak que possuem o sistema de reset. Você pode dar uma olhada nesses servidores
ou e sobre resetar o lvl, mana e life, isso é feito através do banco de dados. Não é necessário usar a função "addReset", pois o banco de dados já está configurado para isso.
-
djteteh deu reputação a Maniaco em (Resolvido)Reset SystemresetPlayer.lua
-
djteteh deu reputação a Rogex Joyz em [action] Dodge System (item)Dodge é um sistema que permite (através de item neste caso) o player ''desviar'' de alguns ataques, ou seja, quantos mais ''dodges itens'' o player tiver usado, maior a chance durante uma batalha de um ataque contra ele ser cancelado. No nosso caso usaremos um sistema que permite usar de 0-50 dodge's. Vamos lá.
Passo 1º - Em creaturescript crie um arquivo .lua chamado Dodge System, dentro dele coloque isto:
function onStatsChange(cid, attacker, type, combat, value) local getStorage = getPlayerStorageValue(cid, 123455678) if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then local chance = math.random (0,100) if chance <= getStorage then doSendAnimatedText(getCreaturePos(cid), "MISS!", 214) doSendMagicEffect(getCreaturePosition(cid), 30) return false end end return true end Passo 2º - Em Creaturescript.xml adicione esta linha:
<event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/> Passo 3º - Em Login.lua, desça até o final da página e procure o último ''return'' (está no final). Após achar ele, acrescente isso ANTES dele. ps: não esqueça de colocar o end.
registerCreatureEvent(cid, "DodgeSystem") if getPlayerStorageValue(cid, 123455678) == -1 then setPlayerStorageValue(cid, 123455678, 0) end Passo 4º - Agora vamos até a pasta ''action'' e criamos um arquivo .lua chamado dodgestone, vamos acrescentar isso dentro dele:
function onUse(cid, item, fromPosition, itemEx, toPosition) local max = 50 -- limite de dodge local storagedodge = 123455678 -- storage do dodge if getPlayerStorageValue(cid, storagedodge) >= max then return doPlayerSendTextMessage(cid,22,"Você ja chegou no limite de Dodge.") else doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1) doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].") doRemoveItem(item.uid, 1) end return true end Passo 5º - Agora volte um pouco e vá até a pasta action.xml (ela normalmente está de baixo da pasta anterior que utilizamos) e adicione esta tag: ps: Não esqueça de colocar o ID do item que você deseja que vire uma ''dodge''.
<action itemid="Id do item" event="script" value="dodgestone.lua"/> Considerações finais: Para mudar a quantidade de dodge's que o player pode usar ao todo, está no passo 4.
Coloque esse sistema em um item agrupável, uma vez que o player vai comprar vários
O script está funcionando perfeitamente bem, os créditos dele vai inteiramente para o Visconde (Zeh Sergipano). Espero que quebre o galho de vocês assim como quebrou o meu!!
-
djteteh deu reputação a koyotestark em [AJUDA]primeiro, qual versao de seu ot? 860? e qual a importancia de ter essas vocations ai?
-
djteteh deu reputação a Movie em !rank Level e Vocation JuntosManda o script do rank ai
-
djteteh deu reputação a ADMRagnarok em !rank Level e Vocation Juntosboa, essa eu tmb queria, eu vou adicionar até resets do lado no meu
-
djteteh deu reputação a FlameArcixt em !rank Level e Vocation Juntoslocal config = { MaxPlayer = 20, fight_skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, }, other_skills = { ['level'] = "level", ['magic'] = "maglevel", ['health'] = "healthmax", ['mana'] = "manamax" }, vocations = { ['sorcerer'] = {1,5}, ['druid'] = {2,6}, ['paladin'] = {3,7}, ['knight'] = {4,8} } } function onSay(cid, words, param) local store,exausted = 156201,5 local param,str = string.lower(param),"" if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true elseif getPlayerStorageValue(cid, store) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true end str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n" query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "] - "..getPlayerVocationName(cid).."" k = k + 1 if not(query:next()) or k > config.MaxPlayer then break end end query:free() end doShowTextDialog(cid,6500, str) setPlayerStorageValue(cid, store, os.time()+exausted) return true end
-
djteteh deu reputação a FlameArcixt em !rank Level e Vocation Juntoslocal config = { MaxPlayer = 20, fight_skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, }, other_skills = { ['level'] = "level", ['magic'] = "maglevel", ['health'] = "healthmax", ['mana'] = "manamax" }, vocations = { ['sorcerer'] = {1,5}, ['druid'] = {2,6}, ['paladin'] = {3,7}, ['knight'] = {4,8} } } function onSay(cid, words, param) local store,exausted = 156201,5 local param,str = string.lower(param),"" if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true elseif getPlayerStorageValue(cid, store) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true end str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n" query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "] " k = k + 1 if not(query:next()) or k > config.MaxPlayer then break end end query:free() end doShowTextDialog(cid,6500, str) setPlayerStorageValue(cid, store, os.time()+exausted) return true end Voce precisa editar a tabela vocations, caso contrario, nao vai aparecer
-
djteteh recebeu reputação de Vodkart em Error no Boss ( AJUDA )Aff o Mito Resolveu Ja Meu Problema ♥
Vlw mano Sou Seu Fã ♥
-
djteteh deu reputação a Vodkart em Error no Boss ( AJUDA )local items = {2152, 2160} -- id dos items local qtd = {5,13} -- quantidade function onDeath(cid, corpse, killer) local monstName = "Soberanus" -- nome do monstro if isMonster(cid) and isPlayer(killer[1]) then doPlayerSendTextMessage(killer[1], MESSAGE_STATUS_WARNING, "Voce deu Ultimo Golpe nos Boss.") doBroadcastMessage("O jogador "..getPlayerName(killer[1]).." Deu Ultimo Golpe no Boss e Ganho Itens.") doSendMagicEffect(getPlayerPosition(killer[1]), 65) doPlayerAddItem(killer[1], items[math.random(#items)], math.random(qtd[1], qtd[2])) end return true end
-
djteteh deu reputação a Movie em Pedido de Sistema Item que da Points No Jogofunction getPlayerPoints (cid) local res = db.getResult('select `points` from players where name = '..getCreatureName(cid)..'') if(res:getID() == 1) then return false end local ret = res:getDataInt("points") res:free() return tonumber (ret) end function doPlayerAddPoints(cid, count) return db.executeQuery("UPDATE `players` SET points = "..getPlayerPoints(cid) + count .." WHERE `name` = "..getCreatureName(cid).."") end
-
djteteh deu reputação a Movie em Pedido de Sistema Item que da Points No JogoQual script vc está usando? o do cara ou o do tópico?
-
djteteh deu reputação a Rayo em Pedido de Sistema Item que da Points No JogoModifique isto:
local ret = res:getDataInt("points") para isto:
local ret = res:getDataInt(res,"points")
Eu não testei..faça o teste e diga se funcionou
-
djteteh deu reputação a Rayo em Pedido de Sistema Item que da Points No JogoParabéns!! O erro era o nome da tabela no banco?
-
djteteh recebeu reputação de Rayo em Pedido de Sistema Item que da Points No JogoEra essas parte Aqui
local Info = db.getResult("SELECT `points` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1")
db.executeQuery("UPDATE `players` SET `points` = `points` + " .. points .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
Agora Ja Posso Termina Meu Projeto Rozinx 9.83 Para os Pessoal Jogar >.<
Muito Obrigado a Todos Que me ajudaram Nesse erro se importo em Me ajudar
-
djteteh deu reputação a Rayo em Pedido de Sistema Item que da Points No JogoCara, manda uma print da sua tabela do banco de dados, a tabela que armazena os pontos.
Eu acho que a função não está encontrando a coluna "points" pode ser que esteja com outro nome no seu banco.
-
djteteh deu reputação a TonyHalk em [Resolvido] [Pedido] Script que após matar monstro aparece um teleport.tp.lua local tpId = 1387 local tps = { ["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, z=7}, time = 30}, } function removeTp(tp) local t = getTileItemById(tp.pos, tpId) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(tp.pos, CONST_ME_POFF) end end function onDeath(cid) local tp = tps[getCreatureName(cid)] if tp then doCreateTeleport(tpId, tp.toPos, tp.pos) doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(removeTp, tp.time*1000, tp) end return TRUE end explicação: ["Orshabaal"] --------- Nome do monstro pos = {x=761, y=57, z=7} ----------- onde o Teleport irá abrir toPos = {x=767, y=52, z=7} ------- onde o teleport vai leva eles time = 30 ------------ tempo em segundos que o teleport ficará aberto em creaturescript adicione: <event type="death" name="tp" event="script" value="tp.lua"/> no arquivo.xml do seu monstro adicione: <script> <event name="tp"/> </script> acho que é mais facil :3
-
djteteh deu reputação a Movie em Pedido de Sistema Item que da Points No JogoAmigo, estou em semana de provas, vou ficar off... Quando acabar, se ninguem vier te ajudar eu ajudo.
-
djteteh deu reputação a LeoTK em ITENS EDITOR ( AJUDA )@djteteh usa esse
ItemEditorSetup.exe
-
djteteh deu reputação a Tchuka em Efeito Da Mana RuneEsse +100 e +250 é a quantidade que esta curando ?
-
djteteh deu reputação a Mazarati em Efeito Da Mana RuneVai no config.lua procura essa linha e coloca true, acredito que seja isso que pediu.
showHealingDamage = true -
djteteh deu reputação a barackfodao em {Ajuda} Erro Global EventsSe me pergunta-se face ou jogo poderia responder né anta basta trocar
function onTimer(interval)
por
function onTime(interval)