14:36
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
MySQL Plugin
RishatДата: Суббота, 05.10.2013, 19:08 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Всё своё проведённое время в скриптинге я работал с dINI. Знаю для многих это покажется дикостью, но мне было привычнее с ним работать russian_ru

Со всем не давно решил перевести свой мод на MySQL Plugin R7, нашёл в инете пустышку с мускулом и решил использовать его в качестве примера.
Теперь возник такой вопрос, в чём разница между R5, R6 и R7?

Буду очень благодарен если кто то объяснит в чём особенности каждого из них

[off]p.s. С ответами, мол 'гугл в помощь' идите в леc. Спасибо за внимание[/off]

В догонку задам такой вопрос.

Перевёл систему домов на мускул и теперь такая проблема.
После приобретения дома игроком всё нормально работает, но стоит только перезапустить сервер игроку выдаёт случайный дом.
Но все другие параметры дома нормально сохраняются

Вот код сохранения дома:

Код
stock SaveHouses()
{
    new string[512],list[64];
    for(new i=1; i<MAX_HOUSES; i++)
    {
     f(string, "UPDATE `house` SET ");
     f(list, "name = '%s',", HouseInfo[i][hName]); strcat(string, list);
     f(list, "owner = '%s',", HouseInfo[i][hOwner]); strcat(string, list);
     f(list, "interior = '%d',", HouseInfo[i][hInterior]); strcat(string, list);
     f(list, "carid = '%d',", HouseInfo[i][hCarID]); strcat(string, list);
     f(list, "color = '%d',", HouseInfo[i][hColor]); strcat(string, list);
     f(list, "health = '%d',", HouseInfo[i][hHealth]); strcat(string, list);
     f(list, "moneys = '%d',", HouseInfo[i][hMoneys]); strcat(string, list);
     f(list, "clooth = '%d',", HouseInfo[i][hClooth]); strcat(string, list);
     f(list, "save = '%d',", HouseInfo[i][hSave]); strcat(string, list);
     f(list, "doors = '%d'", HouseInfo[i][hDoors]); strcat(string, list);
     f(list, " WHERE `ID` = '%d'", i); strcat(string, list);
     mysql_function_query(MysqlConnect, string, false, "", "");
    }
    return 1;
}


Сохранения стока SaveHouses()

Код
stock SaveAllInformation()
{
    SaveHouses();
}



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Суббота, 05.10.2013, 19:09
FabervoxДата: Суббота, 05.10.2013, 22:56 | Сообщение # 2
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
[FAQ] Учимся работать с PAWN+MYSQL
Цитата (AirKite)
mysql_query(query); в MySQL Plugin R7 попросту нет

Цитата (Harris)
Я в этом человек серый и безграмотный, но даже я знаю, что Р7 это последняя версия плагина, где команды идут разными потоками что приводит к оптимизации.


Т.е. главное отличие r7 в том что он многопоточен и от этого не совместим с предыдущими. С вопросами лучше соответствующую тему, как это ни странно но там его больше увидят.
Вопрос | Ответ




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности
RishatДата: Воскресенье, 06.10.2013, 13:29 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Цитата (Fabervox)
Т.е. главное отличие r7 в том что он многопоточен и от этого не совместим с предыдущими. С вопросами лучше соответствующую тему, как это ни странно но там его больше увидят.

Благодарю.

[off]Native functions: (All parameters in squared brackets are optional)
* = R5, R6 (supports threaded and non-threaded scripts)
* = R7 (supports only threaded scripts)[/off]

Про многопоточность мне уже объяснили, просто я ожидал, что мб кто нибудь более подробнее разжует. Ну да ладно, теперь осталась только одна проблема
Это дома.

Вопрос по поводу систем домов все ещё актуален. Жду помощи smile25

Сегодня поправил слегка таблицу БД, но ничего не изменилось.

Код
CREATE TABLE IF NOT EXISTS `house` (
    `ID` int(11) NOT NULL,
    `name` varchar(32) CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL DEFAULT 'None',
    `owner` varchar(32) CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL DEFAULT 'None',
    `level` int(11) NOT NULL,
    `price` int(11) NOT NULL,
    `interior` int(11) NOT NULL,
    `enterX` float NOT NULL,
    `enterY` float NOT NULL,
    `enterZ` float NOT NULL,
    `spawnX` float NOT NULL,
    `spawnY` float NOT NULL,
    `spawnZ` float NOT NULL,
    `spawnA` float NOT NULL,
    `carid` int(11) NOT NULL,
    `color` int(11) NOT NULL,
    `carX` float NOT NULL,
    `carY` float NOT NULL,
    `carZ` float NOT NULL,
    `carA` float NOT NULL,
    `health` int(11) NOT NULL,
    `moneys` int(11) NOT NULL,
    `clooth` int(11) NOT NULL,
    `save` int(11) NOT NULL,
    `doors` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Воскресенье, 06.10.2013, 13:29
RockmanДата: Воскресенье, 06.10.2013, 20:13 | Сообщение # 4
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Rishat, если с сохранением все хорошо, то нужно искать ошибку при чтении из базы.
RishatДата: Понедельник, 07.10.2013, 20:28 | Сообщение # 5
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Rockman, да, возможно. Я делал по примеру, там так же всё расписано.

в OnGameModeInit
Код
mysql_function_query(MysqlConnect,"SELECT * FROM `house`",true,"OnLoadHouseCallback","");


Загрузка калбэка

Код
forward OnLoadHouseCallback();
public OnLoadHouseCallback()
{
   new rows, fields, i, buf[64];
   cache_get_data(rows, fields);
   for(i = 1; i < rows; i++)
   {
    cache_get_field_content(i, "name", buf), strmid(HouseInfo[i][hName], buf, 0, strlen(buf), 32);
    cache_get_field_content(i, "owner",buf), strmid(HouseInfo[i][hOwner], buf, 0, strlen(buf), 32);
    cache_get_field_content(i, "level",buf), HouseInfo[i][hLevel] = strval(buf);
    cache_get_field_content(i, "price", buf), HouseInfo[i][hCost] = strval(buf);
    cache_get_field_content(i, "interior", buf), HouseInfo[i][hInterior] = strval(buf);
    cache_get_field_content(i, "enterX", buf), HouseInfo[i][hEnterX]=  floatstr(buf);
    cache_get_field_content(i, "enterY", buf), HouseInfo[i][hEnterY] = floatstr(buf);
    cache_get_field_content(i, "enterZ", buf), HouseInfo[i][hEnterZ] = floatstr(buf);
    cache_get_field_content(i, "spawnX", buf), HouseInfo[i][hSpawnX] = floatstr(buf);
    cache_get_field_content(i, "spawnY", buf), HouseInfo[i][hSpawnY] = floatstr(buf);
    cache_get_field_content(i, "spawnZ", buf), HouseInfo[i][hSpawnZ] = floatstr(buf);
    cache_get_field_content(i, "spawnA", buf), HouseInfo[i][hSpawnA] = floatstr(buf);
    cache_get_field_content(i, "carid", buf), HouseInfo[i][hCarID] = strval(buf);
    cache_get_field_content(i, "color", buf), HouseInfo[i][hColor] = strval(buf);
    cache_get_field_content(i, "carX", buf), HouseInfo[i][hCarX] = floatstr(buf);
    cache_get_field_content(i, "carY", buf), HouseInfo[i][hCarY] = floatstr(buf);
    cache_get_field_content(i, "carZ", buf), HouseInfo[i][hCarZ] = floatstr(buf);
    cache_get_field_content(i, "carA", buf), HouseInfo[i][hCarA] = floatstr(buf);
    cache_get_field_content(i, "health", buf), HouseInfo[i][hHealth] = strval(buf);
    cache_get_field_content(i, "moneys", buf), HouseInfo[i][hMoneys] = strval(buf);
    cache_get_field_content(i, "clooth", buf), HouseInfo[i][hClooth] = strval(buf);
    cache_get_field_content(i, "save", buf), HouseInfo[i][hSave] = strval(buf);
    cache_get_field_content(i, "doors", buf), HouseInfo[i][hDoors] = strval(buf);
    if(!strcmp(HouseInfo[i][hOwner], "None", true))
    {
     HousePickupOut[i] = CreateDynamicPickup(1273, 23, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]);
     HouseInfo[i][hIcon] = CreateDynamicMapIcon(HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ], 31, COLOR_WHITE, 0, -1, -1, 400.0);
    }
    else
    {
     HousePickupOut[i] = CreateDynamicPickup(1272, 23, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]);
     HouseInfo[i][hIcon] = CreateDynamicMapIcon(HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ], 32, COLOR_WHITE, 0, -1, -1, 400.0);
    }
    CreateHouseExitPickup(i);
    HouseOpen[i] = false;
   }
   printf(" [Çàãðóæåíî äîìîâ] - %i.", i);
   return 1;
}


Будьте добры, помогите мне search

Добавлено (07.10.2013, 20:28)
---------------------------------------------
Заметил такую аномалию.
Купил я дом и изменил пару параметров (интерьер, гардероб, название дома) и при этом номер дома был (id) 119.

Теперь внимание.
Делаю рестарт сервера. Захожу и вижу такую картину.
Все параметры дома сохранились, НО ID дома сменился на 118 и теперь этот дом находиться в другом месте.


[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Понедельник, 07.10.2013, 12:20
WeddewДата: Понедельник, 07.10.2013, 22:24 | Сообщение # 6
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Rishat)
Заметил такую аномалию.
Купил я дом и изменил пару параметров (интерьер, гардероб, название дома) и при этом номер дома был (id) 119.

Теперь внимание.
Делаю рестарт сервера. Захожу и вижу такую картину.
Все параметры дома сохранились, НО ID дома сменился на 118 и теперь этот дом находиться в другом месте.


Ошибка вот тут:
Цитата (Rishat)
for(i = 1; i < rows; i++)

Должно быть:
[pwn]for(i = 0; i < rows; i++)[/pwn]

Запомните, у программистов отсчет всегда идет с 0.




www.weddew-shop.ru
RishatДата: Вторник, 08.10.2013, 15:27 | Сообщение # 7
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Цитата (Weddew)
Запомните, у программистов отсчет всегда идет с 0.

Так и делал. Не работает.
В БД записи начинаются с единицы.

Чуть чуть по другому сделал. В цикле от каждого значения i отнимал единичку
Ещё не тестил, завтра затестю и отпишусь

Да, теперь всё работает.
Решение данной проблемы находиться в предыдущем посте. Спасибо всем кто помогал! don-t_mention

Тему можно закрыть.



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Вторник, 08.10.2013, 15:28
WeddewДата: Вторник, 08.10.2013, 21:59 | Сообщение # 8
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Rishat)
В БД записи начинаются с единицы.

Вы не совсем меня поняли. Я имею в виду, что отсчет списка строк начинается с 0.
В вашем примере отсчет начинался со 2 результата, полученного из базы.

Добавлено (08.10.2013, 21:59)
---------------------------------------------
Если все исправлено, то закрываю



www.weddew-shop.ru
RishatДата: Четверг, 04.09.2014, 19:36 | Сообщение # 9
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
На офф сайте ссылки на MySQL R7 битые.
Будьте добры поделиться! За старенькое вознаграждение, что то вроде плюса в репутацию обещаю)



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Четверг, 04.09.2014, 19:37
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua