BlueX

Witem

Feb 2nd, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. //Witem.cpp
  2. //line 42 \/
  3.  
  4. CItem::CItem() {
  5.         currentid = new int;
  6.         *currentid = 0;
  7.     }
  8.  
  9. //line 46 \/
  10.  
  11. CItem::~CItem() {
  12.         for(unsigned int i = 0; i < data.size(); i++) {
  13.             iteminfo* a = (iteminfo*) this->data[i];
  14.             delete a;
  15.         }
  16.         delete currentid;
  17.     }
  18.  
  19. //line 53 \/
  20.  
  21. int CItem::insert_data(iteminfo _data) {
  22.         iteminfo* temp = new iteminfo;
  23.         *temp = _data;
  24.         *currentid += 1;
  25.         temp->uniqueid = *currentid;
  26.         this->data.push_back(temp);
  27.         return temp->uniqueid;
  28.     }
  29.  
  30. //line 61 \/
  31.  
  32. void CItem::destroy(int id, AMX *amx) {
  33.         for(unsigned int i = 0; i < data.size(); i++) {
  34.             iteminfo* a = (iteminfo*) this->data[i];
  35.             if(a->uniqueid == id) {
  36.                 int idx;
  37.                 if(!amx_FindPublic(amx, "OnWItemDestroy", &idx))
  38.                 {
  39.                     cell
  40.                         ret;
  41.                     amx_Push(amx, (cell)a->areaid);
  42.                     amx_Push(amx, (cell)a->objectid);
  43.                     amx_Exec(amx, &ret, idx);
  44.  
  45.                 }
  46.                 delete a;
  47.                 this->data.erase(this->data.begin() + i);
  48.             }
  49.         }
  50.     }
  51.  
  52. //line 80 \/
  53.  
  54. void CItem::clearall(AMX *amx) {
  55.         for(unsigned int i = 0; i < data.size(); i++) {
  56.             iteminfo* a = (iteminfo*) this->data[i];
  57.             int idx;
  58.             if(!amx_FindPublic(amx, "OnWItemDestroy", &idx))
  59.             {
  60.                 cell
  61.                     ret;
  62.                 amx_Push(amx, (cell)a->areaid);
  63.                 amx_Push(amx, (cell)a->objectid);
  64.                 amx_Exec(amx, &ret, idx);
  65.  
  66.             }
  67.             delete a;
  68.             this->data.erase(this->data.begin() + i);
  69.         }
  70.     }
  71.  
  72. //line 97 \/
  73.  
  74. void CItem::check() {
  75.         for(unsigned int i = 0; i < data.size(); i++) {
  76.             iteminfo* a = (iteminfo*) this->data[i];
  77.             if(a->nextcall >= (int) time(NULL)) {
  78.                 a->nextcall = 0;
  79.                 for(std::list <AMX *>::iterator i = g_pAmx.begin(); i != g_pAmx.end(); ++i) {
  80.                     int idx;
  81.                     if(!amx_FindPublic(*i, "OnWItemNotice", &idx))
  82.                     {
  83.                         cell
  84.                             ret;
  85.                         amx_Push(*i, (cell)a->uniqueid);
  86.                         amx_Exec(*i, &ret, idx);
  87.                     }
  88.                 }
  89.             }
  90.         }
  91.     }
  92.  
  93. //main.cpp
  94.  
  95. //line 30 \/
  96.  
  97. len = NULL,
  98.  
  99. //line 31 \/
  100.  
  101. ret = NULL;
  102.  
  103. /*
  104. errors: https://imo.im/fd/B/RUyWj3DU7d/20130202162822.JPG
  105. */
Advertisement
Add Comment
Please, Sign In to add comment