Tudo que bellatrikz postou
-
Magias
.Qual servidor ou website você utiliza como base? otxserver tibia 8.6 baiak Qual o motivo deste tópico? exhaust Está surgindo algum erro? Se sim coloque-o aqui. Oi galera do tibia king, entao o meu problema e o seguinte quando eu solto magia de cura como exura vita, exura gran e tento soltar UE tem um exhaust muito grande e nao alterna magia fica so curando e nao solta ue alguem sabe como resolver? obrigado! Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
- Instalando Site e Compilando Source (Ubuntu 20.04)
-
Monsters
Boas pessoal do tibia king podem so tirar uma duvida nesse script? Como tiro a paralyze dada pelo monstro listado? Obrigado Você tem o código disponível? Se tiver publique-o aqui: <?xml version="1.0" encoding="UTF-8"?> <monster name="Toxiros" nameDescription="the god of poison" race="fire" experience="6000" speed="500" manacost="0"> <health now="9000" max="9000"/> <look type="133" head="38" body="120" legs="42" feet="95" corpse="3128" addons="3"/> <targetchange interval="2000" chance="10"/> <strategy attack="65" defense="5"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag runonhealth="3000"/> </flags> <attacks> <attack name="melee" interval="2000" skill="100" attack="50" poison="50"/> <attack name="lifedrain" interval="2000" chance="13" radius="8" target="0" min="-500" max="-1000"> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="speed" interval="2000" chance="12" radius="6" target="0" speedchange="-1000" duration="60000"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="strength" interval="2000" chance="12" radius="3" target="0"> <attribute key="areaEffect" value="blackspark"/> </attack> <attack name="fire" interval="2000" chance="4" range="7" radius="7" target="1" min="-500" max="-800"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="manadrain" interval="2000" chance="7" length="0" spread="3" min="-500" max="-800"> <attribute key="areaEffect" value="energyarea"/> </attack> <attack name="physical" interval="2000" chance="7" length="8" spread="3" min="-500" max="-800"/> <attack name="energy" interval="1000" chance="9" length="8" spread="0" min="-500" max="-800"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="poisoncondition" interval="2000" chance="10" length="0" spread="0" min="-500" max="-800"> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="lifedrain" interval="2000" chance="15" length="8" spread="0" min="-500" max="-800"> <attribute key="areaEffect" value="redshimmer"/> </attack> </attacks> <defenses armor="50" defense="50"> <defense name="healing" interval="2000" chance="2" min="100" max="1000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="healing" interval="2000" chance="3" min="100" max="1000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity outfit="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Got antidote?"/> <voice sentence="The path of poisen!"/> <voice sentence="I'm Toxic!"/> <voice sentence="My dear scarab.."/> </voices> <loot capacity="5000"> <item id="2142" countmax="1" chance="3500"/> <item id="2231" countmax="1" chance="9000"/> <item id="2144" countmax="15" chance="15000"/> <item id="2158" countmax="1" chance="1500"/> <item id="2195" countmax="1" chance="4000"/> <item id="2192" countmax="1" chance="2500"/> <item id="2125" countmax="1" chance="1500"/> <item id="2124" countmax="1" chance="5500"/> <item id="2520" countmax="1" chance="15500"/> <item id="2462" countmax="1" chance="11000"/> <item id="2387" countmax="1" chance="20000"/> <item id="2434" countmax="1" chance="4500"/> <item id="2167" countmax="1" chance="13500"/> <item id="2432" countmax="1" chance="17000"/> <item id="2393" countmax="1" chance="12500"/> <item id="2148" countmax="100" chance="99900"/> <item id="2148" countmax="100" chance="88800"/> <item id="2148" countmax="100" chance="77700"/> <item id="2148" countmax="100" chance="66600"/> <item id="2470" countmax="1" chance="5000"/> <item id="2033" countmax="1" chance="7500"/> <item id="2418" countmax="1" chance="4500"/> <item id="2155" countmax="1" chance="1500"/> <item id="2396" countmax="1" chance="7500"/> <item id="2177" countmax="1" chance="1000"/> <item id="2162" countmax="1" chance="11500"/> <item id="2472" countmax="1" chance="3000"/> <item id="2514" countmax="1" chance="7500"/> <item id="2164" countmax="1" chance="5000"/> <item id="2178" countmax="1" chance="4000"/> <item id="2186" countmax="1" chance="3500"/> <item id="2176" countmax="1" chance="12000"/> <item id="2171" countmax="1" chance="4500"/> <item id="2200" countmax="1" chance="4500"/> <item id="1982" countmax="1" chance="2600"/> <item id="2214" countmax="1" chance="13000"/> <item id="2170" countmax="1" chance="13000"/> <item id="2402" countmax="1" chance="15500"/> <item id="2436" countmax="1" chance="5000"/> <item id="2150" countmax="20" chance="13500"/> <item id="2145" countmax="5" chance="9500"/> <item id="2149" countmax="10" chance="15500"/> <item id="2146" countmax="10" chance="13500"/> <item id="2182" countmax="1" chance="3500"/> <item id="2165" countmax="1" chance="9500"/> <item id="2197" countmax="1" chance="4000"/> <item id="2174" countmax="1" chance="2500"/> <item id="2151" countmax="7" chance="14000"/> <item id="2112" countmax="1" chance="14500"/> <item id="2421" countmax="1" chance="13500"/> <item id="2377" countmax="1" chance="20000"/> <item id="2185" countmax="1" chance="3500"/> <item id="3955" countmax="1" chance="100"/> <item id="2188" countmax="1" chance="2500"/> <item id="2143" countmax="15" chance="12500"/> </loot> </monster> Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Depois de compilar otserver
Era isso mesmo mano muito obrigado deu certo!
-
(Resolvido)slot system
tem como deixar isso sem ser com percentagem e sim com numeros reais?
-
(Resolvido)Depois de compilar otserver
quer dizer trocar o ficheiro do mapa? eu tenho o servidor em WinSCP e o site no umbler em qual deles eu troco o ficheiro do mapa? Quando tento arrastar os ficheiros do windows para o WinsSCP ele diz que nao tenho permissao como dou permissao para isso? obrigado!
-
(Resolvido)Depois de compilar otserver
Oi galera compilei meu servidor em ubunto 14.04 no google cloud e WinSCP Como faco para editar mapa depois da compilado? Obirgado!!
-
Gesior no umbler
Oi Galera do Tibia King alguem me pode ajudar? estou desesperando ja... Obrigado! Coloquei o Geisor no Umbler tudo muito certo dns funcionando mas na hora de acessar ao gesior install.php da esse erro. Error occured! Error ID: #C-2More info: ERROR: #C-2 : Class::ConfigLUA - LUA config file doesn't exist. Path: /home/otserver1k.tk/public/config/otserver/config.luaFile: /home/otserver1.tk/public/classes/configlua.php Line: 24File: /home/otserver1.tk/public/classes/configlua.php Line: 12File: /home/otserver1.tk/public/install.php Line: 249 O erro aparece aqui Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/otserver1.tk/public/config/config.php on line 4 Call Stack: 0.0001 242896 1. {main}() /home/otserver1.tk/public/install.php:0 Você tem o código disponível? Se tiver publique-o aqui: <?PHP # Account Maker Config $config['site']['serverPath'] ="/home/otserver1k.tk/public/config/otserver/; $config['site']['useServerConfigCache'] = false; $config['site']['worlds'] = array(0 => 'Gesior ACC'); $towns_list[0] = array(1 => 'Main City', 2 => 'Stg City', 3 => 'Desert City', 4 => 'Ice City'); $config['site']['outfit_images_url'] = '/outfit.php'; $config['site']['item_images_url'] = 'http://item-images.ots.me/960/'; $config['site']['item_images_extension'] = '.gif'; $config['site']['flag_images_url'] = 'http://flag-images.ots.me/'; $config['site']['flag_images_extension'] = '.png'; $config['site']['players_group_id_block'] = 3; $config['site']['limitDeath'] = 5; $config['site']['levelVideo'] = 150; Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
Instalando Site e Compilando Source (Ubuntu 20.04)
alguem me pode ajudar com essa parte por favor? abriu site do nginx mas nao esta indo para o phpmyadmin server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name example.com www.example.com; # pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } }
-
(Resolvido)Compilar ubuntu 16.04
.Qual servidor ou website você utiliza como base? Tfs otx2 tibia 8.6 Qual o motivo deste tópico? erro ao compilar Está surgindo algum erro? Se sim coloque-o aqui. ALGUEM ME AJUDE COM ESSE ERRO POR FAVOR NAO SEI QUE FAZER MAIS... checking for xml2-config... /usr/bin/xml2-config checking for libxml - version >= 2.6.5... no *** Could not run libxml test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occurred. This usually means LIBXML was incorrectly installed *** or that you have moved LIBXML since it was installed. In the latter case, you *** may want to edit the xml2-config script: /usr/bin/xml2-config configure: error: You need libxml2 >= 2.6.5 to compile otxserver! Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
[AJUDA] Itens iniciais caindo no chao ao ir pra main
Por vezes isso acontece se voce colocar item mais pesado que o seu cap aguenta troca na base de dados o cap do player lvl 8 e aumenta de acordo com o peso dos items que quer comecar
-
compilar ot server
.Qual servidor ou website você utiliza como base? tfs 0.4 tibia 8.6 Qual o motivo deste tópico? erro ao comilar ot Está surgindo algum erro? Se sim coloque-o aqui. Eu tentei compilar meu baiak 8.6 tfs 0.4 no google cloud ubunto 16.04 mas na hora de ./build.sh nao encontra minha base de dados. Estou usando xampp phpmyadmin alguem sabe o qe pode ser? obrigado desde ja Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
[Novos Atributos] Critical/Dodge/Life e Mana Leech/Life e Mana Absorb
@LeoTK entendi vlw pela ajuda
-
[Novos Atributos] Critical/Dodge/Life e Mana Leech/Life e Mana Absorb
tem como fazer um toturial so para roubo de mana e vida? obrigado
-
Compiling Ubunto 16.04
.Qual servidor ou website você utiliza como base? Ubunto 16.04 tfs 0.4 tibia 8.6 Qual o motivo deste tópico? Erro Está surgindo algum erro? Se sim coloque-o aqui. Ola galera estou com um erro aqui compilando o ubunto 16.04 alguem sabe como resolver? obrigado! database.h:25:19: fatal error: mysql.h: No such file or directory compilation terminated. In file included from luascript.h:42:0, from configmanager.h:20, from otpch.h:40, from baseevents.cpp:17: database.h:25:19: fatal error: mysql.h: No such file or directory compilation terminated. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
data/lib/50
.Qual servidor ou website você utiliza como base? tfs 0.4 tibia 8.6 Qual o motivo deste tópico? erros Está surgindo algum erro? Se sim coloque-o aqui. Boas tibia king. Tenho um erro surgindo no meu ot server e nao sei resolver alguem pode ajudar? obrigado [3/5/2020 22:34:3] [Error - Action Interface] [3/5/2020 22:34:3] data/actions/scripts/tools/rope.lua:onUse [3/5/2020 22:34:3] Description: [3/5/2020 22:34:3] (luaGetThingFromPosition) Tile not found [3/5/2020 22:34:3] [Error - Action Interface] [3/5/2020 22:34:3] data/actions/scripts/tools/rope.lua:onUse [3/5/2020 22:34:3] Description: [3/5/2020 22:34:3] data/lib/050-function.lua:37: bad argument #1 to 'ipairs' (table expected, got number) [3/5/2020 22:34:3] stack traceback: [3/5/2020 22:34:3] [C]: in function 'ipairs' [3/5/2020 22:34:3] data/lib/050-function.lua:37: in function 'isInArray' Você tem o código disponível? Se tiver publique-o aqui: function getGuildNameByID(gid) -- By Killua local query = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = '"..gid.."'") if query:getID() == -1 then return false end local name = query:getDataString("name") query:free() return name end function isWalkable(pos, creature, proj, pz) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function isInArray(array, value, caseSensitive) if(caseSensitive == nil or caseSensitive == false) and type(value) == "string" then local lowerValue = value:lower() for _, _value in ipairs(array) do if type(_value) == "string" and lowerValue == _value:lower() then return true end end else for _, _value in ipairs(array) do if (value == _value) then return true end end end return false end ARMY = { [1] = {50, 350, "Soldado Raso", 1}, -- [Número] = {Pontos Kill, Points para UP, "Nome",PLATINIUM COINS POR KILL}, [2] = {50, 1500, "Soldado de Primeira Classe", 50000000}, [3] = {50, 2000, "Cabo", 60000000}, [4] = {50, 3000, "Sargento", 70000000}, [5] = {50, 3500, "Sargento-Ajudante 1", 90000000}, [6] = {50, 5000, "Sargento-Ajudante 2", 11000000}, [7] = {50, 5500, "Sargento-Chefe", 15000000}, [8] = {50, 6000, "Sargento-Mestre 1", 18000000}, [9] = {50, 6500, "Sargento-Mestre 2", 20000000}, [10] = {50, 7000, "Sargento-Mestre 3", 22000000}, [11] = {50, 7600, "Sargento-Mestre 4", 24000000}, [12] = {50, 8200, "Sargento-Mor do Comando", 26000000}, [13] = {50, 9000, "Segundo-Tenente 1", 28000000}, [14] = {50, 9600, "Segundo-Tenente 2", 30000000}, [15] = {50, 10200, "Segundo-Tenente 3", 32000000}, [16] = {50, 11000, "Segundo-Tenente 4", 34000000}, [17] = {50, 11500, "Primeiro-Tenente 1", 36000000}, [18] = {50, 12000, "Primeiro-Tenente 2", 38000000}, [19] = {50, 13000, "Primeiro-Tenente 3", 40000000}, [20] = {50, 14000, "Primeiro-Tenente 4", 45000000}, [21] = {50, 15000, "Primeiro-Tenente 5", 55000000}, [22] = {50, 16000, "Capitao 1", 60000000}, [23] = {50, 17000, "Capitao 2", 70000000}, [24] = {50, 18000, "Capitao 3", 80000000}, [25] = {50, 19000, "Capitao 4", 90000000}, [26] = {50, 20000, "Capitao 5", 100000000}, [27] = {50, 21000, "Major 1", 110000000}, [28] = {50, 21500, "Major 2", 120000000}, [29] = {50, 22000, "Major 3", 130000000}, [30] = {50, 23000, "Major 4", 140000000}, [31] = {50, 23500, "Major 5", 150000000}, [32] = {50, 24000, "Tenente-Coronel 1", 160000000}, [33] = {50, 25000, "Tenente-Coronel 2", 170000000}, [34] = {50, 26000, "Tenente-Coronel 3", 180000000}, [35] = {50, 27000, "Tenente-Coronel 4", 190000000}, [36] = {50, 28000, "Tenente-Coronel 5", 200000000}, [37] = {50, 29000, "Coronel 1", 210000000}, [38] = {50, 30000, "Coronel 2", 220000000}, [39] = {50, 31000, "Coronel 3", 230000000}, [40] = {50, 32000, "Coronel 4", 400000000}, [41] = {50, 35000, "Coronel 5", 500000000}, [42] = {50, 100000, "General", 1000000000}, } ARMY_LEVEL = 2014159 ARMY_EXPERIENCE = 2014160 function doAddPoints(cid, points) db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") end function doPlayerGiveItem(cid, itemid, amount, subType) local item = 0 if(isItemStackable(itemid)) then item = doCreateItemEx(itemid, amount) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end else for i = 1, amount do item = doCreateItemEx(itemid, subType) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end end end return true end function doPlayerGiveItemContainer(cid, containerid, itemid, amount, subType) for i = 1, amount do local container = doCreateItemEx(containerid, 1) for x = 1, getContainerCapById(containerid) do doAddContainerItem(container, itemid, subType) end if(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then return false end end return true end function doPlayerTakeItem(cid, itemid, amount) return getPlayerItemCount(cid, itemid) >= amount and doPlayerRemoveItem(cid, itemid, amount) end function doPlayerSellItem(cid, itemid, count, cost) if(not doPlayerTakeItem(cid, itemid, count)) then return false end if(not doPlayerAddMoney(cid, cost)) then error('[doPlayerSellItem] Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).') end return true end function doPlayerWithdrawMoney(cid, amount) if(not getBooleanFromString(getConfigInfo('bankSystem'))) then return false end local balance = getPlayerBalance(cid) if(amount > balance or not doPlayerAddMoney(cid, amount)) then return false end doPlayerSetBalance(cid, balance - amount) return true end function doPlayerDepositMoney(cid, amount) if(not getBooleanFromString(getConfigInfo('bankSystem'))) then return false end if(not doPlayerRemoveMoney(cid, amount)) then return false end doPlayerSetBalance(cid, getPlayerBalance(cid) + amount) return true end function doPlayerAddStamina(cid, minutes) return doPlayerSetStamina(cid, getPlayerStamina(cid) + minutes) end function isPremium(cid) return (isPlayer(cid) and (getPlayerPremiumDays(cid) > 0 or getBooleanFromString(getConfigValue('freePremium')))) end function getMonthDayEnding(day) if(day == "01" or day == "21" or day == "31") then return "st" elseif(day == "02" or day == "22") then return "nd" elseif(day == "03" or day == "23") then return "rd" end return "th" end function getMonthString(m) return os.date("%B", os.time{year = 1970, month = m, day = 1}) end function getArticle(str) return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a" end function doNumberFormat(i) local str, found = string.gsub(i, "(%d)(%d%d%d)$", "%1,%2", 1), 0 repeat str, found = string.gsub(str, "(%d)(%d%d%d),", "%1,%2,", 1) until found == 0 return str end function doPlayerAddAddons(cid, addon) for i = 0, table.maxn(maleOutfits) do doPlayerAddOutfit(cid, maleOutfits, addon) end for i = 0, table.maxn(femaleOutfits) do doPlayerAddOutfit(cid, femaleOutfits, addon) end end function getTibiaTime(num) local minutes, hours = getWorldTime(), 0 while (minutes > 60) do hours = hours + 1 minutes = minutes - 60 end if(num) then return {hours = hours, minutes = minutes} end return {hours = hours < 10 and '0' .. hours or '' .. hours, minutes = minutes < 10 and '0' .. minutes or '' .. minutes} end function doWriteLogFile(file, text) local f = io.open(file, "a+") if(not f) then return false end f:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n") f:close() return true end function getExperienceForLevel(lv) lv = lv - 1 return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3 end function doMutePlayer(cid, time) local condition = createConditionObject(CONDITION_MUTED, (time == -1 and time or time * 1000)) return doAddCondition(cid, condition, false) end function doSummonCreature(name, pos) local cid = doCreateMonster(name, pos, false, false) if(not cid) then cid = doCreateNpc(name, pos) end return cid end function getPlayersOnlineEx() local players = {} for i, cid in ipairs(getPlayersOnline()) do table.insert(players, getCreatureName(cid)) end return players end function getPlayerByName(name) local cid = getCreatureByName(name) return isPlayer(cid) and cid or nil end function isPlayer(cid) return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERS end function isPlayerGhost(cid) return isPlayer(cid) and (getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE, CONDITIONID_DEFAULT) or getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBESEEN)) end function isMonster(cid) return isCreature(cid) and cid >= AUTOID_MONSTERS and cid < AUTOID_NPCS end function isNpc(cid) -- Npc IDs are over int32_t range (which is default for lua_pushnumber), -- therefore number is always a negative value. return isCreature(cid) and (cid < 0 or cid >= AUTOID_NPCS) end function isUnderWater(cid) return isInArray(underWater, getTileInfo(getCreaturePosition(cid)).itemid) end function doPlayerAddLevel(cid, amount, round) local experience, level, amount = 0, getPlayerLevel(cid), amount or 1 if(amount > 0) then experience = getExperienceForLevel(level + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(level)) else experience = -((round and getPlayerExperience(cid) or getExperienceForLevel(level)) - getExperienceForLevel(level + amount)) end return doPlayerAddExperience(cid, experience) end function doPlayerAddMagLevel(cid, amount) local amount = amount or 1 for i = 1, amount do doPlayerAddSpentMana(cid, getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid), false) end return true end function doPlayerAddSkill(cid, skill, amount, round) local amount = amount or 1 if(skill == SKILL__LEVEL) then return doPlayerAddLevel(cid, amount, round) elseif(skill == SKILL__MAGLEVEL) then return doPlayerAddMagLevel(cid, amount) end for i = 1, amount do doPlayerAddSkillTry(cid, skill, getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill), false) end return true end function isPrivateChannel(channelId) return channelId >= CHANNEL_PRIVATE end function doBroadcastMessage(text, class) local class = class or MESSAGE_STATUS_WARNING if(type(class) == 'string') then local className = MESSAGE_TYPES[class] if(className == nil) then return false end class = className elseif(class < MESSAGE_FIRST or class > MESSAGE_LAST) then return false end for _, pid in ipairs(getPlayersOnline()) do doPlayerSendTextMessage(pid, class, text) end print("> Broadcasted message: \"" .. text .. "\".") return true end function doPlayerBroadcastMessage(cid, text, class, checkFlag, ghost) local checkFlag, ghost, class = checkFlag or true, ghost or false, class or TALKTYPE_BROADCAST if(checkFlag and not getPlayerFlagValue(cid, PLAYERFLAG_CANBROADCAST)) then return false end if(type(class) == 'string') then local className = TALKTYPE_TYPES[class] if(className == nil) then return false end class = className elseif(class < TALKTYPE_FIRST or class > TALKTYPE_LAST) then return false end for _, pid in ipairs(getPlayersOnline()) do doCreatureSay(cid, text, class, ghost, pid) end print("> " .. getCreatureName(cid) .. " broadcasted message: \"" .. text .. "\".") return true end function doCopyItem(item, attributes) local attributes = ((type(attributes) == 'table') and attributes or { "aid" }) local ret = doCreateItemEx(item.itemid, item.type) for _, key in ipairs(attributes) do local value = getItemAttribute(item.uid, key) if(value ~= nil) then doItemSetAttribute(ret, key, value) end end if(isContainer(item.uid)) then for i = (getContainerSize(item.uid) - 1), 0, -1 do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then doAddContainerItemEx(ret, doCopyItem(tmp, true).uid) end end end return getThing(ret) end function doSetItemText(uid, text, writer, date) local thing = getThing(uid) if(thing.itemid < 100) then return false end doItemSetAttribute(uid, "text", text) if(writer ~= nil) then doItemSetAttribute(uid, "writer", tostring(writer)) if(date ~= nil) then doItemSetAttribute(uid, "date", tonumber(date)) end end return true end function getItemWeightById(itemid, count, precision) local item, count, precision = getItemInfo(itemid), count or 1, precision or false if(not item) then return false end if(count > 100) then -- print a warning, as its impossible to have more than 100 stackable items without "cheating" the count print('[Warning] getItemWeightById', 'Calculating weight for more than 100 items!') end local weight = item.weight * count return precission and weight or math.round(weight, 2) end function choose(...) local arg, ret = {...} if type(arg[1]) == 'table' then ret = arg[1][math.random(#arg[1])] else ret = arg[math.random(#arg)] end return ret end function doPlayerAddExpEx(cid, amount) if(not doPlayerAddExp(cid, amount)) then return false end local position = getThingPosition(cid) doPlayerSendTextMessage(cid, MESSAGE_EXPERIENCE, "You gained " .. amount .. " experience.", amount, COLOR_WHITE, position) local spectators, name = getSpectators(position, 7, 7), getCreatureName(cid) for _, pid in ipairs(spectators) do if(isPlayer(pid) and cid ~= pid) then doPlayerSendTextMessage(pid, MESSAGE_EXPERIENCE_OTHERS, name .. " gained " .. amount .. " experience.", amount, COLOR_WHITE, position) end end return true end function getItemTopParent(uid) local parent = getItemParent(uid) if(not parent or parent.uid == 0) then return nil end while(true) do local tmp = getItemParent(parent.uid) if(tmp and tmp.uid ~= 0) then parent = tmp else break end end return parent end function getItemHolder(uid) local parent = getItemParent(uid) if(not parent or parent.uid == 0) then return nil end local holder = nil while(true) do local tmp = getItemParent(parent.uid) if(tmp and tmp.uid ~= 0) then if(tmp.itemid == 1) then -- a creature holder = tmp break end parent = tmp else break end end return holder end function valid(f) return function(p, ...) if(isCreature(p)) then return f(p, ...) end end end function addContainerItems(container,items) local items_mod = {} for _, it in ipairs(items) do if( isItemStackable(it.id) and it.count > 100) then local c = it.count while( c > 100 ) do table.insert(items_mod,{id = it.id,count = 100}) c = c - 100 end if(c > 0) then table.insert(items_mod,{id = it.id,count = c}) end else table.insert(items_mod,{id = it.id,count = 1}) end end local free = getContainerCap(container.uid) - (getContainerSize(container.uid) ) local count = math.ceil(#items_mod/ free) local main_bp = container.uid local insert_bp = main_bp local counter = 1 for c,it in ipairs(items_mod) do local _c = isItemStackable(it.id) and (it.count > 100 and 100 or it.count) or 1 if count > 1 then if (counter < free) then doAddContainerItem(insert_bp, it.id, _c) else insert_bp = doAddContainerItem(insert_bp, container.itemid, 1) count = (#items_mod)-(free-1) free = getContainerCap(insert_bp) count = math.ceil(count/ free) doAddContainerItem(insert_bp, it.id, _c) counter = 1 end counter = counter + 1 else doAddContainerItem(insert_bp, it.id, _c) end end return main_bp end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Cast System
obrigado @9k22 deu tudo certo!
-
(Resolvido)slot system
.Qual servidor ou website você utiliza como base? TFS 0.4 tibia 8.6 Qual o motivo deste tópico? Erro Está surgindo algum erro? Se sim coloque-o aqui. [2/5/2020 23:17:35] [Error - CreatureScript Interface] [2/5/2020 23:17:35] data/creaturescripts/scripts/slot.lua:onLogin [2/5/2020 23:17:35] Description: [2/5/2020 23:17:35] data/creaturescripts/scripts/slot.lua:189: attempt to index upvalue 'conditionSHI' (a number value) [2/5/2020 23:17:35] stack traceback: [2/5/2020 23:17:35] data/creaturescripts/scripts/slot.lua:189: in function 'equip' [2/5/2020 23:17:35] data/creaturescripts/scripts/slot.lua:211: in function <data/creaturescripts/scripts/slot.lua:210> Você tem o código disponível? Se tiver publique-o aqui: ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i) setConditionParam(conditionHP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP, CONDITION_PARAM_SUBID, 50) --MANA conditionMP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP, CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i) setConditionParam(conditionMP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP, CONDITION_PARAM_SUBID, 51) --Magic level conditionML = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+i) setConditionParam(conditionML, CONDITION_PARAM_BUFF, true) setConditionParam(conditionML, CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_AXEPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB, CONDITION_PARAM_SUBID, 53) --- shield conditionSHI = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+i) setConditionParam(conditionSHI, CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI, CONDITION_PARAM_SUBID, 54) --- dist conditionDIST = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i) setConditionParam(conditionDIST, CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST, CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return end local t = loadSet(cid) for i=1,#f do if f ~= t then equip(cid,nil,slot) break end end addEvent(chk,2000,cid,t) end items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do -- Not on slot 10 > arrow if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 100 and 100 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'hp' then doAddCondition(cid,conditionHP[tonumber(n)]) doCreatureAddHealth(cid,HP-getCreatureHealth(cid)) ca[50] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'mp' then doAddCondition(cid,conditionMP[tonumber(n)]) doCreatureAddMana(cid,HP-getCreatureMana(cid)) ca[51] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'ml' then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' then doAddCondition(cid,conditionCLUB[tonumber(n)]) ca[53] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'dist' then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s) for i=50,55 do if not ca then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) -- Here we check! return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Furniture Npc
funcionou! obrigado
-
(Resolvido)Cast System
@9k22 tem alguma forma de adicionar na tabela accounts um account name = 10? direto no phpmyadmin? obrigado
-
Slot System
oi @Storm troquei esse script e o char loga quando equipo o item aparecendo o seguinte erro: [2/5/2020 21:43:57] [Error - CreatureScript Interface] [2/5/2020 21:43:57] data/creaturescripts/scripts/slot.lua:onLogin [2/5/2020 21:43:57] Description: [2/5/2020 21:43:57] data/creaturescripts/scripts/slot.lua:186: attempt to index upvalue 'conditionCLUB' (a number value) [2/5/2020 21:43:57] stack traceback: [2/5/2020 21:43:57] data/creaturescripts/scripts/slot.lua:186: in function 'equip' [2/5/2020 21:43:57] data/creaturescripts/scripts/slot.lua:211: in function <data/creaturescripts/scripts/slot.lua:210> [2/5/2020 21:43:57] [ADM] STG] has logged out.
-
(Resolvido)Defend the Tower event
obrigado pela ajuda @9k22
-
(Resolvido)Furniture Npc
apareceu esse erro aqui [2/5/2020 21:35:50] [Error - Action Interface] [2/5/2020 21:35:50] data/actions/scripts/other/constructionkits.lua:onUse [2/5/2020 21:35:50] Description: [2/5/2020 21:35:50] data/actions/scripts/other/constructionkits.lua:15: attempt to index global 'CONSTRUCTIONS' (a nil value) [2/5/2020 21:35:50] stack traceback: [2/5/2020 21:35:50] data/actions/scripts/other/constructionkits.lua:15: in function <data/actions/scripts/other/constructionkits.lua:9>
-
evento Defent the tower
.Qual servidor ou website você utiliza como base? TFS 0.4 tibia 8.6 Qual o motivo deste tópico? Erros Está surgindo algum erro? Se sim coloque-o aqui. Alguem me pode ajudar com esse evento por favor? Nao sei o que esta errado obrigado! [2/5/2020 20:1:33] [Error - MoveEvents Interface] [2/5/2020 20:1:33] data/movements/scripts/events/DTT.lua:onStepIn [2/5/2020 20:0:0] [Error - GlobalEvent Interface] [2/5/2020 20:0:0] data/globalevents/scripts/events/DTT.lua:onTime [2/5/2020 20:0:0] Description: [2/5/2020 20:0:0] (luaDoRemoveItem) Item not found [2/5/2020 20:3:0] [Error - GlobalEvent Interface] [2/5/2020 20:3:0] In a timer event called from: [2/5/2020 20:3:0] data/globalevents/scripts/events/DTT.lua:onTime [2/5/2020 20:3:0] Description: [2/5/2020 20:3:0] (luaDoCreatureSetStorage) Creature not found [2/5/2020 20:3:0] [Error - GlobalEvent Interface] [2/5/2020 20:3:0] In a timer event called from: [2/5/2020 20:3:0] data/globalevents/scripts/events/DTT.lua:onTime [2/5/2020 20:3:0] Description: [2/5/2020 20:3:0] (luaDoPlayerSetTown) Player not found [2/5/2020 20:3:0] [Error - GlobalEvent Interface] [2/5/2020 20:3:0] In a timer event called from: [2/5/2020 20:3:0] data/globalevents/scripts/events/DTT.lua:onTime [2/5/2020 20:3:0] Description: [2/5/2020 20:3:0] (luaDoTeleportThing) Thing not found [2/5/2020 20:3:35] [Error - CreatureScript Interface] [2/5/2020 20:3:35] data/creaturescripts/scripts/events/DTT.lua:onStatsChange [2/5/2020 20:3:35] Description: [2/5/2020 20:3:35] (luaGetCreatureStorage) Creature not found Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
Slot System
.Qual servidor ou website você utiliza como base? Tfs 0.4 tibia 8.6 Qual o motivo deste tópico? Bug no script Está surgindo algum erro? Se sim coloque-o aqui. Boas Tibia King uso um slot system no meu servidor o script esta listado a baixo Gostaria de saber se alguem sabe como alterar a % dos atributos para numeros reais como por exemplo: +100 hp e nao +100%, porque e random e atribui percentagens muito altas Exemplo: 19:27 You see a Super Sword +5 [ml.+3%] [hp.+37%] (Atk:140, Def:60, sword fighting +2). It can only be wielded properly by elite knights of level 80 or higher. It weighs 15.00 oz. Ou seja 37% e muito e 3% de ml para um knight tambem! Aguardo pela vossa ajuda obrigado! Você tem o código disponível? Se tiver publique-o aqui: ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i) setConditionParam(conditionHP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP, CONDITION_PARAM_SUBID, 50) --MANA conditionMP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP, CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i) setConditionParam(conditionMP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP, CONDITION_PARAM_SUBID, 51) --Magic level conditionML = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+i) setConditionParam(conditionML, CONDITION_PARAM_BUFF, true) setConditionParam(conditionML, CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_AXEPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB, CONDITION_PARAM_SUBID, 53) --- shield conditionSHI = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+i) setConditionParam(conditionSHI, CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI, CONDITION_PARAM_SUBID, 54) --- dist conditionDIST = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i) setConditionParam(conditionDIST, CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST, CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return end local t = loadSet(cid) for i=1,#f do if f ~= t then equip(cid,nil,slot) break end end addEvent(chk,2000,cid,t) end items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do -- Not on slot 10 > arrow if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 100 and 100 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'hp' then doAddCondition(cid,conditionHP[tonumber(n)]) doCreatureAddHealth(cid,HP-getCreatureHealth(cid)) ca[50] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'mp' then doAddCondition(cid,conditionMP[tonumber(n)]) doCreatureAddMana(cid,HP-getCreatureMana(cid)) ca[51] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'ml' then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' then doAddCondition(cid,conditionCLUB[tonumber(n)]) ca[53] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'dist' then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s) for i=50,55 do if not ca then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) -- Here we check! return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.