-
Total de itens
61 -
Registro em
-
Última visita
Posts postados por Hisoka Fail2
-
-
1 hora atrás, Naruse disse:
Que base e essa?
Cyan / pda
-
Olá, meu fishsystem tem o seguinte bug, ao chegar no level 59 de fish, o sistema simplesmente buga, não sobe mais o nivel de fish (ganha xp, a barra sobe, mas em vez de upara para o level 60 de fish o player continua 59), coloquei para printar na distro o level da skill do player, séria de grande ajuda para mim e para a comunidade caso alguém me ajude solucionar o problema (creio que esse bug é de todas bases cyans, se não de todos pdas).
OPS: Tenho as sources do servidor.
Script:
Citarlocal fishing = { [-1] = { segs = 5, pokes = {{"Magikarp", 5}} }, [3976] = { segs = 5, pokes = {{"Horsea", 5}, {"Remoraid", 3}, {"Goldeen", 3}, {"Poliwag", 2}, {"Swinub", 2}} }, -- pega no client da pxg [12855] = { segs = 5, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2}, {"Omanyte", 3}} }, [12854] = { segs = 5, pokes = {{"Seel", 2}, {"Chinchou", 2}, {"Slowpoke", 2}, {"Kabuto", 2}, {"Psyduck", 2}, {"Wooper", 2}} }, [12858] = { segs = 5, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}, {"Squirtle", 2}, {"Totodile", 2}} }, [12857] = { segs = 5, pokes = {{"Starmie", 2}, {"Kingler", 2}, {"Corsola", 2}, {"Qwilfish", 2}} }, -- pega no client da pxg [12860] = { segs = 2, pokes = {{"Lanturn", 2}, {"Dewgong", 2}, {"Slowbro", 2}, {"Azumarill", 2}} }, [12859] = { segs = 2, pokes = {{"Cloyster", 2}, {"Poliwrath", 2}, {"Politoed", 2}, {"Octillery", 2}} }, [12856] = { segs = 2, pokes = {{"Dratini", 3}, {"Quagsire", 2}, {"Dragonair", 2}, {"Omastar", 2}, {"Lapras", 1}} }, [12853] = { segs = 2, pokes = {{"Gyarados", 1}, {"Mantine", 1}, {"Tentacruel", 1}, {"Kingdra", 1}, {"Giant Magikarp", 1}, {"Feraligatr", 1}, {"Blastoise", 1}} }, } local storageP = 154585 local sto_iscas = 5648454 --muda aki pra sto q ta no script da isca local bonus = 15 local limite = 500000 local pescax = 154588 local function doFish(cid, pos, ppos, interval) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) if interval > 0 then addEvent(doFish, 1000, cid, pos, ppos, interval-1) return true end local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = fishing[getPlayerStorageValue(cid, sto_iscas)] local random = {} if isPlayer(cid) then local printpesca = getPlayerSkill(cid, 6) print(printpesca) doPlayerAddSkillTry(cid, 6, 9999999) end random = fishes.pokes[math.random(#fishes.pokes)] for i = 1, math.random(random[2]) do peixe = doSummonCreature(random[1], playerpos) setCD(getPlayerSlotItem(cid, 2).uid, "pesca", 1) if not isCreature(peixe) then setPlayerStorageValue(cid, storageP, 0) setPlayerStorageValue(cid, pescax, 0) doRemoveCondition(cid, CONDITION_OUTFIT) return true end doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 0) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 0) doChallengeCreature(cid, peixe) end end setPlayerStorageValue(cid, storageP, -1) doRemoveCondition(cid, CONDITION_OUTFIT) return true end local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end local checkPos = toPos checkPos.stackpos = 0 if getTileThingByPos(checkPos).itemid <= 0 then doPlayerSendCancel(cid, '!') return true end if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end if not isInArray({520, 521}, getCreatureOutfit(cid).lookType) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.") end local delay = fishing[getPlayerStorageValue(cid, sto_iscas)].segs if getPlayerStorageValue(cid, sto_iscas) ~= -1 then if getPlayerItemCount(cid, getPlayerStorageValue(cid, sto_iscas)) >= 1 then doPlayerRemoveItem(cid, getPlayerStorageValue(cid, sto_iscas), 1) else setPlayerStorageValue(cid, sto_iscas, -1) end end local outfit = getCreatureOutfit(cid) local out = getPlayerSex(cid) == 0 and 1467 or 1468 doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1) setPlayerStorageValue(cid, storagePlayer, 1) --alterei looktype doCreatureSetNoMove(cid, false) setPlayerStorageValue(cid, pescax, 1) local count = {} for i, v in pairs(getPlayersOnline()) do local coodown = getCD(getPlayerSlotItem(v, 2).uid, "pesca", 1) if coodown > 0 then table.insert(count, coodown) end end if #count > 50 then return true end doFish(cid, toPos, getThingPos(cid), math.random(5, delay)) return true end
Print(distro e jogo):
Citar -
Em 23/07/2018 em 11:37, Pokeultion disse:
Se for usar solto em apenas um script usa igual o amigo ai em cima falou, mas se realmente for usar mais vezes e achar mais pratico usar a função:
function doPlayerAddItemAttribute(cid, item, quantidade, atributo) local item = doPlayerAddItem(cid, item, quantidade) doItemSetAttribute(item, atributo) return true end
Muito obrigado, não tinha pensando nisso, sou novo ainda em programação.
-
Olá, tentei aqui fazer sozinho mas não consegui, gostaria da seguinte função para o some functions, doPlayerAddItemAtribute(cid, itemid, quant, atribute), como podem ver é a mesma função do doPlayerAddItem, porém com a diferençã de adicionar o item já com um atributo, isso é possivel???, também resolveria se tive-se alguma forma de add um item ao player, e logo em seguida um atributo.
-
Olá, comecei a estudar programação a algum tempo, e já consigo fazer alguns "sisteminhas" simples e edições no que necessito para meu servidor, qual dica vocês programadores mais experientes dariam para vocês mesmos no passado???, de como evoluir mais rápido, como sair daquele simples "editar e fazer uma coisinha" para o realmente desenvolver sistemas mais complexos, o que estudar mais a fundo????, como se desenvolver mais rápido????, obrigado desde de já.
-
Como posso editar as imagens desse launcher????, no caso adicionar.
-
Agora, CaioSilva99 disse:
Você entendeu.
Tendi não, fala ai
-
Agora, CaioSilva99 disse:
MEU DEUS EIN
???
-
Ta sem bug de queda mesmo???
Porra tava dahora seu server, vou colocar ele online, não se preocupe não será p2w, vou fazer um server dahora com sua base, obrigado por contribuir...
-
Duvida sanada.
-
Agora, Poccnn disse:
Sim.
Muito legal.
Só o sistema da inquisição já vale apena.
Quando on?
-
Agora, Poccnn disse:
Claro que não. Existem os outros deuses, mas o deus cristão se acha o melhor.
E isso é o bom, pois é guerra de religiões.
Eu fiz varios reinos na qual cada um tem uma religião e eles invadem os outros reinos e instauram sua religião.
É sério isso mesmo???
-
13 horas atrás, Poccnn disse:
Que legal. Ficou muito bom.
Estou fazendo um baseado na mitologia cristã.
Mas é meio palha, pq só te um Deus...
-
Agora, Poccnn disse:
Por quê que eu deveria assitir esses filmes?
Sei lá, eu gostei, não sei teu gosto.
-
Script:
Citarlocal config = {
removeItem = {id = 2151, count = 1},
addItem = {id = 18601, count = 1},
}
function onUse(cid, item)
if not(doPlayerRemoveItem(cid, config.removeItem.id, config.removeItem.count)) then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You dont have "..config.removeItem.count.." "..getItemNameById(config.removeItem.id)..".")
end
doPlayerAddItem(cid, config.addItem.id, config.addItem.count)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You gained "..config.addItem.count.." "..getItemNameById(config.addItem.id)..".")
end
050-....
Citarfunction 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
endreturn true
endfunction 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)
endif(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then
return false
end
endreturn true
endfunction doPlayerTakeItem(cid, itemid, amount)
return getPlayerItemCount(cid, itemid) >= amount and doPlayerRemoveItem(cid, itemid, amount)
endfunction doPlayerBuyItem(cid, itemid, count, cost, charges)
return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItem(cid, itemid, count, charges)
endfunction doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges)
return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItemContainer(cid, containerid, itemid, count, charges)
endfunction doPlayerSellItem(cid, itemid, count, cost)
if(not doPlayerTakeItem(cid, itemid, count)) then
return false
endif(not doPlayerAddMoney(cid, cost)) then
error('[doPlayerSellItem] Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).')
endreturn true
endfunction doPlayerWithdrawMoney(cid, amount)
if(not getBooleanFromString(getConfigInfo('bankSystem'))) then
return false
endlocal balance = getPlayerBalance(cid)
if(amount > balance or not doPlayerAddMoney(cid, amount)) then
return false
enddoPlayerSetBalance(cid, balance - amount)
return true
endfunction doPlayerDepositMoney(cid, amount)
if(not getBooleanFromString(getConfigInfo('bankSystem'))) then
return false
endif(not doPlayerRemoveMoney(cid, amount)) then
return false
enddoPlayerSetBalance(cid, getPlayerBalance(cid) + amount)
return true
endfunction isPremium(cid)
return (isPlayer(cid) and (getPlayerPremiumDays(cid) > 0 or getBooleanFromString(getConfigInfo('freePremium'))))
endfunction 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"
endreturn "th"
endfunction getMonthString(m)
return os.date("%B", os.time{year = 1970, month = m, day = 1})
endfunction getArticle(str)
if str:find("[AaEeIiOoUuYy]") then
return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a"
else
print("Error trying to use Look.lua in a pokeball!!")
return "a"
end
endfunction isNumber(str)
return tonumber(str) ~= nil
endfunction doPlayerAddAddons(cid, addon)
for i = 0, table.maxn(maleOutfits) do
doPlayerAddOutfit(cid, maleOutfits, addon)
endfor i = 0, table.maxn(femaleOutfits) do
doPlayerAddOutfit(cid, femaleOutfits, addon)
end
endfunction doPlayerWithdrawAllMoney(cid)
return doPlayerWithdrawMoney(cid, getPlayerBalance(cid))
endfunction doPlayerDepositAllMoney(cid)
return doPlayerDepositMoney(cid, getPlayerMoney(cid))
endfunction doPlayerTransferAllMoneyTo(cid, target)
return doPlayerTransferMoneyTo(cid, target, getPlayerBalance(cid))
endfunction playerExists(name)
return getPlayerGUIDByName(name) ~= 0
endfunction getTibiaTime()
local minutes = getWorldTime()
local hours = 0
while (minutes > 60) do
hours = hours + 1
minutes = minutes - 60
endreturn {hours = hours, minutes = minutes}
endfunction doWriteLogFile(file, text)
local f = io.open(file, "a+")
if(not f) then
return false
endf:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n")
f:close()
return true
endfunction getExperienceForLevel(lv)
lv = lv - 1
return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3
endfunction doMutePlayer(cid, time)
local condition = createConditionObject(CONDITION_MUTED)
setConditionParam(condition, CONDITION_PARAM_TICKS, time * 1000)
return doAddCondition(cid, condition)
endfunction getPlayerGroupName(cid)
return getGroupInfo(getPlayerGroupId(cid)).name
endfunction getPlayerVocationName(cid)
return getVocationInfo(getPlayerVocation(cid)).name
endfunction getPromotedVocation(vid)
return getVocationInfo(vid).promotedVocation
endfunction doPlayerRemovePremiumDays(cid, days)
return doPlayerAddPremiumDays(cid, -days)
endfunction getPlayerMasterPos(cid)
return getTownTemplePosition(getPlayerTown(cid))
endfunction getHouseOwner(houseId)
return getHouseInfo(houseId).owner
endfunction getHouseName(houseId)
return getHouseInfo(houseId).name
endfunction getHouseEntry(houseId)
return getHouseInfo(houseId).entry
endfunction getHouseRent(houseId)
return getHouseInfo(houseId).rent
endfunction getHousePrice(houseId)
return getHouseInfo(houseId).price
endfunction getHouseTown(houseId)
return getHouseInfo(houseId).town
endfunction getHouseTilesCount(houseId)
return getHouseInfo(houseId).tiles
endfunction getItemNameById(itemid)
return getItemDescriptionsById(itemid).name
endfunction getItemPluralNameById(itemid)
return getItemDescriptionsById(itemid).plural
endfunction getItemArticleById(itemid)
return getItemDescriptionsById(itemid).article
endfunction getItemName(uid)
return getItemDescriptions(uid).name
endfunction getItemPluralName(uid)
return getItemDescriptions(uid).plural
endfunction getItemArticle(uid)
return getItemDescriptions(uid).article
endfunction getItemText(uid)
return getItemDescriptions(uid).text
endfunction getItemSpecialDescription(uid)
return getItemDescriptions(uid).special
endfunction getItemWriter(uid)
return getItemDescriptions(uid).writer
endfunction getItemDate(uid)
return getItemDescriptions(uid).date
endfunction getTilePzInfo(pos)
return getTileInfo(pos).protection
endfunction getTileZoneInfo(pos)
local tmp = getTileInfo(pos)
if(tmp.pvp) then
return 2
endif(tmp.nopvp) then
return 1
endreturn 0
endfunction doShutdown()
return doSetGameState(GAMESTATE_SHUTDOWN)
endfunction doSummonCreature(name, pos, displayError)
local displayError, cid = displayError or true, doCreateMonster(name, pos, displayError)
if(not cid) then
cid = doCreateNpc(name, pos, displayError)
endreturn cid
endfunction getOnlinePlayers()
local tmp = getPlayersOnline()
local players = {}
for i, cid in ipairs(tmp) do
table.insert(players, getCreatureName(cid))
endreturn players
endfunction getPlayerByName(name)
local cid = getCreatureByName(name)
return isPlayer(cid) and cid or nil
endfunction isPlayer(cid)
return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERS
endfunction isPlayerGhost(cid)
if(not isPlayer(cid)) then
return false
endreturn getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) or getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBESEEN)
endfunction isMonster(cid)
return isCreature(cid) and cid >= AUTOID_MONSTERS and cid < AUTOID_NPCS
endfunction isNpc(cid)
return isCreature(cid) and cid >= AUTOID_NPCS
endfunction doPlayerSetExperienceRate(cid, value)
return doPlayerSetRate(cid, SKILL__LEVEL, value)
endfunction doPlayerSetMagicRate(cid, value)
return doPlayerSetRate(cid, SKILL__MAGLEVEL, value)
endfunction doPlayerAddLevel(cid, amount, round)
local experience, level = 0, getPlayerLevel(cid)
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))
endreturn doPlayerAddExperience(cid, experience)
endfunction doPlayerAddMagLevel(cid, amount)
for i = 1, amount do
doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic'))
end
return true
endfunction doPlayerAddSkill(cid, skill, amount, round)
if(skill == SKILL__LEVEL) then
return doPlayerAddLevel(cid, amount, round)
elseif(skill == SKILL__MAGLEVEL) then
return doPlayerAddMagLevel(cid, amount)
endreturn doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
endfunction getPartyLeader(cid)
local party = getPartyMembers(cid)
if(type(party) ~= 'table') then
return 0
endreturn party[1]
endfunction isInParty(cid)
return type(getPartyMembers(cid)) == 'table'
endfunction isPrivateChannel(channelId)
return channelId >= CHANNEL_PRIVATE
endfunction doPlayerResetIdleTime(cid)
return doPlayerSetIdleTime(cid, 0)
endfunction 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
endclass = className
elseif(class < MESSAGE_FIRST or class > MESSAGE_LAST) then
return false
endlocal players = getPlayersOnline()
for _, pid in ipairs(players) do
doPlayerSendTextMessage(pid, class, text)
endprint("> Broadcasted message: \"" .. text .. "\".")
return true
endfunction 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
endif(type(class) == 'string') then
local className = TALKTYPE_TYPES[class]
if(className == nil) then
return false
endclass = className
elseif(class < TALKTYPE_FIRST or class > TALKTYPE_LAST) then
return false
endlocal players = getPlayersOnline()
for _, pid in ipairs(players) do
doCreatureSay(cid, text, class, ghost, pid)
endprint("> " .. getCreatureName(cid) .. " broadcasted message: \"" .. text .. "\".")
return true
endfunction getBooleanFromString(input)
local tmp = type(input)
if(tmp == 'boolean') then
return input
endif(tmp == 'number') then
return input > 0
endlocal str = string.lower(tostring(input))
return (str == "yes" or str == "true" or (tonumber(str) ~= nil and tonumber(str) > 0))
endfunction doCopyItem(item, attributes)
local attributes = attributes or falselocal ret = doCreateItemEx(item.itemid, item.type)
if(attributes) then
if(item.actionid > 0) then
doItemSetAttribute(ret, "aid", item.actionid)
end
endif(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
endreturn getThing(ret)
endfunction doRemoveThing(uid)
if(isCreature(uid)) then
return doRemoveCreature(uid)
endreturn doRemoveItem(uid)
endfunction setAttackFormula(combat, type, minl, maxl, minm, maxm, min, max)
local min, max = min or 0, max or 0
return setCombatFormula(combat, type, -1, 0, -1, 0, minl, maxl, minm, maxm, min, max)
endfunction setHealingFormula(combat, type, minl, maxl, minm, maxm, min, max)
local min, max = min or 0, max or 0
return setCombatFormula(combat, type, 1, 0, 1, 0, minl, maxl, minm, maxm, min, max)
endfunction doChangeTypeItem(uid, subtype)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
endlocal subtype = subtype or 1
return doTransformItem(thing.uid, thing.itemid, subtype)
endfunction doSetItemText(uid, text, writer, date)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
enddoItemSetAttribute(uid, "text", text)
if(writer ~= nil) then
doItemSetAttribute(uid, "writer", tostring(writer))
if(date ~= nil) then
doItemSetAttribute(uid, "date", tonumber(date))
end
endreturn true
endfunction getFluidSourceType(itemid)
local item = getItemInfo(itemid)
return item and item.fluidSource or false
endfunction getDepotId(uid)
return getItemAttribute(uid, "depotid") or false
endfunction getItemDescriptions(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
endlocal item = getItemInfo(thing.itemid)
return {
name = getItemAttribute(uid, "name") or item.name,
plural = getItemAttribute(uid, "pluralname") or item.plural,
article = getItemAttribute(uid, "article") or item.article,
special = getItemAttribute(uid, "description") or "",
text = getItemAttribute(uid, "text") or "",
writer = getItemAttribute(uid, "writer") or "",
date = getItemAttribute(uid, "date") or 0
}
endfunction getItemWeightById(itemid, count, precision)
local item, count, precision = getItemInfo(itemid), count or 1, precision or false
if(not item) then
return false
endif(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!')
endlocal weight = item.weight * count
--[[if(precision) then
return weight
endlocal t = string.explode(tostring(weight), ".")
if(table.maxn(t) == 2) then
return tonumber(t[1] .. "." .. string.sub(t[2], 1, 2))
end]]--return weight
endfunction getItemWeaponType(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
endreturn getItemInfo(thing.itemid).weaponType
endfunction getItemRWInfo(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
endlocal item, flags = getItemInfo(thing.itemid), 0
if(item.readable) then
flags = 1
endif(item.writable) then
flags = flags + 2
endreturn flags
endfunction getItemLevelDoor(itemid)
local item = getItemInfo(itemid)
return item and item.levelDoor or false
endfunction isItemStackable(itemid)
local item = getItemInfo(itemid)
return item and item.stackable or false
endfunction isItemRune(itemid)
local item = getItemInfo(itemid)
return item and item.clientCharges or false
endfunction isItemDoor(itemid)
local item = getItemInfo(itemid)
return item and item.type == 5 or false
endfunction isItemContainer(itemid)
local item = getItemInfo(itemid)
return item and item.group == 2 or false
endfunction isItemFluidContainer(itemid)
local item = getItemInfo(itemid)
return item and item.group == 12 or false
endfunction isItemMovable(itemid)
local item = getItemInfo(itemid)
return item and item.movable or false
endfunction isCorpse(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
endlocal item = getItemInfo(thing.itemid)
return item and item.corpseType ~= 0 or false
endfunction getContainerCapById(itemid)
local item = getItemInfo(itemid)
if(not item or item.group ~= 2) then
return false
endreturn item.maxItems
endfunction getMonsterAttackSpells(name)
local monster = getMonsterInfo(name)
return monster and monster.attacks or false
endfunction getMonsterHealingSpells(name)
local monster = getMonsterInfo(name)
return monster and monster.defenses or false
endfunction getMonsterLootList(name)
local monster = getMonsterInfo(name)
return monster and monster.loot or false
endfunction getMonsterSummonList(name)
local monster = getMonsterInfo(name)
return monster and monster.summons or false
end -
Clube da luta, donnie darko, time lapse, looping temporal, o procurado, kick ass (1 e 2), watchman, logan imortal, precisamos falar sobre kevin, entre outros.
-
Agora, Poccnn disse:
Substitua isso:
isCreature(pk)
Por isto:
isPlayer(pk)
Perfeito.
-
Estou com esse erro no meu pokeexp.lua : attempt to compare boolean with number
Ai está a linha do erro:
Citarif getPlayerLevel(pk) <= 1 then
Eu já pesquise e sei que o erro é devido a isso : <= 1 (que está comparando algo), mas não sei se simplesmente remover isso, irá de fato corrigir o erro, ou se irá piorar tudo.
Script completo:
Citarlocal function playerAddExp(cid, exp)
if isPlayer(cid) == TRUE then
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
else
return true
end
end
function onDeath(cid, corpse, deathList)
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
local givenexp = getWildPokemonExp(cid)
---local killer = getItemAttribute(corpse.uid, "corpseowner")
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
local expTotal = math.floor(givenexp)
local party = getPartyMembers(pk)
if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
expTotal = math.floor(expTotal/#party) --alterado v1.6.1
for i = 1, #party do
if isInArray(list, party) then
if getPlayerLevel(pk) <= 1 then
playerAddExp(party, expTotal * 200)
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(party, expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(party, expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(party, expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(party, expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(party, expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(party, expTotal * 5)
end
end
end
elseif not isInParty(pk) then
if getPlayerLevel(pk) <= 1 then ERRO
playerAddExp(pk, math.floor(200 * givenexp))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(pk, math.floor(130 * givenexp))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(pk, math.floor(80 * givenexp))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(pk, math.floor(40 * givenexp))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(pk, math.floor(20 * givenexp))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(pk, math.floor(10 * givenexp))
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(pk, math.floor(5 * givenexp))
return true end
end
end
end
end
if isNpcSummon(cid) then
local master = getCreatureMaster(cid)
doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000))
doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1)
doRemoveCreature(cid)
return false
end
if corpse.itemid ~= 0 then --alterado v1.8
doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
end
return true
end -
local function playerAddExp(cid, exp) if isPlayer(cid) == TRUE then doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) else return true end end function onDeath(cid, corpse, deathList) if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp) local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party) then if getPlayerLevel(pk) <= 0 then playerAddExp(party, expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party, expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party, expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party, expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party, expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party, expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party, expTotal * 5) end end end elseif not isInParty(pk) then if getPlayerLevel(pk) <= 0 then playerAddExp(pk, math.floor(200 * givenexp)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * givenexp)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * givenexp)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * givenexp)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * givenexp)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * givenexp)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * givenexp)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) end return true end
local function playerAddExp(cid, exp)
if isPlayer(cid) == TRUE then
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
else
return true
end
end
function onDeath(cid, corpse, deathList)
if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
local givenexp = getWildPokemonExp(cid)
---local killer = getItemAttribute(corpse.uid, "corpseowner")
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
local expTotal = math.floor(givenexp)
local party = getPartyMembers(pk)
if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
expTotal = math.floor(expTotal/#party) --alterado v1.6.1
for i = 1, #party do
if isInArray(list, party) then
if getPlayerLevel(pk) <= 0 then
playerAddExp(party, expTotal * 200)
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(party, expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(party, expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(party, expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(party, expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(party, expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(party, expTotal * 5)
end
end
end
elseif not isInParty(pk) then
if getPlayerLevel(pk) <= 0 then
playerAddExp(pk, math.floor(200 * givenexp))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(pk, math.floor(130 * givenexp))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(pk, math.floor(80 * givenexp))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(pk, math.floor(40 * givenexp))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(pk, math.floor(20 * givenexp))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(pk, math.floor(10 * givenexp))
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(pk, math.floor(5 * givenexp))
return true end
end
end
end
end
if isNpcSummon(cid) then
local master = getCreatureMaster(cid)
doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000))
doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1)
doRemoveCreature(cid)
return false
end
if corpse.itemid ~= 0 then --alterado v1.8
doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
end
return true
end -
Estou com problemas no script pokeexp, segue abaixo print dos erros, estou mandando também o arquivo do erro....
-
Me ajuda nesse erro pro favor, meu servidor é open source e tudo, e a distro é praticamente 100% limpa, mas continua dando esse erro, o servidor fica de boa, porém os players não conseguem entrar, parece que bloqueia a conexão, já pedi suporte pro host, e falaram que não é ddos, não faço a minima ideia do que possa ser, se alguem poder ajudar. Rep+
-
-
Agora, Mudrock disse:
Caro @Hisoka Fail2, irei deixar o tópico aberto por 24horas antes de fechar e mover para resolvidos, peço que se possivel compartilhe com os membros através desse tópico como resolveu seu problema.
abraços
Éra mal configuração do site, pra ser mais exatado no config.php, que estava com ip errado...
-
Agora, Brunds disse:
mude
encryptionType = "plain"
para
encryptionType = "sha1"
Já resolvi a muito tempo, mas obrigado mesmo assim.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[Encerrado] Bug skill fish poketibia
em Tópicos Sem Resposta
Postado
Não tem