Error 1054 when spawning vehicles

lighbulbout

New Member
I recently did a fresh install of my server, and downloaded the latest files from github. When starting when it tries to run the spawn script, I get the following error.
ERROR 1054 (42S22) at line 1: Unknown column 'MaxDamage' in 'field list'
It will not spawn any vehicles because of this. What am I doing wrong?
 
I have tried last updated
DayZ Private Server Files Pack (1.7.4.4) [All current maps NOT updated]



Unfortunately :


Starting MySQL database. Please wait 5-10 seconds.
OK.


Executing spawn script...
ERROR 1054 (42S22) at line 1: Unknown column 'MaxDamage' in 'field list'
OK.


Starting server...
OK.





Launcher created by Pwnoz0r.

There are no spawns for cars db is empty....
new vehicles are not included in objects...
 
Here we go:

BEGIN
DECLARE intOffset INT DEFAULT 0;
DECLARE bDoSpawn TINYINT(1) DEFAULT 0;
DECLARE bSpawned TINYINT(1) DEFAULT 0;
DECLARE iLID INT DEFAULT 0;

WHILE (bDoSpawn = 0) DO
SELECT FLOOR(RAND() * COUNT(*))
INTO intOffset
FROM object_classes;
SELECT Classname, Chance, MaxNum, MaxDamage, MaxFuel, Inventory, Hitpoints
INTO @rsClassname, @rsChance, @rsMaxNum, @rsDamage, @MaxFuel, @Inventory, @rsHitpoints
FROM object_classes
LIMIT intOffset, 1;
IF (fGetClassCount(@rsClassname) < @rsMaxNum) THEN
IF (fGetSpawnFromChance(@rschance) = 1) THEN
SET bDoSpawn = 1;
END IF;
END IF;
END WHILE;

WHILE (bSpawned = 0) DO
SELECT FLOOR(RAND() * COUNT(*))
INTO intOffset
FROM object_spawns
WHERE Classname = @rsClassname;
SET iLID = LAST_INSERT_ID();
INSERT INTO object_data (ObjectUID, Instance, Classname, Damage, CharacterID, Worldspace, Inventory, Hitpoints, Fuel, Datestamp)
SELECT ObjectUID, '1', Classname, @rsDamage, '0', Worldspace, @Inventory, @rsHitpoints, @MaxFuel, SYSDATE()
FROM object_spawns
WHERE NOT ObjectUID IN (SELECT DISTINCT ObjectUID FROM object_data)
LIMIT intOffset, 1;
IF (LAST_INSERT_ID() <> iLID) THEN
SET bSpawned = 1;
END IF;
END WHILE;
END
 
There was an update to the github repo, I downloaded the full install and I am still having the same issue with a fresh install.
 
pSpawn should look like this:


Code:
BEGIN
    DECLARE bSpawned        TINYINT(1) DEFAULT 0;
    DECLARE iLID                INT DEFAULT 0;
 
    WHILE (bSpawned = 0) DO
       
        SET iLID = LAST_INSERT_ID();
       
        INSERT INTO object_data (ObjectUID, Instance, Classname, Damage, CharacterID, Worldspace, Inventory, Hitpoints, Fuel, Datestamp)
        SELECT ot.ObjectUID, '1', ot.Classname, ot.Damage, '0', ot.Worldspace, '[]', ot.Hitpoints, '0.05', SYSDATE()
            FROM (SELECT oc.Classname, oc.Chance, oc.MaxNum, oc.Damage, oc.Hitpoints, os.ObjectUID, os.Worldspace
                FROM object_classes AS oc
                INNER JOIN object_spawns AS os
                ON oc.Classname = os.Classname
                ORDER BY RAND()) AS ot
            WHERE NOT EXISTS (SELECT od.ObjectUID
                            FROM object_data AS od
                            WHERE ot.ObjectUID = od.ObjectUID)
            AND fGetClassCount(ot.Classname) < ot.MaxNum
            AND fGetSpawnFromChance(ot.Chance) = 1
            LIMIT 1;
           
            IF (LAST_INSERT_ID() <> iLID) THEN
                SET bSpawned = 1;
            END IF;
           
    END WHILE;
END
 
pSpawn should look like this:


Code:
BEGIN
    DECLARE bSpawned        TINYINT(1) DEFAULT 0;
    DECLARE iLID                INT DEFAULT 0;
 
    WHILE (bSpawned = 0) DO
   
        SET iLID = LAST_INSERT_ID();
   
        INSERT INTO object_data (ObjectUID, Instance, Classname, Damage, CharacterID, Worldspace, Inventory, Hitpoints, Fuel, Datestamp)
        SELECT ot.ObjectUID, '1', ot.Classname, ot.Damage, '0', ot.Worldspace, '[]', ot.Hitpoints, '0.05', SYSDATE()
            FROM (SELECT oc.Classname, oc.Chance, oc.MaxNum, oc.Damage, oc.Hitpoints, os.ObjectUID, os.Worldspace
                FROM object_classes AS oc
                INNER JOIN object_spawns AS os
                ON oc.Classname = os.Classname
                ORDER BY RAND()) AS ot
            WHERE NOT EXISTS (SELECT od.ObjectUID
                            FROM object_data AS od
                            WHERE ot.ObjectUID = od.ObjectUID)
            AND fGetClassCount(ot.Classname) < ot.MaxNum
            AND fGetSpawnFromChance(ot.Chance) = 1
            LIMIT 1;
       
            IF (LAST_INSERT_ID() <> iLID) THEN
                SET bSpawned = 1;
            END IF;
       
    END WHILE;
END
Replaced pSpawn with this, and now it works fine. Thank you! It seems like the git repo would need to be updated as well?
 
Glad it worked, I was starting to think maybe your other functions were wrong too lol. I think pwnaz0r updated with the wrong function files!
 
Back
Top