Opa eu consigui, ti, essa parte eu resolvi com string.len() ai nao da mais erro quando do string.match().
4 horas atrás, Yan18 disse:
Mas, o que exatamente você quer fazer com essa string do sword no string.match? Me explica sua ideia e tento te ajudar.
Estou com um problema ve se voce consegue me ajudar, tenho essa script aqui que muda de voc conforme a arma nao mao so que se o player morrer com ela
ele volta para lv 1 e perde a voc os items tbm e bug mana e vida. queria que isso nao acontecesse.
local effect = 30 -- Efeito que vai usar
local delay = 5000 -- em ms
if not setItemName then
function setItemName(uid,name)
return doItemSetAttribute(uid,'name',name)
end
end
function onLogin(cid)
SendEffect(cid)
return true
end
function SendEffect(cid)
if not isCreature(cid) then return end
if (isItemEquipped(cid, CONST_SLOT_LEFT, 10223) == TRUE) then
local name = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid, "name")
name = tostring(name)
local verify = string.len(name)
if verify == 3 or verify == 34 or verify == 26 then
doPlayerSendCancel(cid, "sua arma e lv 0")
else
local lvl = string.match(name,'%s%+(%d+)%s*')
local lvnumero = tonumber(lvl) + 5
doSendAnimatedText(getPlayerPosition(cid), "ARMA+".. tonumber(lvl) .."
" , TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), effect)
doPlayerSetVocation(cid, lvnumero)
doCreatureSetDropLoot(cid, false)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
end
end
if (isItemEquipped(cid, CONST_SLOT_LEFT, 10223) == FALSE) then
doPlayerSendCancel(cid, "o item não 10223 está em suas mãos.")
doPlayerSetVocation(cid, 2)
registerCreatureEvent(cid, "BlessedPlayer")
end
addEvent(SendEffect, delay, cid)
end