ret = g_spells->getInstantSpellByName(spell)->castSpell(Creature, spell);
Pelo que vi o Creature deveria ser creature.
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

ret = g_spells->getInstantSpellByName(spell)->castSpell(Creature, spell);
Pelo que vi o Creature deveria ser creature.
info
Grupo: Campones
Registrado: 15/12/07
Posts: 69
Reputação: +11

Esta aparecendo esse erro:
cannot convert `bool' to `ReturnValue' in assignment
O erro ocorre na linha 2852, que é esta linha:
ret = g_spells->getInstantSpellByName(spell)->castSpell(creature);
Esta é a parte que a linha esta:
ReturnValue ret = RET_NOERROR;
ret = g_spells->getInstantSpellByName(spell)->castSpell(creature);
if(ret == RET_NOERROR || (ret == RET_NEEDEXCHANGE && !g_config.getBool(ConfigManager::BUFFER_SPELL_FAILURE)))
return true;
Editado Dezembro 10 por yahooABC
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Vc ta tentando converter os valores.
Acho que g_spells->getInstantSpellByName(spell)->castSpell(creature); é um valor bool.
Se for isso mesmo tenta assim:
if(g_spells->getInstantSpellByName(spell)->castSpell(creature))
{
lua_pushboolean(L, true);
return 1;
}
lua_pushboolean(L, false);
return 1;
}
Editado Dezembro 10 por kydrai
info
Grupo: Campones
Registrado: 15/12/07
Posts: 69
Reputação: +11

Eu pensei ter conseguido, fiz assim agora:
int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L)
{
//doCreatureCastSpell(uid, spell)
std::string spell = popString(L);
ScriptEnviroment* env = getEnv();
Creature* creature = env->getCreatureByUID(popNumber(L));
if(!creature)
{
errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushboolean(L, false);
return 1;
}
if(g_spells->getInstantSpellByName(spell)->castSpell(creature))
{
lua_pushboolean(L, true);
return 1;
}
lua_pushboolean(L, false);
return 1;
}
Mais ai quando uso a função da Crash no servidor e ele é fechado.
Editado Dezembro 10 por yahooABC
info
Grupo: Campones
Registrado: 15/12/07
Posts: 69
Reputação: +11
Ola galera, eu fiz uma função na minha source chamada "doCreatureCastSpell(uid, spell)" so que ta dando um erro:
E esta dando erro nesse parte:
Esse é o Codigo da função:
int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) { //doCreatureCastSpell(uid, spell) std::string spell = popString(L); ScriptEnviroment* env = getEnv(); Creature* creature = env->getCreatureByUID(popNumber(L)); if(!creature) { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); return 1; } ReturnValue ret = RET_NOERROR; ret = g_spells->getInstantSpellByName(spell)->castSpell(Creature, spell); if(ret == RET_NOERROR || (ret == RET_NEEDEXCHANGE && !g_config.getBool(ConfigManager::BUFFER_SPELL_FAILURE))) return true; lua_pushboolean(L, true); return 1; }Alguem ai poderia me dizer como arrumar esse erro?
Aguardando resposta
Editado Dezembro 9 por yahooABC