Postado Abril 9, 2015 10 anos Autor foi bem até, deu pra ter uma noção de onde pode estar dando o erro mas agr usa essa versão aqui: mata um primeiro mostro e mostra o print do console fazendo o favor function isThatWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 or f == 5 or f == 6 then print(f) return true end return false end function getWeapon(uid) -- Function by Night Wolf teste = getPlayerSlotItem(uid, CONST_SLOT_RIGHT) if teste.itemid > 0 then print(teste.itemid) if not isThatWeapon(teste.uid) then print("Not weapon") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end else print("Mão esquerda") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end if teste.itemid > 0 then print(teste.itemid) if not isThatWeapon(teste.uid) then print("Not Weapon") teste = false end else print("Can't found weapon") teste = false end return teste end function getItemLevel(uid, maxlevel) -- Function By Night Wolf level = 0 local name = getItemName(uid) print(name) for i = 1, maxlevel do if string.find(tostring(name),"+".. i .."") then level = i end print(i) end return level end Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Abril 9, 2015 10 anos Aqui vai primeiro log,esse aqui eu tirei porque eu nao matei o bixo,apenas dei 1 hit nele ja causou esses erros: Aqui segundo log de quando eu mato um monstro com apenas 1 hit: E aqui é sobre o shield estar recebendo experiencia no lugar das armas se ele estiver na mão direita, e a arma na esquerda: Caso ele esteja na esquerda e a arma na direita segue funcionamento normal.
Postado Abril 10, 2015 10 anos Autor ele funciona normalmente (inclusive upando?) caso esteja a arma na direita? Troca seu creaturescript por esse: function onKill(cid, target, lastHit) local upgrade = { [1] = {required = 1000}, [2] = {required = 10000}, [3] = {required = 100000}, [4] = {required = 1000000}, [5] = {required = 10000000} } local teste = getWeapon(cid) if teste == false then return true end if getCreatureMaster(target) ~= target then return true end local pos = getThingPos(cid) local level = getItemLevel(teste.uid, #upgrade) print("O level e : "..level) if level >= #upgrade then doItemSetAttribute(teste.uid, "description", "Experience: ["..upgrade[level].required.."/"..upgrade[level].required.."]") return true end local count = math.floor((getMonsterInfo(string.lower(getCreatureName(target))).experience)) print("O valor de count eh: ".. count) local expatual = getItemAttribute(teste.uid, "exp") or 0 print("O valor de expatual eh: ".. expatual) local newexp = expatual+count if newexp >= upgrade[level + 1].required then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You leveled your "..getItemNameById(teste.itemid).." to ".. level+1 ..".") doItemSetAttribute(teste.uid,'name', getItemNameById(teste.itemid)..' +'..(level+1)) doSendMagicEffect(pos, math.random(28,30)) doItemSetAttribute(teste.uid, "exp", 0) if level + 2 <= #upgrade then doItemSetAttribute(teste.uid, "description", "Experience: [".. 0 .."/"..upgrade[level + 2].required.."]") end else doItemSetAttribute(teste.uid, "exp", expatual+count) doItemSetAttribute(teste.uid, "description", "Experience: ["..(expatual+count).."/"..upgrade[level + 1].required.."]") doPlayerSendTextMessage(cid, 27, "Congratulations, you get the experience of a ".. getCreatureName(target) .."!") end return true end e seu lib por esse: function isThatWeapon(uid) -- Function by Mock the bear. uid = uid or 0 print("Entrando na isThatWeapon: ".. f) local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 or f == 5 or f == 6 then return true end return false end function getWeapon(uid) -- Function by Night Wolf teste = getPlayerSlotItem(uid, CONST_SLOT_RIGHT) print("Entrando na getWeapon: ".. teste.itemid) if teste.itemid > 0 then if not isThatWeapon(teste.uid) then print("Not weapon in the right") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end else teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end print("Entrando na getWeapon[2]: ".. teste.itemid) if teste.itemid > 0 then if not isThatWeapon(teste.uid) then print("Not Weapon") teste = false end else print("Can't found weapon") teste = false end return teste end function getItemLevel(uid, maxlevel) -- Function By Night Wolf level = 0 local name = getItemName(uid) print(name) for i = 1, maxlevel do if string.find(tostring(name),"+".. i .."") then level = i end print(level) end return level end ps: peço desculpa por estar demorando tanto pra te ajudar uhauha mas preciso que vc tenha paciência, to bem perto de entender oque tá dando de errado e acho q é alguma incompatibilidade com a source mas que vai ser possível resolver! Editado Abril 10, 2015 10 anos por xWhiteWolf (veja o histórico de edições) Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Abril 10, 2015 10 anos ele funciona normalmente (inclusive upando?) caso esteja a arma na direita? Troca seu creaturescript por esse: function onKill(cid, target, lastHit) local upgrade = { [1] = {required = 1000}, [2] = {required = 10000}, [3] = {required = 100000}, [4] = {required = 1000000}, [5] = {required = 10000000} } local teste = getWeapon(cid) if teste == false then return true end if getCreatureMaster(target) ~= target then return true end local pos = getThingPos(cid) local level = getItemLevel(teste.uid, #upgrade) print("O level e : "..level) if level >= #upgrade then doItemSetAttribute(teste.uid, "description", "Experience: ["..upgrade[level].required.."/"..upgrade[level].required.."]") return true end local count = math.floor((getMonsterInfo(string.lower(getCreatureName(target))).experience)) print("O valor de count eh: ".. count) local expatual = getItemAttribute(teste.uid, "exp") or 0 print("O valor de expatual eh: ".. expatual) local newexp = expatual+count if newexp >= upgrade[level + 1].required then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You leveled your "..getItemNameById(teste.itemid).." to ".. level+1 ..".") doItemSetAttribute(teste.uid,'name', getItemNameById(teste.itemid)..' +'..(level+1)) doSendMagicEffect(pos, math.random(28,30)) doItemSetAttribute(teste.uid, "exp", 0) if level + 2 <= #upgrade then doItemSetAttribute(teste.uid, "description", "Experience: [".. 0 .."/"..upgrade[level + 2].required.."]") end else doItemSetAttribute(teste.uid, "exp", expatual+count) doItemSetAttribute(teste.uid, "description", "Experience: ["..(expatual+count).."/"..upgrade[level + 1].required.."]") doPlayerSendTextMessage(cid, 27, "Congratulations, you get the experience of a ".. getCreatureName(target) .."!") end return true end e seu lib por esse: function isThatWeapon(uid) -- Function by Mock the bear. uid = uid or 0 print("Entrando na isThatWeapon: ".. f) local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 or f == 5 or f == 6 then return true end return false end function getWeapon(uid) -- Function by Night Wolf teste = getPlayerSlotItem(uid, CONST_SLOT_RIGHT) print("Entrando na getWeapon: ".. teste.itemid) if teste.itemid > 0 then if not isThatWeapon(teste.uid) then print("Not weapon in the right") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end else teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end print("Entrando na getWeapon[2]: ".. teste.itemid) if teste.itemid > 0 then if not isThatWeapon(teste.uid) then print("Not Weapon") teste = false end else print("Can't found weapon") teste = false end return teste end function getItemLevel(uid, maxlevel) -- Function By Night Wolf level = 0 local name = getItemName(uid) print(name) for i = 1, maxlevel do if string.find(tostring(name),"+".. i .."") then level = i end print(level) end return level end ps: peço desculpa por estar demorando tanto pra te ajudar uhauha mas preciso que vc tenha paciência, to bem perto de entender oque tá dando de errado e acho q é alguma incompatibilidade com a source mas que vai ser possível resolver! O escudo com a arma na mão direita não upa,nesse caso apenas a arma recebe exp. Agora nao foi possivel atacar quando eu clico para atacar ele apenas marca o alvo mas nao causa nenhum HIT. Novo log: Relaxa,somo todos aprendizes eterno na vida,se der certo deu,se não der obrigado do mesmo jeito,tentamos,kkk Editado Abril 10, 2015 10 anos por Coul (veja o histórico de edições)
Postado Abril 10, 2015 10 anos Autor puts cometi um equívoco na lib, linha 3 e 4:print("Entrando na isThatWeapon: ".. f)local f = getItemWeaponType(uid) deixa assim:local f = getItemWeaponType(uid)print("Entrando na isThatWeapon: ".. f) Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.