romera 10 Postado Janeiro 12, 2011 Share Postado Janeiro 12, 2011 (editado) Ola a todos, vou ensinar a quem não sabe como eliminar um erro muito conhecido, depois de criar sua vocation: You see yourself. You are . Repare bem, quando dou look no meu Char , Não aparece a Promotion e Consecutivamente o char buga, não podendo usar nenhuma magia. Bugando todo o char. OBS1: Isso aconteçe muitas das vezes com server's abaixo de 8.50. Ou server's com o function desatualiazado. OBS2: Não tenha preguiça de ler para depois falar que não funciono. Vamos lá: 1º - Abra seu OT, 'data/lib/function', vai estar mais ou menos assim: 2º - Mas antes de copiar, olha no seu function primeiro se tem alguma parte igual a essa: return (isInArray({1,5}, getPlayerVocation(cid)) == TRUE) Não exatamente igual, mas que tenha os dois numeros? Caso tiver, adicione as ID's das proximas promotions entendeu? Apenas adicione 9,10,11,12: Ficando assim: return (isInArray({1,5,9}, getPlayerVocation(cid)) == TRUE) return (isInArray({2,6,10}, getPlayerVocation(cid)) == TRUE) return (isInArray({3,7,11}, getPlayerVocation(cid)) == TRUE) return (isInArray({4,8,12}, getPlayerVocation(cid)) == TRUE) 3º - Fazendo isso sucessivamente ate as 4 vocações: Não tem que ser nessa ordem os números, e sim a ordem do nível de vocações. EX: Knight = ID 4, Elite Knight = ID 8, Epic Knight = ID 12. 4º - (Opcional) E se você for criar mais vocações siga a ordem das promotion's e coloque as ID's deles também. Ex: Ex: ID1= Sorcerer "return (isInArray({1,5,9,13,17}, getPlayerVocation(cid)) == TRUE)" ID2= Druid "return (isInArray({2,6,10,14,18}, getPlayerVocation(cid)) == TRUE)" ID3= Paladin "return (isInArray({3,7,11,15,19}, getPlayerVocation(cid)) == TRUE)" ID4= Knight "return (isInArray({4,8,12,16,20}, getPlayerVocation(cid)) == TRUE)" Mas onde colocar isso?? Aperte CTRL + F, e digite "return (isInArray": E depois adicione as ID's. function doPlayerGiveItem(cid, itemid, amount, subType)local item = 0 if(isItemStackable(itemid) == TRUE) then item = doCreateItemEx(itemid, amount) if(doPlayerAddItemEx(cid, item, TRUE) ~= RETURNVALUE_NOERROR) then return LUA_ERROR end else for i = 1, amount do item = doCreateItemEx(itemid, subType) if(doPlayerAddItemEx(cid, item, TRUE) ~= RETURNVALUE_NOERROR) then return LUA_ERROR end end end return LUA_NO_ERROR end function doPlayerTakeItem(cid, itemid, amount) if(getPlayerItemCount(cid, itemid) < amount or doPlayerRemoveItem(cid, itemid, amount) ~= TRUE) then return LUA_ERROR end return LUA_NO_ERROR end function doPlayerBuyItem(cid, itemid, count, cost, charges) if(doPlayerRemoveMoney(cid, cost) ~= TRUE) then return LUA_ERROR end return doPlayerGiveItem(cid, itemid, count, charges) end function doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges) if(doPlayerRemoveMoney(cid, cost) ~= TRUE) then return LUA_ERROR end for i = 1, count do local container = doCreateItemEx(containerid, 1) for x = 1, getContainerCapById(containerid) do doAddContainerItem(container, itemid, charges) end if(doPlayerAddItemEx(cid, container, TRUE) ~= RETURNVALUE_NOERROR) then return LUA_ERROR end end return LUA_NO_ERROR end function doPlayerSellItem(cid, itemid, count, cost) if(doPlayerTakeItem(cid, itemid, count) ~= LUA_NO_ERROR) then return LUA_ERROR end if(doPlayerAddMoney(cid, cost) ~= TRUE) then error('Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).') end return LUA_NO_ERROR end function isInRange(pos, fromPos, toPos) return (pos.x >= fromPos.x and pos.y >= fromPos.y and pos.z >= fromPos.z and pos.x <= toPos.x and pos.y <= toPos.y and pos.z <= toPos.z) and TRUE or FALSE end function isPremium(cid) return (isPlayer(cid) == TRUE and (getPlayerPremiumDays(cid) > 0 or getConfigInfo('freePremium') == "yes")) and TRUE or FALSE 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" else return "th" end 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 isNumber(str) return tonumber(str) ~= nil and TRUE or FALSE end function getDistanceBetween(firstPosition, secondPosition) local xDif = math.abs(firstPosition.x - secondPosition.x) local yDif = math.abs(firstPosition.y - secondPosition.y) local posDif = math.max(xDif, yDif) if(firstPosition.z ~= secondPosition.z) then posDif = posDif + 9 + 6 end return posDif 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 isSorcerer(cid) if(isPlayer(cid) == FALSE) then debugPrint("isSorcerer: Jogador nao encontrado.") return false end return (isInArray({1,5,9}, getPlayerVocation(cid)) == TRUE) end function isDruid(cid) if(isPlayer(cid) == FALSE) then debugPrint("isDruid: Jogador nao encontrado.") return false end return (isInArray({2,6,10}, getPlayerVocation(cid)) == TRUE) end function isPaladin(cid) if(isPlayer(cid) == FALSE) then debugPrint("isPaladin: Jogador nao encontrado.") return false end return (isInArray({3,7,11}, getPlayerVocation(cid)) == TRUE) end function isKnight(cid) if(isPlayer(cid) == FALSE) then debugPrint("isKnight: Jogador nao encontrado.") return false end return (isInArray({4,8,12}, getPlayerVocation(cid)) == TRUE) end function isRookie(cid) if(isPlayer(cid) == FALSE) then debugPrint("isRookie: Jogador nao encontrado.") return false end return (isInArray({0}, getPlayerVocation(cid)) == TRUE) end function getDirectionTo(pos1, pos2) local dir = NORTH if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getPlayerLookPos(cid) return getPosByDir(getThingPos(cid), getPlayerLookDir(cid)) end function getPosByDir(fromPosition, direction, size) local n = size or 1 local pos = fromPosition if(direction == NORTH) then pos.y = pos.y - n elseif(direction == SOUTH) then pos.y = pos.y + n elseif(direction == WEST) then pos.x = pos.x - n elseif(direction == EAST) then pos.x = pos.x + n elseif(direction == NORTHWEST) then pos.y = pos.y - n pos.x = pos.x - n elseif(direction == NORTHEAST) then pos.y = pos.y - n pos.x = pos.x + n elseif(direction == SOUTHWEST) then pos.y = pos.y + n pos.x = pos.x - n elseif(direction == SOUTHEAST) then pos.y = pos.y + n pos.x = pos.x + n end return pos end function getPlayerMoney(cid) return ((getPlayerItemCount(cid, ITEM_CRYSTAL_COIN) * 10000) + (getPlayerItemCount(cid, ITEM_PLATINUM_COIN) * 100) + getPlayerItemCount(cid, ITEM_GOLD_COIN)) end function doPlayerWithdrawAllMoney(cid) return doPlayerWithdrawMoney(cid, getPlayerBalance(cid)) end function doPlayerDepositAllMoney(cid) return doPlayerDepositMoney(cid, getPlayerMoney(cid)) end function doPlayerTransferAllMoneyTo(cid, target) return doPlayerTransferMoneyTo(cid, target, getPlayerBalance(cid)) end function playerExists(name) return getPlayerGUIDByName(name) ~= 0 end function getTibiaTime() local minutes = getWorldTime() local hours = 0 while (minutes > 60) do hours = hours + 1 minutes = minutes - 60 end return {hours = hours, minutes = minutes} end function doWriteLogFile(file, text) local file = io.open(file, "a+") file:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n") file:close() 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) setConditionParam(condition, CONDITION_PARAM_TICKS, time * 1000) return doAddCondition(cid, condition) end function getPlayerVocationName(cid) return getVocationInfo(getPlayerVocation(cid)).name end function getPromotedVocation(vid) return getVocationInfo(vid).promotedVocation end function doPlayerRemovePremiumDays(cid, days) return doPlayerAddPremiumDays(cid, -days) end function getPlayerMasterPos(cid) return getTownTemplePosition(getPlayerTown(cid)) end function getItemNameById(itemid) return getItemDescriptionsById(itemid).name end function getItemPluralNameById(itemid) return getItemDescriptionsById(itemid).plural end function getItemArticleById(itemid) return getItemDescriptionsById(itemid).article end function getItemName(uid) return getItemDescriptions(uid).name end function getItemPluralName(uid) return getItemDescriptions(uid).plural end function getItemArticle(uid) return getItemDescriptions(uid).article end function getItemText(uid) return getItemDescriptions(uid).text end function getItemWriter(uid) return getItemDescriptions(uid).writer end function getItemDate(uid) return getItemDescriptions(uid).date end function getTilePzInfo(pos) return getTileInfo(pos).protection and TRUE or FALSE end function getTileZoneInfo(pos) local tmp = getTileInfo(pos) if(tmp.pvp) then return 2 end if(tmp.nopvp) then return 1 end return 0 end function debugPrint(text) return io.stdout:write(text) end function doShutdown() return doSetGameState(GAMESTATE_SHUTDOWN) end function doSummonCreature(name, pos) local cid = doCreateMonster(name, pos) if(cid ~= LUA_ERROR) then return cid end cid = doCreateNpc(name, pos) return cid end function getOnlinePlayers() local tmp = getPlayersOnline() local players = {} for i, cid in ipairs(tmp) do table.insert(players, getCreatureName(cid)) end return players end function getPlayerByName(name) local cid = getCreatureByName(name) return isPlayer(cid) == TRUE and cid or nil end function isPlayerGhost(cid) return isPlayer(cid) == TRUE and getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) or FALSE end function doPlayerSetExperienceRate(cid, value) return doPlayerSetRate(cid, SKILL__LEVEL, value) end function doPlayerSetMagicRate(cid, value) return doPlayerSetRate(cid, SKILL__MAGLEVEL, value) end function getPlayerFrags(cid) return math.ceil((getPlayerRedSkullTicks(cid) / getConfigInfo('timeToDecreaseFrags')) + 1) end function getPartyLeader(cid) local party = getPartyMembers(cid) if(type(party) ~= 'table') then return 0 end return party[1] end function isInParty(cid) return type(getPartyMembers(cid)) == 'table' and TRUE or FALSE end function isPrivateChannel(channelId) for i = CHANNEL_GUILD, CHANNEL_HELP do if(channelId == i) then return FALSE end end return TRUE end function doConvertIntegerToIp(int, mask) local b4 = bit.urshift(bit.uband(int, 4278190080), 24) local b3 = bit.urshift(bit.uband(int, 16711680), 16) local b2 = bit.urshift(bit.uband(int, 65280), 8) local b1 = bit.urshift(bit.uband(int, 255), 0) if(mask ~= nil) then local m4 = bit.urshift(bit.uband(mask, 4278190080), 24) local m3 = bit.urshift(bit.uband(mask, 16711680), 16) local m2 = bit.urshift(bit.uband(mask, 65280), 8) local m1 = bit.urshift(bit.uband(mask, 255), 0) if((m1 == 255 or m1 == 0) and (m2 == 255 or m2 == 0) and (m3 == 255 or m3 == 0) and (m4 == 255 or m4 == 0)) then if m1 == 0 then b1 = "x" end if m2 == 0 then b2 = "x" end if m3 == 0 then b3 = "x" end if m4 == 0 then b4 = "x" end elseif(m1 ~= 255 or m2 ~= 255 or m3 ~= 255 or m4 ~= 255) then return b1 .. "." .. b2 .. "." .. b3 .. "." .. b4 .. " : " .. m1 .. "." .. m2 .. "." .. m3 .. "." .. m4 end end return b1 .. "." .. b2 .. "." .. b3 .. "." .. b4 end function doConvertIpToInteger(str) local maskindex = str:find(":") if(maskindex == nil) then local ipint = 0 local maskint = 0 local index = 24 for b in str:gmatch("([x%d]+)%.?") do if(b ~= "x") then if(b:find("x") ~= nil) then return 0, 0 end if(tonumber(b) > 255 or tonumber(b) < 0) then return 0, 0 end maskint = bit.ubor(maskint, bit.ulshift(255, index)) ipint = bit.ubor(ipint, bit.ulshift(b, index)) end index = index - 8 if(index < 0) then break end end if(index ~= -8) then return 0, 0 end return ipint, maskint end if(maskindex <= 1) then return 0, 0 end local ipstring = str:sub(1, maskindex - 1) local maskstring = str:sub(maskindex) local ipint = 0 local maskint = 0 local index = 0 for b in ipstring:gmatch("(%d+).?") do if(tonumber(b) > 255 or tonumber(b) < 0) then return 0, 0 end ipint = bit.ubor(ipint, bit.ulshift(b, index)) index = index + 8 if(index > 24) then break end end if(index ~= 32) then return 0, 0 end index = 0 for b in maskstring:gmatch("(%d+)%.?") do if(tonumber(b) > 255 or tonumber(b) < 0) then return 0, 0 end maskint = bit.ubor(maskint, bit.ulshift(b, index)) index = index + 8 if(index > 24) then break end end if(index ~= 32) then return 0, 0 end return ipint, maskint end function getBooleanFromString(str) return (str:lower() == "yes" or str:lower() == "true" or (tonumber(str) and tonumber(str) > 0)) and TRUE or FALSE end function doCopyItem(item, attributes) local attributes = attributes or FALSE local ret = doCreateItemEx(item.itemid, item.type) if(attributes == TRUE) then if(item.actionid > 0) then doSetItemActionId(ret, item.actionid) end end if(isContainer(item.uid) == TRUE) 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 table.find = function (table, value) for i, v in pairs(table) do if(v == value) then return i end end return nil end table.isStrIn = function (txt, str) for i, v in pairs(str) do if(txt:find(v) and not txt:find('(%w+)' .. v) and not txt:find(v .. '(%w+)')) then return true end end return false end table.countElements = function (table, item) local count = 0 for i, n in pairs(table) do if(item == n) then count = count + 1 end end return count end table.getCombinations = function (table, num) local a, number, select, newlist = {}, #table, num, {} for i = 1, select do a[#a + 1] = i end local newthing = {} while(true) do local newrow = {} for i = 1, select do newrow[#newrow + 1] = table[a] end newlist[#newlist + 1] = newrow i = select while(a == (number - select + i)) do i = i - 1 end if(i < 1) then break end a = a + 1 for j = i, select do a[j] = a + j - i end end return newlist end string.split = function (str) local t = {} local function helper(word) table.insert(t, word) return "" end if(not str:gsub("%w+", helper):find("%S")) then return t end end string.trim = function (str) return (string.gsub(str, "^%s*(.-)%s*{:content:}quot;, "%1")) end string.explode = function (str, sep) local pos, t = 1, {} if #sep == 0 or #str == 0 then return end for s, e in function() return str:find(sep, pos) end do table.insert(t, str:sub(pos, s - 1):trim()) pos = e + 1 end table.insert(t, str:sub(pos):trim()) return t end 5º - Salve, feche va em "data", abra seu server e veja se o procedimento junto a dica deu certo. OBS: Se não funcionar ponha aqui seu post vou analisar melhor. ----------------------------------<><><><><><><><><><>--------------------------------- MAS, se seu server for atualizado, digo, na pasta, 'data/lib', tiver vários arquivos, e tiver um arquivo 031-vocations, ou coisa assim, terás que mudar apenas aqui, a mesma coisa aí em cima, veja: function isSorcerer(cid) return isInArray({1, 5}, getPlayerVocation(cid)) end function isDruid(cid) return isInArray({2, 6}, getPlayerVocation(cid)) end function isPaladin(cid) return isInArray({3, 7}, getPlayerVocation(cid)) end function isKnight(cid) return isInArray({4, 8}, getPlayerVocation(cid)) end function isRookie(cid) return isInArray({0}, getPlayerVocation(cid)) end DISSO, para isso: function isSorcerer(cid) return isInArray({1, 5, 9}, getPlayerVocation(cid)) end function isDruid(cid) return isInArray({2, 6, 10}, getPlayerVocation(cid)) end function isPaladin(cid) return isInArray({3, 7, 11}, getPlayerVocation(cid)) end function isKnight(cid) return isInArray({4, 8, 12}, getPlayerVocation(cid)) end function isRookie(cid) return isInArray({0}, getPlayerVocation(cid)) end OBS: Mude as ID de acordo com o que você colocar nas vocations.xml. Editado Janeiro 14, 2013 por romera Link para o comentário Compartilhar em outros sites More sharing options...
luan12 83 Postado Janeiro 13, 2011 Share Postado Janeiro 13, 2011 Obrigado pela contribuição, tutorial muito útil e de fácil entendimento, portanto, aprovado. Té. Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Janeiro 13, 2011 Autor Share Postado Janeiro 13, 2011 Valeu, cra.... ate+ Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Janeiro 19, 2011 Autor Share Postado Janeiro 19, 2011 Apenas 35 visualizações, acho que ainda meu tópico não ajudou....... Link para o comentário Compartilhar em outros sites More sharing options...
danilobso 0 Postado Janeiro 29, 2011 Share Postado Janeiro 29, 2011 kra nao sabia q vc ajudava os cara aki no xtibia. bom tuto. flw Link para o comentário Compartilhar em outros sites More sharing options...
Tibizeiro 0 Postado Janeiro 29, 2011 Share Postado Janeiro 29, 2011 (editado) cara nao consegui... o master, royal, elite e elder funfam, mas os epic nao... tentei copiar sua function nao deu, e nao sei que parte eu add as id das voc ajuda ae --- ae consegui arrumar, se alguem no futuro tiver esse erro e estiver lendo aqui vai nesse post http://www.xtibia.com/forum/topic/147043-resolvido-second-promotionvocation/ copia os arquivos do cara que ta pedindo ajuda e pega o 031 vocations do cara que ta ajudando e pronto! Editado Janeiro 29, 2011 por Tibiarx Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Janeiro 30, 2011 Autor Share Postado Janeiro 30, 2011 (editado) cara nao consegui... o master, royal, elite e elder funfam, mas os epic nao... tentei copiar sua function nao deu, e nao sei que parte eu add as id das voc ajuda ae --- ae consegui arrumar, se alguem no futuro tiver esse erro e estiver lendo aqui vai nesse post http://www.xtibia.com/forum/topic/147043-resolvido-second-promotionvocation/ copia os arquivos do cara que ta pedindo ajuda e pega o 031 vocations do cara que ta ajudando e pronto! Cara leia todo o tópico, não apenas copie!!! Eu disse a mesma coisa!! --EDIT-- Modifiquei o Tutorial para simplificar o processo e entendimento. Editado Janeiro 30, 2011 por romera Link para o comentário Compartilhar em outros sites More sharing options...
Tibizeiro 0 Postado Janeiro 30, 2011 Share Postado Janeiro 30, 2011 cara nao sei se foi só comigo, mas o erro era na lib/vocations e nao na function Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Janeiro 31, 2011 Autor Share Postado Janeiro 31, 2011 (editado) cara nao sei se foi só comigo, mas o erro era na lib/vocations e nao na function Ata....Mals aew... Hehe aí é diferente... Se tem que muda no 031-vocations, verdade valeu por lembrar: Mas esse seu server é o atualizado como disse aí emcima, vo Edit, pra por isso também!! Editado Janeiro 31, 2011 por romera Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Fevereiro 10, 2011 Autor Share Postado Fevereiro 10, 2011 Tutorial editado, Adequado para: --> "data/lib": * Pasta Atualizada ou não atualizada. * Function Atualizado. * Function Desatualizado. Ate+ Link para o comentário Compartilhar em outros sites More sharing options...
helanio 2 Postado Fevereiro 11, 2011 Share Postado Fevereiro 11, 2011 (editado) kra dessa vez nao foi eu vo en data/lib/ 031-vocation mudo de EX: 1, 5 para 1, 5, 9 mais nda acontesse aina fika You see yourself. You are . Editado Fevereiro 11, 2011 por helanio Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Fevereiro 11, 2011 Autor Share Postado Fevereiro 11, 2011 (editado) kra dessa vez nao foi eu vo en data/lib/ 031-vocation mudo de EX: 1, 5 para 1, 5, 9 mais nda acontesse aina fika You see yourself. You are . Então faz assim poe seu vocation.xml aki... Ou talvez tenha que muda nas functions.. Editado Fevereiro 12, 2011 por romera Link para o comentário Compartilhar em outros sites More sharing options...
helanio 2 Postado Fevereiro 12, 2011 Share Postado Fevereiro 12, 2011 <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="40" gainmanaticks="3" gainmanaamount="50" manamultiplier="1.1" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="40" gainmanaticks="3" gainmanaamount="50" manamultiplier="1.1" attackspeed="1300" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="50" gainmanaticks="4" gainmanaamount="40" manamultiplier="1.4" attackspeed="1300" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="4" name="Elite Knight" description="a Elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="60" gainmanaticks="6" gainmanaamount="30" manamultiplier="3.0" attackspeed="1300" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a Master Sorcerer" needpremium="1" gaincap="15" gainhp="10" gainmana="35" gainhpticks="4" gainhpamount="50" gainmanaticks="2" gainmanaamount="65" manamultiplier="1.1" attackspeed="900" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.2"/> </vocation> <vocation id="6" name="Elder Druid" description="an Elder druid" needpremium="1" gaincap="15" gainhp="10" gainmana="35" gainhpticks="4" gainhpamount="50" gainmanaticks="2" gainmanaamount="65" manamultiplier="1.1" attackspeed="900" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.2"/> </vocation> <vocation id="7" name="Elder Paladin" description="a Elder paladin" needpremium="1" gaincap="25" gainhp="15" gainmana="20" gainhpticks="3" gainhpamount="60" gainmanaticks="3" gainmanaamount="60" manamultiplier="1.4" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.2"/> </vocation> <vocation id="8" name="Elder Knight" description="an Elder knight" needpremium="1" gaincap="30" gainhp="20" gainmana="10" gainhpticks="2" gainhpamount="75" gainmanaticks="4" gainmanaamount="40" manamultiplier="3.0" attackspeed="900" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.2"/> </vocation> <vocation id="9" name="Epic Master Sorcerer" description="an Epic Master Sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="100" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="10" name="Epic Elder Druid" description="an Epic Elder Druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="100" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="11" name="Epic Royal Paladin" description="an Epic Royal Paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="130" gainmanaticks="3" gainmanaamount="95" manamultiplier="1.4" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="12" name="Epic Elite Knight" description="an Epic Elite Knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="185" gainmanaticks="4" gainmanaamount="65" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> </vocations> Link para o comentário Compartilhar em outros sites More sharing options...
romera 10 Postado Fevereiro 15, 2011 Autor Share Postado Fevereiro 15, 2011 Hamm?? Deu certo ou não?? Poste o erro do console aqui. Ate+ Link para o comentário Compartilhar em outros sites More sharing options...
pedroh7 0 Postado Março 29, 2011 Share Postado Março 29, 2011 veio nao funfou aki. meu server e baiak edit Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados