Advertisement
Guest User

Untitled

a guest
May 25th, 2015
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.55 KB | None | 0 0
  1. CREATE DEFINER=`vilayer`@`` PROCEDURE `pMain`(IN `i` INT)
  2.     LANGUAGE SQL
  3.     NOT DETERMINISTIC
  4.     MODIFIES SQL DATA
  5.     SQL SECURITY DEFINER
  6.     COMMENT ''
  7. BEGIN
  8.  
  9.  
  10.     DECLARE sInstance VARCHAR(8) DEFAULT i;
  11.  
  12.  
  13.  
  14.     DECLARE iVehSpawnMax INT DEFAULT 200;
  15.  
  16.  
  17.     DECLARE iTimeoutMax                 INT DEFAULT 250;   
  18.     DECLARE iTimeout                        INT DEFAULT 0;     
  19.     DECLARE iNumVehExisting         INT DEFAULT 0;     
  20.     DECLARE iNumClassExisting   INT DEFAULT 0;     
  21.     DECLARE i INT DEFAULT 1;
  22.  
  23. CALL pvCleanup(44773);
  24.      
  25.         SELECT COUNT(*)                
  26.             INTO iNumVehExisting
  27.             FROM Object_DATA  
  28.             WHERE Instance = sInstance
  29.  AND classname NOT LIKE 'wood%'
  30.  AND classname NOT LIKE 'tent%'
  31.  AND classname NOT LIKE 'dome%'
  32.  AND classname NOT LIKE 'stash%'
  33.  AND classname NOT LIKE 'bear%'
  34.  AND classname NOT LIKE 'camo%'
  35.  AND classname NOT LIKE 'trap%'
  36.  AND classname NOT LIKE 'hedge%'
  37.  AND classname NOT LIKE 'wire%';
  38.         WHILE (iNumVehExisting < iVehSpawnMax) DO      
  39.  
  40.            
  41.             SELECT Classname, Chance, MaxNum, Damage
  42.                 INTO @rsClassname, @rsChance, @rsMaxNum, @rsDamage
  43.                 FROM object_classes ORDER BY RAND() LIMIT 1;
  44.  
  45.            
  46.             SELECT COUNT(*)  
  47.                 INTO iNumClassExisting  
  48.                 FROM Object_DATA  
  49.                 WHERE Instance = sInstance
  50.                 AND Classname = @rsClassname;
  51.             IF (iNumClassExisting < @rsMaxNum) THEN
  52.  
  53.                 IF (rndspawn(@rschance) = 1) THEN
  54.  
  55.                     INSERT INTO Object_DATA (ObjectUID, Instance, Classname, Damage, CharacterID, Worldspace, Inventory, Hitpoints, Fuel, Datestamp)
  56.                         SELECT ObjectUID, sInstance, Classname, 0.3, '0', Worldspace, Inventory, Hitpoints, 0.2, SYSDATE()  
  57.                             FROM object_spawns  
  58.                             WHERE Classname = @rsClassname  
  59.                                 AND NOT ObjectUID IN (SELECT objectuid FROM Object_DATA WHERE instance = sInstance)
  60.                             ORDER BY RAND()
  61.                             LIMIT 0, 1;
  62.  
  63.                     SELECT COUNT(*)  
  64.                         INTO iNumVehExisting  
  65.                         FROM Object_DATA  
  66.                         WHERE Instance = sInstance
  67.  AND classname NOT LIKE 'wood%'
  68.  AND classname NOT LIKE 'tent%'
  69.  AND classname NOT LIKE 'dome%'
  70.  AND classname NOT LIKE 'stash%'
  71.  AND classname NOT LIKE 'bear%'
  72.  AND classname NOT LIKE 'camo%'
  73.  AND classname NOT LIKE 'trap%'
  74.  AND classname NOT LIKE 'hedge%'
  75.  AND classname NOT LIKE 'wire%';
  76.  
  77.                    
  78.                     SELECT COUNT(*)  
  79.                         INTO iNumClassExisting  
  80.                         FROM Object_DATA  
  81.                         WHERE Instance = sInstance
  82.                         AND Classname = @rsClassname;
  83.  
  84.                 END IF;
  85.             END IF;  
  86.  
  87.             SET iTimeout = iTimeout + 1;
  88.             IF (iTimeout >= iTimeoutMax) THEN
  89.                 SET iNumVehExisting = iVehSpawnMax;
  90.             END IF;
  91.         END WHILE;
  92.     SET i = i + 1;
  93. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement