Advertisement
Pampour

Pointshop Updater

Apr 18th, 2014
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.90 KB | None | 0 0
  1. #! /usr/bin/php5
  2.  
  3. <?php
  4. $json = 'https://googledrive.com/host/0B0DwxNTtCaC3bzBvampsOF9tVk0/items.json';
  5. $items = json_decode(file_get_contents($json), true);
  6.  
  7. if($items == NULL) die("Webhost is down. Try again later!\n");
  8.  
  9. $dirs = array(
  10.     '/home/server/gmod_server_ph/garrysmod',
  11.     '/home/server/gmod_server_ph2/garrysmod',
  12.     '/home/server/gmod_server_ph3/garrysmod',
  13.     '/home/server/gmod_server_ttt/garrysmod',
  14.     '/home/server/gmod_server_murder/garrysmod'
  15. );
  16.  
  17. // PLAYERMODELS
  18.  
  19. echo 'Player Models: Cleaning directory LUA files' . "\n";
  20. system("sleep 2");
  21.  
  22. foreach($dirs as $dir) {
  23.     system("rm " . $dir . '/addons/pointshop-master/lua/items/playermodels/ !(__category.lua)');
  24. }
  25.  
  26. foreach($items['playermodels'] as $item) {
  27.     echo 'Writing file: ' . $item['filename'] . "\n";
  28.  
  29.     $name   = $item['name'];
  30.     $points = $item['points'];
  31.     $path   = $item['path'];
  32.     $filename = $item['filename'];
  33.    
  34.     $blob  = "ITEM.Name  = '$name' \n";
  35.     $blob .= "ITEM.Price = $points \n";
  36.     $blob .= "ITEM.Model = '$path' \n";
  37.    
  38.     if(isset($item['adminonly']) && $item['adminonly'] === true) {
  39.         $blob .= "ITEM.AdminOnly = true \n";
  40.     }
  41.    
  42.     if(isset($item['groups']) && is_array($item['groups']) === true) {
  43.         $str = '"'.implode ("\", \"", $item['groups']).'"';
  44.         $blob .= "ITEM.AllowedUserGroups = {" . $str . "} \n";
  45.     }
  46.    
  47.     $blob .= <<<EOD
  48.  
  49. function ITEM:OnEquip(ply, modifications)
  50.         if not ply._OldModel then
  51.                 ply._OldModel = ply:GetModel()
  52.         end
  53.  
  54.         timer.Simple(1, function() ply:SetModel(self.Model) end)
  55. end
  56.  
  57. function ITEM:OnHolster(ply)
  58.         if ply._OldModel then
  59.                 ply:SetModel(ply._OldModel)
  60.         end
  61. end
  62.  
  63. function ITEM:PlayerSetModel(ply)
  64.         ply:SetModel(self.Model)
  65. end
  66. EOD;
  67.    
  68.     foreach($dirs as $dir) {
  69.         $fp = fopen($dir . '/addons/pointshop-master/lua/items/playermodels/' . $filename, 'w');
  70.         fwrite($fp, $blob);
  71.         fclose($fp);   
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement