Witam mam problem z taskami nie wiem co robic juz nie mam pomyslow podmienialem liby wiec to nie wina lib'ów... widocznie silnika mam taki problem
event::loadscript cid, target, damage, flags, war not found
taki sam problem mam jezeli chodzi o inq ;p ;/
nie mam juz pojecia co moze byc nie tak i jak to zrobic
w source mam
a w innym silniku mam
event::loadscript cid, target, damage, flags, war not found
Code:
function onKill(cid, target, lastHit)
Code:
<event type="kill" name="KillingInTheNameOf" event="script" value="killinginthenameof.lua"/>
Code:
registerCreatureEvent(cid, "KillingInTheNameOf")
taki sam problem mam jezeli chodzi o inq ;p ;/
nie mam juz pojecia co moze byc nie tak i jak to zrobic
w source mam
Code:
uint32_t CreatureEvent::executeKill(Creature* creature, Creature* target, const DeathEntry& entry)
{
//onKill(cid, target, damage, flags)
if(m_interface->reserveEnv())
{
uint32_t flags = 0;
if(entry.isLast())
flags |= 1;
if(entry.isJustify())
flags |= 2;
if(entry.isUnjustified())
flags |= 4;
ScriptEnviroment* env = m_interface->getEnv();
if(m_scripted == EVENT_SCRIPT_BUFFER)
{
env->setRealPos(creature->getPosition());
std::stringstream scriptstream;
scriptstream << "local cid = " << env->addThing(creature) << std::endl;
scriptstream << "local target = " << env->addThing(target) << std::endl;
scriptstream << "local damage = " << entry.getDamage() << std::endl;
scriptstream << "local flags = " << flags << std::endl;
#ifdef __WAR_SYSTEM__
scriptstream << "local war = " << entry.getWar().war << std::endl;
#endif
scriptstream << m_scriptData;
bool result = true;
if(m_interface->loadBuffer(scriptstream.str()))
{
lua_State* L = m_interface->getState();
result = m_interface->getGlobalBool(L, "_result", true);
}
m_interface->releaseEnv();
return result;
}
else
{
#ifdef __DEBUG_LUASCRIPTS__
std::stringstream desc;
desc << creature->getName();
env->setEventDesc(desc.str());
#endif
env->setScriptId(m_scriptId, m_interface);
env->setRealPos(creature->getPosition());
lua_State* L = m_interface->getState();
m_interface->pushFunction(m_scriptId);
lua_pushnumber(L, env->addThing(creature));
lua_pushnumber(L, env->addThing(target));
lua_pushnumber(L, entry.getDamage());
lua_pushnumber(L, flags);
#ifndef __WAR_SYSTEM__
bool result = m_interface->callFunction(4);
#else
lua_pushnumber(L, entry.getWar().war);
bool result = m_interface->callFunction(5);
#endif
m_interface->releaseEnv();
return result;
}
}
else
{
std::cout << "[Error - CreatureEvent::executeKill] Call stack overflow." << std::endl;
return 0;
}
}
uint32_t CreatureEvent::executeDeath(Creature* creature, Item* corpse, DeathList deathList)
{
Code:
uint32_t CreatureEvent::executeKill(Creature* creature, Creature* target, bool lastHit)
{
//onKill(cid, target, lastHit)
if(m_interface->reserveEnv())
{
ScriptEnviroment* env = m_interface->getEnv();
if(m_scripted == EVENT_SCRIPT_BUFFER)
{
env->setRealPos(creature->getPosition());
std::stringstream scriptstream;
scriptstream << "local cid = " << env->addThing(creature) << std::endl;
scriptstream << "local target = " << env->addThing(target) << std::endl;
scriptstream << "local lastHit = " << (lastHit ? "true" : "false") << std::endl;
scriptstream << m_scriptData;
bool result = true;
if(m_interface->loadBuffer(scriptstream.str()))
{
lua_State* L = m_interface->getState();
result = m_interface->getGlobalBool(L, "_result", true);
}
m_interface->releaseEnv();
return result;
}
else
{
#ifdef __DEBUG_LUASCRIPTS__
std::stringstream desc;
desc << creature->getName();
env->setEventDesc(desc.str());
#endif
env->setScriptId(m_scriptId, m_interface);
env->setRealPos(creature->getPosition());
lua_State* L = m_interface->getState();
m_interface->pushFunction(m_scriptId);
lua_pushnumber(L, env->addThing(creature));
lua_pushnumber(L, env->addThing(target));
lua_pushboolean(L, lastHit);
bool result = m_interface->callFunction(3);
m_interface->releaseEnv();
return result;
}
}
else
{
std::cout << "[Error - CreatureEvent::executeKill] Call stack overflow." << std::endl;
return 0;
}
}
uint32_t CreatureEvent::executeDeath(Creature* creature, Item* corpse, DeathList deathList)
{
Last edited: