Guest User

Untitled

a guest
Jun 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.14 KB | None | 0 0
  1. <?php
  2. define('RipeOR_Version', '1.0');
  3. define('RipeOR_Version_Full', 'RipeOR v' . RipeOR_Version);
  4. define('RipeOR_Version_Date', '27-12-2011');
  5.  
  6.  
  7.  
  8. // INIT ------------------------------------------------------------------------
  9. function RipeOR_init() {
  10. echo 'Loaded RipeOR v' . RipeOR_Version;
  11.  
  12. //set hooks
  13. $_SESSION['hooks']['after_planting'] = 'runRipeOR';
  14. }
  15.  
  16.  
  17. // Load settings ---------------------------------------------------------------
  18. function ROR_loadSettings() {
  19. @$cfg = load_array('config.txt');
  20. if (!@$cfg) {
  21. @$cfg = array(
  22. 'xww_icepalace' => ''
  23. );
  24. }
  25. return @$cfg;
  26. }
  27.  
  28. // Logging ---------------------------------------------------------------------
  29. function RORlog($msg) {
  30. AddLog2('RipeOR: ' . $msg);
  31. }
  32.  
  33. // RUN (after planting) --------------------------------------------------------
  34. function runRipeOR() {
  35. $_SESSION['tmpId'] = 63000;
  36. @$cfg = ROR_loadSettings();
  37. foreach($cfg as $key => $value) {
  38. if($value['run'] == 1) {
  39. DoInit();
  40. RORlog('Searching ' . Units_GetRealnameByName($key) . '...');
  41. $buildingObj = false;
  42. $obj = GetObjects('', $_SESSION['currentWorld']);
  43. foreach ($obj as $o) {
  44. if ($o['itemName'] == $key) {
  45. $buildingObj = $o;
  46. break;
  47. }
  48. }
  49. ///57 58 80 82 boo note lol
  50. if (!$buildingObj) {
  51. RORlog('unable to find ' . Units_GetRealnameByName($key) . ' is it on your farm?');
  52. return;
  53. }
  54. if($buildingObj){
  55. if ($buildingObj['state'] == 'ripe') {
  56. RORlog('harvesting ' . @Units_GetRealnameByName($key) . ' because it\'s already ripe...');
  57. harvestBuilding($buildingObj);
  58. }
  59. RORlog('Starting (' . @$value['amount'] . ' times)...');
  60.  
  61. for ($i = 0; $i < @$value['amount']; $i++) {
  62. RORlog('Harvesting '. @Units_GetRealnameByName($key));
  63. if (!harvestIt($buildingObj)) {
  64. RORlog('FAILED! please check your farm!');
  65. return;
  66. }
  67. }
  68.  
  69. RORlog('Done Harvesting '.@Units_GetRealnameByName($key));
  70. }
  71. }
  72.  
  73. }
  74. }
  75.  
  76. function harvestIt($buildingObj) {
  77.  
  78. $amf = CreateMultAMFRequest($amf, 0, 'place', 'WorldService.performAction');
  79. $ripeObj = array('itemName'=>'cherry','className'=>'Tree','position'=>array('x'=>0,'y'=>0,'z'=>0));
  80. $amf->_bodys[0]->_value[1][0]['params'][1] = $ripeObj;
  81. $amf->_bodys[0]->_value[1][0]['params'][1]['tempId'] = -1;
  82. $amf->_bodys[0]->_value[1][0]['params'][1]['direction'] = 0;
  83. $amf->_bodys[0]->_value[1][0]['params'][1]['plantTime'] = null;
  84. $amf->_bodys[0]->_value[1][0]['params'][1]['state'] = 'bare';
  85. $amf->_bodys[0]->_value[1][0]['params'][1]['id'] = $_SESSION['tmpId']++;
  86. $amf->_bodys[0]->_value[1][0]['params'][2] = array();
  87. $amf->_bodys[0]->_value[1][0]['params'][2][0]['isGift'] = false;
  88. $amf->_bodys[0]->_value[1][0]['params'][2][0]['energyCost'] = 0;
  89. $amf = CreateMultAMFRequest($amf, 0, 'store', 'WorldService.performAction');
  90. $buildingObj['itemName'] = 'horsestablewhite';
  91. $amf->_bodys[0]->_value[1][0]['params'][1] = $buildingObj;
  92. $amf->_bodys[0]->_value[1][0]['params'][1]['tempId'] = -1;
  93. $amf->_bodys[0]->_value[1][0]['params'][2] = array();
  94. $amf->_bodys[0]->_value[1][0]['params'][2][0]['isGift'] = false;
  95. $amf->_bodys[0]->_value[1][0]['params'][2][0]['resource'] = $_SESSION['tmpId'];
  96. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedClassName'] = 'Tree';
  97. $amf->_bodys[0]->_value[1][0]['params'][2][0]['cameFromLocation'] = 0;
  98. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedItemCode'] = 'CH';
  99. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedItemName'] = 'cherry';
  100. $amf = CreateMultAMFRequest($amf, 2, 'harvest', 'WorldService.performAction');
  101. $amf->_bodys[0]->_value[1][2]['params'][1] = $buildingObj;
  102. $amf->_bodys[0]->_value[1][2]['params'][2] = array();
  103. $amf->_bodys[0]->_value[1][2]['params'][2][0]['energyCost'] = 0;
  104. $resp = RequestAMF($amf, true);
  105. AddLog2(print_r($resp['amf2'], true));
  106. if ($resp['res'] != 'OK') {
  107. RORlog('unnable to store/plant/harvest ' . @Units_GetRealnameByName($key) . ' (' . $resp['res'] . ')');
  108. DoInit();
  109. return false;
  110. } else {
  111. return true;
  112. }
  113.  
  114. }
  115.  
  116. function storeRipeObj($buildingObj) {
  117. $buildingObj['itemName'] = 'horsestablewhite';
  118. $amf = CreateRequestAMF('store', 'WorldService.performAction');
  119. $amf->_bodys[0]->_value[1][0]['params'][1] = $buildingObj;
  120. $amf->_bodys[0]->_value[1][0]['params'][1]['tempId'] = -1;
  121. $amf->_bodys[0]->_value[1][0]['params'][2] = array();
  122. $amf->_bodys[0]->_value[1][0]['params'][2][0]['isGift'] = false;
  123. $amf->_bodys[0]->_value[1][0]['params'][2][0]['resource'] = $_SESSION['ripeId'];
  124. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedClassName'] = 'Tree';
  125. $amf->_bodys[0]->_value[1][0]['params'][2][0]['cameFromLocation'] = 0;
  126. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedItemCode'] = 'CH';
  127. $amf->_bodys[0]->_value[1][0]['params'][2][0]['storedItemName'] = 'cherry';
  128.  
  129. $resp = RequestAMF($amf);
  130.  
  131. if ($resp != 'OK') {
  132. RORlog('unnable to store ' . @Units_GetRealnameByName($key) . ' (' . $resp . ')');
  133. DoInit();
  134. return false;
  135. } else {
  136. return true;
  137. }
  138. }
  139. // 'plantTime'=>$plantTime, removed from $ripeObj array
  140. function placeBuilding() {
  141. // $plantTime = time() - 82799 - 1;
  142. $ripeObj = array('itemName'=>'cherry','className'=>'Tree','position'=>array('x'=>0,'y'=>0,'z'=>0));
  143. $amf = CreateRequestAMF('place', 'WorldService.performAction');
  144. $amf->_bodys[0]->_value[1][0]['params'][1] = $ripeObj;
  145. $amf->_bodys[0]->_value[1][0]['params'][1]['tempId'] = -1;
  146. $amf->_bodys[0]->_value[1][0]['params'][1]['direction'] = 0;
  147. $amf->_bodys[0]->_value[1][0]['params'][1]['state'] = 'bare';
  148. $amf->_bodys[0]->_value[1][0]['params'][1]['id'] = $_SESSION['tmpId']++;
  149. $amf->_bodys[0]->_value[1][0]['params'][2] = array();
  150. $amf->_bodys[0]->_value[1][0]['params'][2][0]['isGift'] = false;
  151. $amf->_bodys[0]->_value[1][0]['params'][2][0]['energyCost'] = 0;
  152.  
  153. $res = RequestAMF($amf,true);
  154. $resp = $res['res'];
  155. $amf2 = $res['amf2'];
  156.  
  157. if ($resp != 'OK') {
  158. RORlog('Unable To Place ' . @Units_GetRealnameByName($key) . ' (' . $resp . ')');
  159. DoInit();
  160. return false;
  161. } else {
  162. $_SESSION['ripeId'] = $amf2->_bodys[0]->_value['data'][0]['data']['id'];
  163. return true;
  164. }
  165. }
  166.  
  167. function harvestBuilding($buildingObj, $silent = false) {
  168. $amf = CreateRequestAMF('harvest', 'WorldService.performAction');
  169. $amf->_bodys[0]->_value[1][0]['params'][1] = $buildingObj;
  170. $amf->_bodys[0]->_value[1][0]['params'][2] = array();
  171. $amf->_bodys[0]->_value[1][0]['params'][2][0]['energyCost'] = 0;
  172.  
  173. $resp = RequestAMF($amf);
  174.  
  175. if ($resp != 'OK') {
  176. if (!$silent) {
  177. RORlog('Unable To Harvest ' . Units_GetRealnameByName($key) . '(' . $resp . ')');
  178. }
  179. DoInit();
  180. return false;
  181. } else {
  182. return true;
  183. }
  184. }
  185.  
  186. ?>
Add Comment
Please, Sign In to add comment