Cara você não pode dar espaços em variáveis. Variáveis são uma só palavra.
essas variáveis que você criou:
demon sumor best summon
as duas não funcionarão corretamente...
O que nós usamos para dar espaço nas variáveis é _ (underline) , logo sua variável ficaria assim:
demon_sumor best_summon
Também usamos o esquema de letras maiúsculas, como você vê nas funções Lua:
demonSumor bestSummon
Toma a spell, veja se tem mais algum erro (dei uma olhada só superficial)
function onCastSpell(cid, var)
local removeTime = 60
local summons = getCreatureSummons(cid)
local MaximoSummon = 4
if (#summons == MaximoSummon) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Já tem 4 Summons.")
end
if( #summons < MaximoSummon) then
local anyPos, pos = {x = 0, y = 0, z = 0}, getCreaturePosition(cid)
local toPos = {
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y - 1, z = pos.z}
}
if getPlayerVocation(cid) == 6 then
local demon_summor = doSummonCreature("Summon Master", pos)
doConvinceCreature(cid, demon_summor)
setCreatureMaxHealth(demon_summor, getCreatureMaxHealth(cid))
doCreatureAddHealth(demon_summor, getCreatureMaxHealth(cid))
setCreatureMaxMana(demon_summor, getCreatureMaxMana(cid))
doCreatureAddMana(demon_summor, getCreatureMaxMana(cid))
doChangeSpeed(demon_summor, getCreatureBaseSpeed(cid))
doSetCreatureOutfit(demon_summor, getCreatureOutfit(cid), -1)
end
if getPlayerVocation(cid) == 7 then
local best_summon = doSummonCreature("best summon", pos)
doConvinceCreature(cid, best_summon)
setCreatureMaxHealth(best_summon, getCreatureMaxHealth(cid))
doCreatureAddHealth(best_summon, getCreatureMaxHealth(cid))
setCreatureMaxMana(best_summon, getCreatureMaxMana(cid))
doCreatureAddMana(best_summon, getCreatureMaxMana(cid))
doChangeSpeed(best_summon, getCreatureBaseSpeed(cid))
doSetCreatureOutfit(best_summon, getCreatureOutfit(cid), -1)
end
end
return true
end
Também editei a função table.maxn(), para pegar o número de indexes da sua tabela, basta colocar # na frente do nome dela, assim:
#tabela
Também vi que sua magia ainda não tá pronta. Quando estiver, que tal postar aqui? Com certeza terá meu REP +
Aaaaah, mais uma coisinha, seria legal você criar uma função para isso, pois você tá repetindo um número muito grande de linhas...
vou mostrar como:
function createSummon(cid, summon, pos)
local summonCid = doSummonCreature(summon, pos)
doConvinceCreature(cid, summonCid)
setCreatureMaxHealth(summonCid, getCreatureMaxHealth(cid))
doCreatureAddHealth(summonCid, getCreatureMaxHealth(cid))
setCreatureMaxMana(summonCid, getCreatureMaxMana(cid))
doCreatureAddMana(summonCid, getCreatureMaxMana(cid))
doChangeSpeed(summonCid, getCreatureBaseSpeed(cid))
doSetCreatureOutfit(summonCid, getCreatureOutfit(cid), -1)
return true
end
function onCastSpell(cid, var)
local removeTime = 60
local summons = getCreatureSummons(cid)
local MaximoSummon = 4
if (#summons == MaximoSummon) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Já tem 4 Summons.")
end
if(#summons < MaximoSummon) then
local anyPos, pos = {x = 0, y = 0, z = 0}, getCreaturePosition(cid)
local toPos = {
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y - 1, z = pos.z}
}
if getPlayerVocation(cid) == 6 then
createSummon(cid, "Summon Master", pos)
end
if getPlayerVocation(cid) == 7 then
createSummon(cid, "Best Summon", pos)
end
end
return true
end
Se der erro posta aqui...





info
Grupo: Campones
Registrado: 23/06/11
Posts: 16
Reputação: +11
Gênero: Masculino
Olá, eu estava fazendo um script de summon que sumona 4 summons que tem o mesmo de mana, life, outift, speed que seu player. e para cada vocação tem uma summon diferente nas minhas vocações vips. só q o script só funcionou na primeira vocação que eu adicionei. Eu ja criei os monsters, não da nenhum erro no distro quando usa a spell, ele só não sumona. plx help-me. :\
function onCastSpell(cid, var) local removeTime = 60 local summons = getCreatureSummons(cid) local MaximoSummon = 4 if (table.maxn(summons) == MaximoSummon) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Já tem 4 Summons.") end if(table.maxn(summons) < MaximoSummon) then local anyPos, pos = {x = 0, y = 0, z = 0}, getCreaturePosition(cid) local toPos = { {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x, y = pos.y - 1, z = pos.z} } if getPlayerVocation(cid) == 6 then local demon summor = doSummonCreature("Summon Master", pos) doConvinceCreature(cid, demon summor) setCreatureMaxHealth(demon summor, getCreatureMaxHealth(cid)) doCreatureAddHealth(demon summor, getCreatureMaxHealth(cid)) setCreatureMaxMana(demon summor, getCreatureMaxMana(cid)) doCreatureAddMana(demon summor, getCreatureMaxMana(cid)) doChangeSpeed(demon summor, getCreatureBaseSpeed(cid)) doSetCreatureOutfit(demon summor, getCreatureOutfit(cid), -1) end if getPlayerVocation(cid) == 7 then local best summon = doSummonCreature("best summon", pos) doConvinceCreature(cid, best summon) setCreatureMaxHealth(best summon, getCreatureMaxHealth(cid)) doCreatureAddHealth(best summon, getCreatureMaxHealth(cid)) setCreatureMaxMana(best summon, getCreatureMaxMana(cid)) doCreatureAddMana(best summon, getCreatureMaxMana(cid)) doChangeSpeed(best summon, getCreatureBaseSpeed(cid)) doSetCreatureOutfit(best summon, getCreatureOutfit(cid), -1) end end return true end