Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Система троса [MxINI/MySQL]

Статус
В этой теме нельзя размещать новые ответы.

Egor_Ganchuk

Новичок
Вот лазил по сайтам и скал что то в этом роде)))) для своего сервера но в ставить не получилось у меня. Ну а так мне кажется полезная вещь для рп отыгровки согласитесь

Привет Ну что тут объяснять, трос как трос

Описание: Чтобы купить трос - вам нужно купить его в 24/7, после сесть в машину и подъехать очень близко и подцепить командой /towncar. Отцепить: /untown. (Полезно для РП ситуации, закончился бензин в машине или еще что-то :) )

В enum pinfo:
PHP:
pTros
в public OnPlayerConnect:
PHP:
PlayerInfo[playerid][pTros] = 0;
Если у вас мод на файлах:

в public OnPlayerRegister(playerid, password[]):
PHP:
ini_setInteger(File,"Tros",PlayerInfo[playerid][pTros]);
в OnPlayerUpdateRL(playerid):
PHP:
ini_setInteger(File,"Tros",PlayerInfo[playerid][pTros]);
в public OnPlayerLogin(playerid,password[]):
PHP:
ini_setInteger(File,"Tros",PlayerInfo[playerid][pTros]);
Если у Вас MySQL мод, то в LoadAccount:
PHP:
PlayerInfo[playerid][pTros],
в SaveAccount:
PHP:
format(src,sizeof(src),"tros='%i',",PlayerInfo[playerid][pTros]
);
        strcat(query,src,sizeof(query));
Теперь где выбор товара в 24/7, после последнего товара(У меня это цветы) ставим

\nТрость\t\t\t\t{33AAFF}1000 {ffffff}долларов


Теперь в диалог покупки 24/7:
PHP:
case 7:
                                {
                                        if(PlayerInfo[playerid][pCash] < 1000 return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств!");
                                        PlayerInfo[playerid][pCash] -= 1000;
                                        BizzInfo[i][bMoney] += 1000;
                                        BizzInfo[i][bProduct] -= 50;
                                        BizzPay[i] += 1000;
                                        PlayerInfo[playerid][pTros] = 1;
                                        SendMes(playerid, COLOR_BLUE, "Вы купили трость (( /towncar ))");
                                        SetBizzInt(i, "money", BizzInfo[i][bMoney]);
                                        SetBizzInt(i, "product", BizzInfo[i][bProduct]);
                                }
Теперь в команды:
OnPlayerCommandText
PHP:
if(strcmp(cmd, "/untown", true) == 0)
        {
                if(IsPlayerConnected(playerid))
            {
                        new vehplid=GetPlayerVehicleID(playerid);
                        DetachTrailerFromVehicle(vehplid);
                        SendClientMessage(playerid, COLOR_GRAD1, " * Отцеплено.");
                        return 1;
                }
        }
        if(strcmp(cmd, "/towncar", true) == 0)
        {
        //DebugPlayerLog(playerid,"/tow");
                if(IsPlayerConnected(playerid))
            {
                        if(PlayerInfo[playerid][pTros] == 0) 
                        {
                                SendClientMessage(playerid, COLOR_GRAD1, "У Вас нет троса. Его можно купить в магазине(24/7).");
                                return 1;
                        }
                        new vehplid=GetPlayerVehicleID(playerid);
                        new Float:plAngle;      GetVehicleZAngle(vehplid, plAngle);
                        new Float:crAngle,Float:Angle,Float:Angle2;
                        //====================
                        new Float:posx, Float:posy, Float:posz;
                        new Float:oldposx, Float:oldposy, Float:oldposz;
                        new Float:tempposx, Float:tempposy, Float:tempposz;
                        new Float:Radi=6.0;        //Расстояние от тачки
                        new Float:AngRange=90.0;    //максимальный радиус
                        //======================
                        for(new i = 0; i < MAX_VEHICLES; i++)   //700
                        {
                                if(i == vehplid) continue;    //себя цеплять ненадо
                                //======
                                GetVehiclePos(vehplid, posx, posy, posz); //координаты тачки
                                GetVehiclePos(i, oldposx, oldposy, oldposz); //координаты ближайшей
                                tempposx = (oldposx -posx);
                                tempposy = (oldposy -posy);
                                tempposz = (oldposz -posz);
                                if (((tempposx < Radi) && (tempposx > -Radi)) && ((tempposy < Radi) && (tempposy > -Radi)) && ((tempposz < Radi) && (tempposz > -Radi)))
                                {
                                        GetVehicleZAngle(i, crAngle); 
                                        Angle = (plAngle -crAngle);    
                                        Angle2= (Angle-180.0);     
                                        if (( ((Angle < AngRange) && (Angle > -AngRange)) || ((Angle2 < AngRange) && (Angle2 > -AngRange)) ))
                                        {
                                                AttachTrailerToVehicle(i, vehplid);
                                                format(string,sizeof(string),"Автомобиль подцеплен. Отцепить: /untown");
                                                SendClientMessage(playerid, COLOR_GRAD1, string);
                                                return 1;
                                        }   
                                }
                        }
                        //======
                        SendClientMessage(playerid, COLOR_GRAD1, " * Подъедьте поближе к автомобилю.");
                        return 1;

                }
                return 1;
        }
ZCMD:
PHP:
CMD:untown(playerid, params[])
{
        if(IsPlayerConnected(playerid))
        DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
        SendClientMessage(playerid, COLOR_GRAD1, "Отцеплено.");
        return 1;
}
CMD:towncar(playerid, params[])
{
        if(IsPlayerConnected(playerid))
        if(PlayerInfo[playerid][pTros] == 0)
        {
                SendClientMessage(playerid, COLOR_GRAD1, "У Вас нет троса. Его можно купить в магазине(24/7).");
                return 1;
        }
        new Float:plAngle;      GetVehicleZAngle(GetPlayerVehicleID(playerid), plAngle);
        new Float:crAngle,Float:Angle,Float:Angle2;
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        new Float:Radi=6.0;        //Расстояние от тачки
        new Float:AngRange=90.0;    //максимальный радиус
        for(new i = 0; i < MAX_VEHICLES; i++)   //700
        {
                if(i == GetPlayerVehicleID(playerid)) continue;    //себя цеплять ненадо
                GetVehiclePos(GetPlayerVehicleID(playerid), posx, posy, posz); //координаты тачки
                GetVehiclePos(i, oldposx, oldposy, oldposz); //координаты ближайшей
                tempposx = (oldposx -posx);
                tempposy = (oldposy -posy);
                tempposz = (oldposz -posz);
                if (((tempposx < Radi) && (tempposx > -Radi)) && ((tempposy < Radi) && (tempposy > -Radi)) && ((tempposz < Radi) && (tempposz > -Radi)))
                {
                        GetVehicleZAngle(i, crAngle);
                        Angle = (plAngle -crAngle);
                        Angle2= (Angle-180.0);
                        if (( ((Angle < AngRange) && (Angle > -AngRange)) || ((Angle2 < AngRange) && (Angle2 > -AngRange)) ))
                        {
                                AttachTrailerToVehicle(i, GetPlayerVehicleID(playerid));
                                format(string,sizeof(string),"Автомобиль подцеплен. Отцепить: /untown");
                                SendClientMessage(playerid, COLOR_GRAD1, string);
                                return 1;
                        }
                }
        }
        SendClientMessage(playerid, COLOR_GRAD1, "Подъедьте поближе к автомобилю.");
        return 1;
}
HTML:
http://i077.radikal.ru/1301/49/b048b60431af.jpg
Автора я не знаю
если кому то помог "+"
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу