1º - Ali você checa a variavel "inimigo" que não foi declarada.
2º - Ali onde você ta usando getPlayerStorageValue(atacado, 2000) e todos os outros lugares que você tá usando "atacado" e "atacante" sem ser no primeiro if tem de ser trocados pra cid e target respectivamente, porque a função "isPlayer" é do tipo booleana, retorna true ou false só, e essas "getStorage", etc pedem uma integer, o id da criatura.
3º - Você tá botando 'getPlayerStorageValue(atacado, 2000) == true', mas essa getPlayerStorageValue retorna uma STRING xD Você pode salvar ela tipo:
setPlayerStorageValue(cid, 2000, 1) ou setPlayerStorageValue(cid, 2000, 'true') e depois só comparar: (getPlayerStorageValue(atacado, 2000) == 'true') por exemplo.







info
Grupo: Artesão
Registrado: 19/09/12
Posts: 114
Reputação: +19
Bom, boa noite primeiramente.
Estou voltando aos otservers porém agora com o intuito de aprender, principalmente programação porém as vezes preciso de uma ajuda ( mais pra tirar dúvidas pois não manjo muito). Então se tiver alguem que manje bastante, como garou por exemplo, ou seila outros membros. Me mandem o face...
Um exemplo de ajuda de script que preciso é esse, que estava fazendo mas não ta funcionando:
Na verdade este é meu "primeiro" script em anos. Sempre li tutoriais mais nunca tinha uma ideia, e agora surgiu e quis por em praticas mas estou enfrentando problemas.
function onAttack(cid, target) -- Ao Atacar. local skulls = {1, 2, 3, 4, 5} if isPlayer(cid) and isPlayer(target) then if and getPlayerStorageValue(cid, 3000) == 1 getPlayerStorageValue(target, 2000) == 1 then if getPlayerStorageValue(cid, 3000) == 1 and getCreatureSkullType(cid) == skulls then doCreatureSetSkullType(cid, 0) doPlayerAddExp(cid, 1) doRemoveCondition(cid, CONDITION_INFIGHT) end end end return true endOs scripts criados, postarei aqui para ajudar a comunidade.
Editado Março 28 por Seagull