Question

Gaiduk
Свой человек
Спойлер

Из базы данных
-- Структура таблицы `repositories`
--

CREATE TABLE IF NOT EXISTS `repositories` (
  `army_met` int(11) NOT NULL DEFAULT '0',
  `army_patr` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



Из мода 

// - Сохранение склада армии
stock SaveRepository()
{
    static const fmt_query[] = "UPDATE `repositories` SET `army_met` = '%d', `army_patr` = '%d'";
    new query[sizeof(fmt_query)+(-2+9)+(-2+9)];
    format(query, sizeof(query), fmt_query, REPOSITORY_ARMY_METALL, REPOSITORY_ARMY_PATRON);
    mysql_query(dbHandle, query);
    UpdateRepository();
    return 1;
}

 

 

Share this post


Link to post

11 answers to this question

  • 0
Gaiduk
Свой человек

помогите пожалуйста 

Edited by Gaiduk

Share this post


Link to post
  • 0
Gaiduk
Свой человек

@DEST 

Спойлер

//=========================================================================================================================================================				   static const fmt_msg[] = "[R] %s[%d]: разгрузил 500 кг. металла в склад";
				new string1[sizeof(fmt_msg)+(-2+MAX_PLAYER_NAME)+(-2+30)];
				format(string1, sizeof(string1), fmt_msg, player_info[playerid][NAME], playerid);
				SendMessageToTeam(player_info[playerid][MEMBER], string1, 0x429252FF);
				SendClientMessage(playerid, 0x99cc00FF, "Вы разгрузили 500 кг. металла");
				REPOSITORY_ARMY_METALL += 500;
				SaveRepository();
//=========================================================================================================================================================				   player_info[playerid][PATRON] += patr;
                REPOSITORY_ARMY_PATRON -= patr;
                SaveRepository();
				new fmt_msg[100];
				format(fmt_msg, sizeof fmt_msg, "~b~+%d~n~~g~total: %d", patr, player_info[playerid][PATRON]);
                GameTextForPlayer(playerid, fmt_msg, 1500, 6);
				static const fmt_query[] = "UPDATE `accounts` SET `patron` = '%d' WHERE `id` = '%d'";
                new query[sizeof(fmt_query)+(-2+9)+(-2+4)];
                format(query, sizeof(query), fmt_query, player_info[playerid][PATRON], player_info[playerid][ID]);
                mysql_query(dbHandle, query);
				return 1;
//=========================================================================================================================================================
		if(IsPlayerInRangeOfPoint(playerid,2.0, 1347.6021,1730.2080,-1.2271))
	{
		if(player_info[playerid][MEMBER] == TEAM_VDV || TEAM_OPG_OREX || TEAM_OPG_SOLNTSEVSKAYA || player_info[playerid][VIP] != -1)
		{
			if(GetPVarInt(playerid, "put_ammo") > 0)
			{
				SetPVarInt(playerid, "put_ammo", 0);
				ClearAnimations(playerid, true);
				RemovePlayerAttachedObject(playerid, 1);
				SendClientMessage(playerid, 0x3f9e38FF, "Вы погрузили на склад один ящик патронов");
				
				REPOSITORY_ARMY_PATRON += 400;
				SaveRepository();
			}
			
			if(!IsPlayerAfk(playerid)) StealPatron(playerid);
		}
	}

 

 

Share this post


Link to post
  • 0
Gaiduk
Свой человек

@odosenok, сейчас исправлю. 

Спойлер

//=========================================================================================================================================================				   static const fmt_msg[] = "[R] %s[%d]: разгрузил 500 кг. металла в склад";
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{           
            if(IsPlayerInRangeOfPoint(playerid, 8.0, 1424.8115,1673.0101,17.0835))
            {
                if(vehicleid == org_car[VDV_MET_CAR][0])
                {
                    new string[64];
                    
                    if(metallcarMO[0] < 500) return SendClientMessage(playerid, 0xff6600FF, "У вас нет металла в авто");

                    metallcarMO[0] = 0;

                    format
                    (
                        string, sizeof string,
                        "Металл:\n %d / 500 кг.",
                        metallcarMO[0]
                    );

                    Update3DTextLabelText(metallcar[0],0x0099FFFF, string);
                }
                if(vehicleid == org_car[VDV_MET_CAR][1])
                {
                    new string[64];
                    
                    if(metallcarMO[1] < 500) return SendClientMessage(playerid, 0xff6600FF, "У вас нет металла в авто");

                    metallcarMO[1] = 0;

                    format
                    (
                        string, sizeof string,
                        "Металл:\n %d / 500 кг.",
                        metallcarMO[1]
                    );

                    Update3DTextLabelText(metallcar[1],0x0099FFFF, string);
                }
                if(vehicleid == org_car[VDV_MET_CAR][2])
                {
                    new string[64];
                    
                    if(metallcarMO[2] < 500) return SendClientMessage(playerid, 0xff6600FF, "У вас нет металла в авто");

                    metallcarMO[2] = 0;

                    format
                    (
                        string, sizeof string,
                        "Металл:\n %d / 500 кг.",
                        metallcarMO[2]
                    );

                    Update3DTextLabelText(metallcar[2],0x0099FFFF, string);
                }
                if(vehicleid == org_car[VDV_MET_CAR][3])
                {
                    new string[64];
                    
                    if(metallcarMO[3] < 500) return SendClientMessage(playerid, 0xff6600FF, "У вас нет металла в авто");

                    metallcarMO[3] = 0;

                    format
                    (
                        string, sizeof string,
                        "Металл:\n %d / 500 кг.",
                        metallcarMO[3]
                    );

                    Update3DTextLabelText(metallcar[3],0x0099FFFF, string);
                }
                
                static const fmt_msg[] = "[R] %s[%d]: разгрузил 500 кг. металла в склад";
                new string1[sizeof(fmt_msg)+(-2+MAX_PLAYER_NAME)+(-2+30)];
                format(string1, sizeof(string1), fmt_msg, player_info[playerid][NAME], playerid);
                SendMessageToTeam(player_info[playerid][MEMBER], string1, 0x429252FF);
                
                SendClientMessage(playerid, 0x99cc00FF, "Вы разгрузили 500 кг. металла");

                REPOSITORY_ARMY_METALL += 500;
                
                SaveRepository();
            }
        }
//=========================================================================================================================================================				   player_info[playerid][PATRON] += patr;
stock StealPatron(playerid)
{
    new patr = random(5) + 1;
    if(REPOSITORY_ARMY_PATRON < patr) return 1;
    if(player_info[playerid][VIP] != -1)
    {
        if(player_info[playerid][PATRON] + patr > 600)
            return GameTextForPlayer(playerid, "~r~FULL", 1500, 6);
    }
    else
    {
        if(player_info[playerid][PATRON] + patr > 400)
        return GameTextForPlayer(playerid, "~r~FULL", 1500, 6);
    }
    player_info[playerid][PATRON] += patr;
    REPOSITORY_ARMY_PATRON -= patr;
    SaveRepository();
    new fmt_msg[100];
    format(fmt_msg, sizeof fmt_msg, "~b~+%d~n~~g~total: %d", patr, player_info[playerid][PATRON]);
    GameTextForPlayer(playerid, fmt_msg, 1500, 6);
    static const fmt_query[] = "UPDATE `accounts` SET `patron` = '%d' WHERE `id` = '%d'";
    new query[sizeof(fmt_query)+(-2+9)+(-2+4)];
    format(query, sizeof(query), fmt_query, player_info[playerid][PATRON], player_info[playerid][ID]);
    mysql_query(dbHandle, query);
    return 1;
}
//=========================================================================================================================================================
forward PlayerUpdate(playerid);
public PlayerUpdate(playerid)
{		
  if(IsPlayerInRangeOfPoint(playerid,2.0, 1347.6021,1730.2080,-1.2271))
  {
		if(player_info[playerid][MEMBER] == TEAM_VDV || TEAM_OPG_OREX || TEAM_OPG_SOLNTSEVSKAYA || player_info[playerid][VIP] != -1)
		{
			if(GetPVarInt(playerid, "put_ammo") > 0)
			{
				SetPVarInt(playerid, "put_ammo", 0);
				ClearAnimations(playerid, true);
				RemovePlayerAttachedObject(playerid, 1);
				SendClientMessage(playerid, 0x3f9e38FF, "Вы погрузили на склад один ящик патронов");
				
				REPOSITORY_ARMY_PATRON += 400;
				SaveRepository();
			}
			
			if(!IsPlayerAfk(playerid)) StealPatron(playerid);
		}
	}

 

 

Edited by Gaiduk

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • снайк
      By снайк
      Проект Meridian Project (CR:MP) выходит на стадию активного расширения. Мы серьезно обновили основу мода и теперь ищем талантливых разработчиков, готовых вместе с нами дополнять и улучшать игровой мир.
       
      Важное уточнение по условиям: На текущем этапе мы работаем на энтузиазме и долгосрочную перспективу. В данный момент все средства уходят на техническую разработку и поддержание серверной инфраструктуры, поэтому сразу оплачивать работу мы не сможем.
       
      Как только сервер будет успешно запущен и начнет функционировать в штатном режиме, мы перейдем на оплату труда. Со своей стороны гарантируем честность и различные «плюшки» на сервере для членов команды.
       
      Что мы предлагаем:
      Работа над структурированным и оптимизированным модом.
      Четкие ТЗ и адекватное руководство.
      Возможность стать частью ключевого состава на старте.
       
      Наши требования:
      Уверенное владение языком PAWN.
      Знание MySQL и основ оптимизации.
      Желание развивать качественный проект, а не просто «накидать код».
      Ответственность: взялись за задачу — довели до конца.
       
      Ваши задачи:
      Разработка и внедрение новых систем (работы, функционал фракций и др.).
      Исправление багов и доработка текущего функционала.
       
      Убедительная просьба: если вас не устраивают условия работы на перспективу или вам не интересен сам процесс создания качественного продукта — пожалуйста, не тратьте наше и своё время. Мы ищем единомышленников, которые готовы расти вместе с проектом, а не тех, кто ищет легкой и быстрой наживы здесь и сейчас.
       
      Связаться с нами: 
      Telegram: https://t.me/escape_log
      ВКонтакте: https://vk.com/oskar_novicc
    • tamikmod
      By tamikmod
      проблема на фото указана, прошу помочь