beeki

Untitled

May 30th, 2012
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1.     //onThankYou(cid, statementId)
  2.     if(m_interface->reserveEnv())
  3.     {
  4.         ScriptEnviroment* env = m_interface->getEnv();
  5.         if(m_scripted == EVENT_SCRIPT_BUFFER)
  6.         {
  7.             env->setRealPos(player->getPosition());
  8.             std::stringstream scriptstream;
  9.  
  10.             scriptstream << "local cid = " << env->addThing(player) << std::endl;
  11.             scriptstream << "local statementId = " << statementId << std::endl;
  12.  
  13.             if(m_scriptData)
  14.                 scriptstream << *m_scriptData;
  15.  
  16.             bool result = true;
  17.             if(m_interface->loadBuffer(scriptstream.str()))
  18.             {
  19.                 lua_State* L = m_interface->getState();
  20.                 result = m_interface->getGlobalBool(L, "_result", true);
  21.             }
  22.  
  23.             m_interface->releaseEnv();
  24.             return result;
  25.         }
  26.         else
  27.         {
  28.             #ifdef __DEBUG_LUASCRIPTS__
  29.             char desc[35];
  30.             sprintf(desc, "%s", player->getName().c_str());
  31.             env->setEvent(desc);
  32.             #endif
  33.  
  34.             env->setScriptId(m_scriptId, m_interface);
  35.             env->setRealPos(player->getPosition());
  36.  
  37.             lua_State* L = m_interface->getState();
  38.             m_interface->pushFunction(m_scriptId);
  39.  
  40.             lua_pushnumber(L, env->addThing(player));
  41.             lua_pushnumber(L, statementId);
  42.  
  43.             bool result = m_interface->callFunction(2);
  44.             m_interface->releaseEnv();
  45.             return result;
  46.         }
  47.     }
  48.     else
  49.     {
  50.         std::clog << "[Error - CreatureEvent::executeThankYou] Call stack overflow." << std::endl;
  51.         return 0;
  52.     }
  53. }
  54.  
  55. uint32_t CreatureEvent::executePush(Player* player, Creature* target, Tile* tile)
  56. {
Advertisement
Add Comment
Please, Sign In to add comment