Ir para conteúdo
  • 0

Duvida Dosendanimatedtext Bug 9.6


Dersinho

Pergunta

cara to com um problema meu sercver 9.60 tinha um script asim que ficava brilhando letras coloridas e avisando que mostro tinah em caada portal mais nao ta funcionando e da um erro no console

 

erro > doSendAnimatedText is now a deprecated function.

 

 

local config = {

positions = {

["Trainers"] = { x = 1117, y = 1214, z = 7 },

["PvP Arena"] = { x = 1112, y = 1224, z = 7 },

["Hydra"] = { x = 1106, y = 1217, z = 7 },

["Bog Rider Etc"] = { x = 1107, y = 1196, z = 7 },

["Templo"] = { x = 1112, y = 1217, z = 7 },

["Enchanted >>>>>"] = { x = 1115, y = 1199, z = 7 },

["Zao"] = { x = 1116, y = 1204, z = 6 },

["Frost"] = { x = 1109, y = 1213, z = 7 },

["Teleports"] = { x = 1011, y = 1047, z = 7 },

["WOE,Breve"] = { x = 1014, y = 1047, z = 7 },

["Piratas Etc"] = { x = 1117, y = 1222, z = 7 },

["Quests"] = { x = 1117, y = 1218, z = 7 },

["Dragons"] = { x = 1105, y = 1200, z = 7 },

["Goroma"] = { x = 1108, y = 1225, z = 7 },

["Vip City"] = { x = 1013, y = 1034, z = 7 },

["Svar"] = { x = 1104, y = 1207, z = 7 },

["Yalahar"] = { x = 1113, y = 1194, z = 7 }

 

}

}

 

function onThink(cid, interval, lastExecution)

for text, pos in pairs(config.positions) do

doSendAnimatedText(pos, text, math.random(1, 255))

end

 

return TRUE

end

 

script usado quem poder me ajuda agradeço versao 9.61

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

tente assim

 

function onThink(cid, interval, lastExecution)
local config = {
   positions = {
    [".X"] = { x = 155, y = 52, z = 7 },
    ["A"] = { x = 723, y = 24, z = 7 },
    ["2"] = { x = 706, y = 24, z = 7 },
    ["19"] = { x = 224, y = 380, z = 7 },
    ["BY"] = { x = 224, y = 381, z = 7 },
}
}
   for text, pos in pairs(config.positions) do
    doSendAnimatedText(pos, text, math.random(1, 255))
   end

   return TRUE
end 

 

e oq eu uso no meu ot

Link para o comentário
Compartilhar em outros sites

  • 0

doSendAnimatedText is now a deprecated function. ta dando esse mesmo erro repetidamente o script funciona mais as parada escrita nao tipow as letra animada ta dando erro em varios escripts deu esse erro nao da pra coloka as parada ate o afk buga o0''

Link para o comentário
Compartilhar em outros sites

  • 0

cara noa consegui entender muito nao tem como vc esplica pra min como fais no meu ot os text animado foi subistituido por >>

 

doCreatureSay(cid, "Ausente!!", TALKTYPE_MONSTER) << comando afk se puder me ajudar a add essa lib agradeço ja tem meu rep parcero o0''

Link para o comentário
Compartilhar em outros sites

  • 0

Ai velho, nas novas versões, acho eu que depois das 8.6 eles retiraram essa função 'Dosendanimatedtext', por isso que está retornando esses erros.

 

Mas você pode usar essa função criada pelo Scarlet Ayleid da Otland

 

function doSendAnimatedText(pos, value, color, player)
   if(not tonumber(value))then
       return error("arg #2 in doSendAnimatedText is not a number")
   end

   if(isPlayer(player))then
       doPlayerSendTextMessage(player, MESSAGE_EXPERIENCE, "", pos, value, color)
   else
       for _, v in ipairs(getSpectators(pos, 7, 5, true)) do
           if(isPlayer(v))then
               doPlayerSendTextMessage(v, MESSAGE_EXPERIENCE, "", pos, value, color)
           end
       end
   end
end

Link para o comentário
Compartilhar em outros sites

  • 0

ta eu tenho uma duvida nao so ninja nem intendo muito sobre isso a minha duvida e o seguinte eu tenho que adicionar isso?

como funciona

 

tem como dar um exemplo usando esse script?

 

 

function onThink(cid, interval, lastExecution)

local config = {

positions = {

["Trainers"] = { x = 1117, y = 1214, z = 7 },

["PvP Arena"] = { x = 1112, y = 1224, z = 7 },

["Hydra"] = { x = 1106, y = 1217, z = 7 },

["Bog Rider Etc"] = { x = 1107, y = 1196, z = 7 },

["Templo"] = { x = 1112, y = 1217, z = 7 },

["Enchanted >>>>>"] = { x = 1115, y = 1199, z = 7 },

["Zao"] = { x = 1116, y = 1204, z = 6 },

["Frost"] = { x = 1109, y = 1213, z = 7 },

["Teleports"] = { x = 1011, y = 1047, z = 7 },

["WOE,Breve"] = { x = 1014, y = 1047, z = 7 },

["Piratas Etc"] = { x = 1117, y = 1222, z = 7 },

["Quests"] = { x = 1117, y = 1218, z = 7 },

["Dragons"] = { x = 1105, y = 1200, z = 7 },

["Goroma"] = { x = 1108, y = 1225, z = 7 },

["Vip City"] = { x = 1013, y = 1034, z = 7 },

["Svar"] = { x = 1104, y = 1207, z = 7 },

["Yalahar"] = { x = 1113, y = 1194, z = 7 }

 

}

}

for text, pos in pairs(config.positions) do

doSendAnimatedText(pos, text, math.random(1, 255))

end

 

return TRUE

end

 

agradeço desde ja!

Link para o comentário
Compartilhar em outros sites

  • 0

vo te explicar

 

va em /data/lib/050-function.lua

 

adicione

 

function doSendAnimatedText(pos, value, color, player)
   if(not tonumber(value))then
    return error("arg #2 in doSendAnimatedText is not a number")
   end

   if(isPlayer(player))then
    doPlayerSendTextMessage(player, MESSAGE_EXPERIENCE, "", pos, value, color)
   else
    for _, v in ipairs(getSpectators(pos, 7, 5, true)) do
	    if(isPlayer(v))then
		    doPlayerSendTextMessage(v, MESSAGE_EXPERIENCE, "", pos, value, color)
	    end
    end
   end
end

 

Créditos

Spawn do vapus

 

pronto assim agr o script vai funcionar

Link para o comentário
Compartilhar em outros sites

  • 0

bom eu noa sei eu tentei e asim ?

 

 

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

 

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 = {...}

return arg[math.random(1, table.maxn(arg))]

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 doSendAnimatedText(pos, value, color, player)

if(not tonumber(value))then

return error("arg #2 in doSendAnimatedText is not a number")

end

 

if(isPlayer(player))then

doPlayerSendTextMessage(player, MESSAGE_EXPERIENCE, "", pos, value, color)

else

for _, v in ipairs(getSpectators(pos, 7, 5, true)) do

if(isPlayer(v))then

doPlayerSendTextMessage(v, MESSAGE_EXPERIENCE, "", pos, value, color)

end

end

end

end

 

oq que eu adicionei ta aki ^ no finalzinho!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...