Histórico de Curtidas
- 		
			
				 mane stick recebeu reputação de Mateus Robeerto em Estou com um problema com as skillssestou com um problema nas skills, tenho um script de comprar skill mane stick recebeu reputação de Mateus Robeerto em Estou com um problema com as skillssestou com um problema nas skills, tenho um script de comprar skill
 ek e rp o maximo que era pra ser 350 de skill mas o meu script ta bugado e fica passando o skill fica bugadao,
 o ed e ms ta certinho coloquei limite de ml 200 e ta tudo certo só as skills sword,axe,club,distance,first que estão bugados
 
 é um revscript tfs 1.3 otg
 
 
 
 
 
- 		
			
				 mane stick deu reputação a Mateus Robeerto em talkaction !comprar skill tfs 1.4Esse script que eu postei é apenas para TFS 1x+, funcionando sem modificações no OTX/OTG misturado, e está tudo funcionando normalmente. O usuário @mane stick me procurou pelo Discord e, depois de pensar sobre isso, aceitei. Fiz as alterações necessárias para torná-lo compatível com OTX/OTG, e agora está funcionando perfeitamente. Ele disse que está tudo ok após os testes. mane stick deu reputação a Mateus Robeerto em talkaction !comprar skill tfs 1.4Esse script que eu postei é apenas para TFS 1x+, funcionando sem modificações no OTX/OTG misturado, e está tudo funcionando normalmente. O usuário @mane stick me procurou pelo Discord e, depois de pensar sobre isso, aceitei. Fiz as alterações necessárias para torná-lo compatível com OTX/OTG, e agora está funcionando perfeitamente. Ele disse que está tudo ok após os testes.
 
 
 data/scripts
 -- Definição das habilidades e suas características local skills = { ["magiclevel"] = {vocations = {1, 5, 2, 6, 11, 12}, voc_msg= "Somente Sorcerers, Druids e Infernalists podem comprar magic level.", lim = 200, lim_msg = "Você não pode ter magic level acima de 200.", price= 3, incre = 1, skill = SKILL_MAGLEVEL}, ["skillclub"] = {vocations = {1, 10}, voc_msg= "Somente Drunous podem comprar skill de club.", lim = 350, lim_msg = "Você não pode ter skill club acima de 350.", price= 1, incre = 1, skill = SKILL_CLUB}, ["skillsword"] = {vocations = {4, 8}, voc_msg= "Somente Knights podem comprar skill de sword.", lim = 350, lim_msg = "Você não pode ter skill sword acima de 350.", price= 1, incre = 1, skill = SKILL_SWORD}, ["skillaxe"] = {vocations = {4, 8}, voc_msg= "Somente Knights podem comprar skill de axe.", lim = 350, lim_msg = "Você não pode ter skill axe acima de 350.", price= 1, incre = 1, skill = SKILL_AXE}, ["skilldistance"] = {vocations = {3, 7}, voc_msg= "Somente Paladins podem comprar skill de distance.", lim = 350, lim_msg = "Você não pode ter skill distance acima de 350.", price= 1, incre = 1, skill = SKILL_DISTANCE}, ["skillshielding"] = {vocations = {3, 7, 4, 8, 9, 10}, voc_msg= "Somente Paladins, Knights e Drunous podem comprar skill de shield.", lim = 350, lim_msg = "Você não pode ter skill shielding acima de 350.", price= 1, incre = 1, skill = SKILL_SHIELD}, ["magiclevel5"] = {vocations = {1, 5, 2, 6, 11, 12}, voc_msg= "Somente Sorcerers, Druids e Infernalists podem comprar magic level.", lim = 200, lim_msg = "Você não pode pode ter magic level acima de 200.", price= 15, incre = 5, skill = SKILL_MAGLEVEL}, ["skillclub10"] = {vocations = {9, 10}, voc_msg= "Somente Drunous podem comprar skill de club.", lim = 350, lim_msg = "Você não pode ter skill club acima de 350.", price= 10, incre = 10, skill = SKILL_CLUB}, ["skillsword10"] = {vocations = {4, 8}, voc_msg= "Somente Knights podem comprar skill de sword.", lim = 350, lim_msg = "Você não pode ter skill sword acima de 350.", price= 10, incre = 10, skill = SKILL_SWORD}, ["skillaxe10"] = {vocations = {4, 8}, voc_msg= "Somente Knights podem comprar skill de axe.", lim = 350, lim_msg = "Você não pode ter skill axe acima de 350.", price= 10, incre = 10, skill = SKILL_AXE}, ["skilldistance10"] = {vocations = {3, 7}, voc_msg= "Somente Paladins podem comprar skill de distance.", lim = 350, lim_msg = "Você não pode ter skill distance acima de 350.", price= 10, incre = 10, skill = SKILL_DISTANCE}, ["skillshielding10"] = {vocations = {3, 7, 4, 8, 9, 10}, voc_msg= "Somente Paladins, Knights e Drunous podem comprar skill de shield.", lim = 350, lim_msg = "Você não pode ter skill shielding acima de 350.", price= 10, incre = 10, skill = SKILL_SHIELD}, } -- Função para obter o nome da habilidade com base no ID local function getPlayerSkillName(skillId) local skillNames = { [SKILL_CLUB] = "Club", [SKILL_SWORD] = "Sword", [SKILL_AXE] = "Axe", [SKILL_DISTANCE] = "Distance", [SKILL_SHIELD] = "Shielding", [SKILL_MAGLEVEL] = "Magic Level" } return skillNames[skillId] or "Unknown" end local function buySkill(player, skillData) local coinID = 9971 -- ID da moeda utilizada para compra local storage = 45611 -- Valor de armazenamento para controle de tempo if player:getItemCount(coinID) < skillData.price then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você não possui a quantidade necessária para comprar.") return false end local skillId = skillData.skill local skillName = getPlayerSkillName(skillId) local currentSkill if skillId == SKILL_MAGLEVEL then currentSkill = player:getMagicLevel() else currentSkill = player:getSkillLevel(skillId) end if currentSkill == nil then player:sendCancelMessage("Você não possui essa habilidade.") return false end if skillId == SKILL_MAGLEVEL then local newMagLevel = currentSkill + skillData.incre if newMagLevel > skillData.lim then player:sendCancelMessage(skillData.lim_msg) return false end local target = player target:addManaSpent(target:getVocation():getRequiredManaSpent(target:getBaseMagicLevel() + 1) - target:getManaSpent()) print("Player: " .. player:getName() .. " adquiriu " .. skillData.incre .. " níveis de magic level. Novo magic level: " .. newMagLevel) else local target = player target:addSkillTries(skillId, target:getVocation():getRequiredSkillTries(skillId, target:getSkillLevel(skillId) + 1) - target:getSkillTries(skillId)) print("Player: " .. player:getName() .. " adquiriu " .. skillData.incre .. " níveis em " .. skillName) end if not isInArray(skillData.vocations, player:getVocation():getId()) then player:sendCancelMessage(skillData.voc_msg) return false end player:removeItem(coinID, skillData.price) player:setStorageValue(storage, os.time() + 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você comprou " .. skillData.incre .. " níveis em " .. skillName .. " por " .. skillData.price .. " moedas.") return true end local buyComprar = TalkAction("!comprar") function buyComprar.onSay(player, words, param) local param = param:lower() local tile = player:getTile() if not tile or not tile:hasFlag(TILESTATE_PROTECTIONZONE) then player:sendCancelMessage("Você precisa estar em área protegida para utilizar este comando.") return false end local storage = 45611 -- Valor de armazenamento para controle de tempo if player:getStorageValue(storage) >= os.time() then player:sendCancelMessage("Por medidas de segurança você só pode utilizar este comando em " .. (player:getStorageValue(storage) - os.time()) .. " segundos.") return false end if param == "" or not skills[param] then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Comando inválido ou habilidade não encontrada. Use !comprar <habilidade> para comprar.") return false end local skillData = skills[param] local playerVocation = player:getVocation():getId() if not isInArray(skillData.vocations, playerVocation) then player:sendCancelMessage("Sua vocação não pode comprar essa habilidade.") return false end return buySkill(player, skillData) end buyComprar:separator(" ") buyComprar:register()
 
- 		
			
				 mane stick recebeu reputação de Mateus Robeerto em talkaction !comprar skill tfs 1.4Estou com o mesmo problema😐 mane stick recebeu reputação de Mateus Robeerto em talkaction !comprar skill tfs 1.4Estou com o mesmo problema😐
 Conseguiu resolver?
 
- 		
			
				 mane stick deu reputação a doukxxt em [TFS 1.3] Otg Server - 11x / Otcv8 / Otc Menah / 12.40 (BASE CLEAN)x64.rar mane stick deu reputação a doukxxt em [TFS 1.3] Otg Server - 11x / Otcv8 / Otc Menah / 12.40 (BASE CLEAN)x64.rar
 
 para quem precisa das soucers compilada esta ai
 
- 		
			
				 mane stick deu reputação a Gatinha Pirada em [TFS 1.3] Otg Server - 11x / Otcv8 / Otc Menah / 12.40 (BASE CLEAN)tem como você enviar dnvo o link compilado em 64bits, pliz mane stick deu reputação a Gatinha Pirada em [TFS 1.3] Otg Server - 11x / Otcv8 / Otc Menah / 12.40 (BASE CLEAN)tem como você enviar dnvo o link compilado em 64bits, pliz
 pq esse link aparece essa msg
 {"message":"Artifact not found or access denied."}
- 		
			
				 mane stick deu reputação a Mateus Robeerto em (Resolvido)Reset Look DatabaseRevscriptsys é uma nova forma alternativa de registrar scripts para que você não precise fazer isso via XML. Você só precisa colocar seus scripts lua dentro data/scripts/ou em qualquer subpasta dele, se desejar. Os scripts Monster são, no entanto, colocados em um caminho diferente: data/monster/(ou em qualquer subpasta dele, como antes). Este sistema suporta a utilização de diferentes metatabelas no mesmo script (Actions, MoveEvents, GlobalEvents...). mane stick deu reputação a Mateus Robeerto em (Resolvido)Reset Look DatabaseRevscriptsys é uma nova forma alternativa de registrar scripts para que você não precise fazer isso via XML. Você só precisa colocar seus scripts lua dentro data/scripts/ou em qualquer subpasta dele, se desejar. Os scripts Monster são, no entanto, colocados em um caminho diferente: data/monster/(ou em qualquer subpasta dele, como antes). Este sistema suporta a utilização de diferentes metatabelas no mesmo script (Actions, MoveEvents, GlobalEvents...).
 
 Fica na pasta 'data/scripts"
 Creio que o OtservBR não suporta o 'EventCallback', porque simplesmente colocar na pasta 'data/scripts' já funciona na hora, hahaha.
 
 
 #Edited
 
 O problema foi resolvido via Discord. Para quem quer resets o look por DB, aqui está um exemplo.
 if thing:isCreature() and thing:isPlayer() then local playerGuid = thing:getGuid() local query = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = " .. playerGuid) if query then local playerResets = result.getDataString(query, "resets") description = string.format("%s\n[ Resets: %s ]", description, playerResets) result.free(query) else print(string.format("[Player ID: %s] Falha na consulta ao banco de dados", playerGuid)) end end Depende da sintaxe Lua e do seu arquivo player.lua. Pegue e veja se está correto, ajuste e teste. Boa sorte!
 
- 		
			
				 mane stick deu reputação a Mateus Robeerto em (Resolvido)Reset Look DatabaseOk, fácil então... Procure essa linha mane stick deu reputação a Mateus Robeerto em (Resolvido)Reset Look DatabaseOk, fácil então... Procure essa linha
 function Player:onLook(thing, position, distance) É só prosseguir com cuidado, ok?
 function Player:onLook(thing, position, distance) local description = 'You see ' if thing:isItem() then if thing.actionid == 5640 then description = description .. 'a honeyflower patch.' elseif thing.actionid == 5641 then description = description .. 'a banana palm.' else description = description .. thing:getDescription(distance) end local itemType = thing:getType() if (itemType and itemType:getImbuingSlots() > 0) then local imbuingSlots = "Imbuements: (" for i = 1, itemType:getImbuingSlots() do local specialAttr = thing:getSpecialAttribute(i) local time = 0 if (thing:getSpecialAttribute(i+3)) then time = getTime(thing:getSpecialAttribute(i+3)) end if (specialAttr) then if (i ~= itemType:getImbuingSlots()) then imbuingSlots = imbuingSlots.. "" ..specialAttr.." " ..time..", " else imbuingSlots = imbuingSlots.. "" ..specialAttr.." " ..time..")." end else if (i ~= itemType:getImbuingSlots()) then imbuingSlots = imbuingSlots.. "Empty Slot, " else imbuingSlots = imbuingSlots.. "Empty Slot)." end end end description = string.gsub(description, "It weighs", imbuingSlots.. "\nIt weighs") end --[[-- KD look if thing:isCreature() and thing:isPlayer() then description = string.format("%s\n [PVP Kills: %d] \n [PVP Deaths: %d] \n", description, math.max(0, thing:getStorageValue(167912)), math.max(0, thing:getStorageValue(167913))) end end--]] --[[-- MARRY if LOOK_MARRIAGE_DESCR and thing:isCreature() then if thing:isPlayer() then description = description .. self:getMarriageDescription(thing) end end--]] elseif thing:isPlayer() then local playerGuid = thing:getGuid() local query = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = " .. playerGuid) if query then local playerDescription = result.getDataString(query, "resets") description = string.format("%s\n[ Resets: %s ]", description, playerDescription) print(string.format("[Player ID: %s] Resets: %s", playerGuid, playerDescription)) else print(string.format("[Player ID: %s] Falha na consulta ao banco de dados", playerGuid)) end else description = description .. thing:getDescription(distance) end -- KD look if thing:isCreature() and thing:isPlayer() then description = string.format("%s\n [PVP Kills: %d] \n [PVP Deaths: %d] \n", description, math.max(0, thing:getStorageValue(167912)), math.max(0, thing:getStorageValue(167913))) end -- MARRY if LOOK_MARRIAGE_DESCR and thing:isCreature() then if thing:isPlayer() then description = description .. self:getMarriageDescription(thing) end end if self:getGroup():getAccess() then if thing:isItem() then description = string.format('%s\nItem ID: %d', description, thing.itemid) local actionId = thing.actionid if actionId ~= 0 then description = string.format('%s, Action ID: %d', description, actionId) end local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID) if uniqueId > 0 and uniqueId < 65536 then description = string.format('%s, Unique ID: %d', description, uniqueId) end description = description .. '.' local itemType = thing:getType() local transformEquipId = itemType:getTransformEquipId() local transformDeEquipId = itemType:getTransformDeEquipId() if transformEquipId ~= 0 then description = string.format('%s\nTransforms to: %d (onEquip)', description, transformEquipId) elseif transformDeEquipId ~= 0 then description = string.format('%s\nTransforms to: %d (onDeEquip)', description, transformDeEquipId) end local decayId = itemType:getDecayId() if decayId ~= -1 then description = string.format('%s\nDecays to: %d', description, decayId) end elseif thing:isCreature() then local title = getTitle(thing.uid) if title then description = description .. title .. " of Relembra." end local str = '%s\nHealth: %d / %d' if thing:getMaxMana() > 0 then str = string.format('%s, Mana: %d / %d', str, thing:getMana(), thing:getMaxMana()) end description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. '.' end local position = thing:getPosition() description = string.format( '%s\nPosition: %d, %d, %d', description, position.x, position.y, position.z ) if thing:isCreature() and thing:isPlayer() then description = string.format('%s\nIP: %s.', description, Game.convertIpToString(thing:getIp())) end end self:sendTextMessage(MESSAGE_INFO_DESCR, description) end
 
 
     
     
     
     
			
				 
				