Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
sanek327

Проблема с импортом convert.sql от банков SC 3.0

Проблема заключается в следующем,когда я импортирую convert.sql из SC 3.0 мне выдает ошибку запроса:

 

Ошибка
SQL запрос:


convertsc: BEGIN
DECLARE done INT DEFAULT 0;
Ответ MySQL: Документация

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'convertsc: BEGIN
DECLARE done INT DEFAULT 0' at line 1

 

 

Вот сам запрос convert.sql в бд:

 

convertsc: BEGIN
DECLARE done INT DEFAULT 0;
DECLARE @player_id VARCHAR DEFAULT "-1";
DECLARE @instance INT DEFAULT 11;
/* Cherno = 11 or 17 , Tavi = 13 and so on. just check your Database to see instance number. */
DECLARE player_cursor CURSOR FOR SELECT PlayerUID FROM player_data;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN player_cursor;

read_loop: LOOP
FETCH player_cursor INTO @player_id;
DECLARE @charid INT DEFAULT -1;
DECLARE @player_money BIGINT DEFAULT 0;
DECLARE @player_bank BIGINT DEFAULT 0;
DECLARE @thesum BIGINT DEFAULT 0;
DECLARE @player_gear LONGTEXT DEFAULT '[]';

IF done <> 0 THEN
LEAVE read_loop;
END IF;

select @charid = CharacterID, @player_money = CashMoney, @player_gear = SUBSTRING(Inventory , 1, CHAR_LENGTH(Inventory ) - 1) from character_data where PlayerUID = @player_id and Alive = 1;
select @player_bank = BankSaldo from banking_data where PlayerUID = @player_id;

/* 999 hive , comment the previous 2 lines out and use the 2 following.
select @charid = CharacterID, @player_money = HeadshotsZ, @player_gear = SUBSTRING(Inventory , 1, CHAR_LENGTH(Inventory ) - 1) from character_data where PlayerUID = @player_id and Alive = 1;
select @player_bank = PlayerMorality from player_data where PlayerUID = @player_id;
*/

IF @charid <> -1 THEN
@thesum = @player_money + @player_bank;
set @player_gear = CONCAT(@player_gear, @thesum, ']');
UPDATE character_data SET Inventory = @player_gear WHERE CharacterID = @charid;
ELSE
set @player_gear = CONCAT('[["ItemFlashlight","ItemMap","ItemCompass","ItemHatchet","ItemKnife","ItemMatchbox","ItemWatch"],["FoodSteakCooked","ItemSodaCoke","ItemBloodbag","ItemPainkiller","ItemAntibiotic","ItemMorphine","ItemEpinephrine","ItemBandage","ItemBandage","ItemBandage"],', @player_bank, ']');
INSERT INTO `character_data` (`CharacterID`, `PlayerUID`, `InstanceID`, `Datestamp`, `LastLogin`, `Inventory`, `Backpack`, `Worldspace`, `Medical`, `Alive`, `Generation`, `LastAte`, `LastDrank`, `KillsZ`, `HeadshotsZ`, `DistanceFoot`, `Duration`, `CurrentState`, `KillsH`, `Model`, `KillsB`, `Humanity`, `Infected`) VALUES (NULL, @player_id, @instance, '2014-11-22 15:02:02', '2014-11-24 22:05:43', @player_gear, '["DZ_Backpack_EP1",[[],[]],[[],[]]]', '[158,[6320.97,7795.51,0.278]]', '[false,false,false,false,false,false,false,12000,[],[0,0],0,[64.82,61.753]]', 1, 99, '2014-11-22 15:02:02', '2014-11-22 15:02:02', 0, 0, 0, 46, '["","aidlpercmstpsraswrfldnon_idlesteady03",42,[]]', 0, 'Survivor2_DZ', 0, 2500, 0);
/* If the guys didn't had an alive character this creates a char for him with his bankmoney as cash on him in stary sobor. */
END IF;

END LOOP;
CLOSE player_cursor;
DEALLOCATE player_cursor;

ALTER TABLE character_data DROP COLUMN CashMoney;
END convertsc;

 

 

Но,когда я импортирую SCDBQuery.sql эта таблица от Single-Currency-4.0.все работает.

Вот ее запрос:

 


SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `banking_data`
-- ----------------------------
DROP TABLE IF EXISTS `banking_data`;
CREATE TABLE `banking_data` (
`PlayerUID` varchar(20) NOT NULL DEFAULT '0',
`PlayerName` varchar(128) NOT NULL DEFAULT 'Null',
`BankSaldo` bigint(24) NOT NULL DEFAULT '0',
`LastUpdated` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`PlayerUID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for `character_data`
-- ----------------------------

ALTER TABLE character_data ADD CashMoney int(11) NOT NULL DEFAULT 0 AFTER Infected;

 

Она импортируется без ошибок и работает,но я понимаю что она непригодна для использования sc 3.0 так как при выдаче денег больше миллиона,она выдает мне:

 

2015-10-20 22:56:40 HiveExt: [Error] Error executing |CHILD:201:1:[321,[6289.1,7816.81,0.00143433]]:[["ItemFlashlight","ItemGPS","ItemMap","NVGoggles"],["5Rnd_127x108_KSVK","5Rnd_127x108_KSVK","ItemBandage","ItemBandage"],1.11111e+026]:["",[[],[]],[[],[]]]:[false,false,false,false,false,false,false,12000,[],[0,0],0,[0,0.205556]]:false:false:0:0:0:1:["ksvk","aidlpercmstpsraswrfldnon_aiming02",37,[]]:0:0::0:1.11111e+026:|

 

 

А в таблицу cashmoney записывает числа только до миллиона.

 

Такая проблема только с таблицей,а для корректного отображения денег в дебаге и местах хранения я прописал

call BIS_fnc_numberText  

 

Можно ли с этим жить,не будет ли это мешать работе сервера?

 

Вот такая у меня проблема,помогите пожалуйста.

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Проблему решил,кому интересно решение нашел вот тут:http://epochmod.com/forum/index.php?/topic/15975-issue-players-get-negative-sums-in-cashmoney-across-restarts/&page=1 теперь могу оперировать числами до миллиарда и никаких ошибок в рапорте и хеви нет.

Хотя подозреваю,что можно и увеличить число,вот в этом блоке в compiles.sqf,но мне кажется это уже лишнее:

            _decimals = _number % 1;
            _decimals = _decimals * 1000000;
            _number = floor _number;
            _str = _number call MDC_fnc_numberToString;
            _str = _str + "." + str _decimals;

Share this post


Link to post
Share on other sites



  • 0

Аа, херня все это, я с ней дня три дрочился, ничего не получилось

Share this post


Link to post
Share on other sites
  • 0

Вообщем я так понимаю,что разбирающихся в бд на форуме нет,ясненько,тогда тема закрыта.Спасибо.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fedotovyasha
      не подключается к серверу и пишет что на сервере нету такого мода, хотя он там есть. Названия менял, другие моды все отключил, ничего не помогает. В батниках все прописано
    • By JustBullet
      Всем привет! :) Как я рад всех видеть снова, дошли руки до ковыряния станделона (если уже его можно так назвать).
       
      Что пытаюсь сделать:
      1. Создать Рюкзак.
      2. Создать Радио.
          - Положить Батарейку в Радио.
      3. Положить Радио(с Батареей) в Персональный слот Рюкзака.
      4. Дополнительно поместить Радио в слот быстрого доступа (на панель).
       
      EntityAI itemEnt_Bag = player.GetInventory().CreateInInventory("FurCourierBag"); // Создаем РЮКЗАК. EntityAI itemEnt_Radio = player.GetInventory().CreateInInventory("PersonalRadio"); // Создаем РАДИО. itemEnt_Radio.GetInventory().CreateAttachment("Battery9V"); // Помещаем в Радио Батарейку. itemEnt_Bag.GetInventory().CreateAttachment(itemEnt_Radio); // Помещаем в РЮКЗАК РАДИО. player.SetQuickBarEntityShortcut(itemEnt_Radio, 0, true); // Помещаем РАДИО на первый слот. тут возникает проблема, в четвертой строке, поскольку я помещаю Элемент Радио+Батарея в Рюкзак, а команда ожидает Строковый параметр (String). Проблема больше в незнании мной синтаксиса. Возможно и в логике построения. Вообщем прошу помощи разобраться с этой строчкой :)))
       
      п.с. так разумеется срабатывает но без батарейки:
      itemEnt_Bag.GetInventory().CreateAttachment("PersonalRadio"); // Помещаем в РЮКЗАК РАДИО. Каким параметром/командой я могу загнать Радио с батареей в персональный слот Рюкзака?
    • By Gromillla
      Доброго времени суток дамы и господа, и сразу к вопросу, в миссиях 2.2.5 версии, если боты "бандиты", то они скин игрока видят и реагируют на него, а если миссии с ботами "героями", то они скин игрока не видят. Скин  "RUS_Soldier_Marksman". Как соответственно решить эту проблему? Ошибок в РПТ нет.
    • By petpoleoo
      Ребят ваша помощь нужна,суть проблема такая,мент кидает гражданского в тюрьму а вместо той тюрьмы где он должен быть игрок в поле скачет в редакторе была в этом месте только одна метка sky drive но ее перенести пробывали 0 эмоций,кто сталкивался может какую мысль подкините идею как решить;)
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By SPIRT
      В общем после недавнего обновления BattleEye стало выкидывать из игры с ошибкой BattleEye типа вам нужно перезагрузить игру. Хочу поделиться тем что помогло мне . Сразу говорю винда у меня пиратская .Итак начнем .
      1.Отключаемся от интернета.
      2.Вырубаем антивирус полностью.
      3.Заходим в Панель управления -- Администрирование -- Службы -- ищем Защита программного обеспечения --- останавливаем ее.
      4.Дальше идем по адресу диск С Windows -- System32  там надо найти два файла C7483456-A289-439d-8115-601632D005A0  перед этими цифрами могут стоять еще цифры но это не важно , удаляем их.
      5. Обратно запускаем Защита программного обеспечения. В правом нижнем углу появится надпись  что ваша Windows не является лицензионной.
      6. Перезагружаем комп - и активируем нашу винду, я активировал программой Windows 7 Loader . 
       
      У меня процесс сошел с мертвой точки со второй активации  , но согласитесь это лучше чем переустанавливать Windows 7 или переходить с любимой системы на 10 винду . Кому поможет ставим +  врепу. 
       
      PS в параметрах папок и поиска не забываем выставить  показывать скрытые файлы и папки !
       
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.