//Função add por luanluciano93uint32_tCreatureEvent::executeMoveItem(Player* player,Item* item,uint8_t count,constPosition& fromPos,constPosition& toPos,Item* toContainer,Item* fromContainer,int16_t fstack){//onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos)if(m_interface->reserveEnv()){ScriptEnviroment* env = m_interface->getEnv();if(m_scripted == EVENT_SCRIPT_BUFFER){
env->setRealPos(player->getPosition());
std::stringstream scriptstream;
scriptstream <<"local cid = "<< env->addThing(player)<< std::endl;
env->streamThing(scriptstream,"item", item, env->addThing(item));
scriptstream <<"local count = "<< count << std::endl;
env->streamThing(scriptstream,"toContainer", toContainer, env->addThing(toContainer));
env->streamThing(scriptstream,"fromContainer", fromContainer, env->addThing(fromContainer));
env->streamPosition(scriptstream,"fromPos", fromPos, fstack);
env->streamPosition(scriptstream,"toPos", toPos,0);
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__
char desc[30];
sprintf(desc,"%s", player->getName().c_str());
env->setEvent(desc);#endif
env->setScriptId(m_scriptId, m_interface);
env->setRealPos(player->getPosition());
lua_State* L = m_interface->getState();
m_interface->pushFunction(m_scriptId);
lua_pushnumber(L, env->addThing(player));
LuaInterface::pushThing(L, item, env->addThing(item));
lua_pushnumber(L, count);LuaInterface::pushThing(L, toContainer, env->addThing(toContainer));LuaInterface::pushThing(L, fromContainer, env->addThing(fromContainer));LuaInterface::pushPosition(L, fromPos, fstack);LuaInterface::pushPosition(L, toPos,0);
bool result = m_interface->callFunction(7);
m_interface->releaseEnv();return result;}}else{
std::clog <<"[Error - CreatureEvent::executeMoveItem] Call stack overflow."<< std::endl;return0;}}