Вопросы

Всем привет.

У меня есть команда для ОПГ для продажи оружия, но продавать можно только на своей территории. Вот команда:

CMD:sellgun(playerid, params[])
{
    if(IsAGang(playerid))
    {
        new full = 0;
        for(new i; i < MAX_GZONE;i++)
        {
            if(PlayerToKvadrat(playerid,GZMZ[i][gCoords][0], GZMZ[i][gCoords][1],GZMZ[i][gCoords][2],GZMZ[i][gCoords][3]) && ZoneOnBattle[i] == 0)
            {
                if(sscanf(params, "udd", params[0], params[1], params[2])) return SendClientMessage(playerid, COLOR_RED, "[Информация] {FFFFFF}Используйте: /sellgun [id игрока] [патроны] [Цена]");
                if(!IsPlayerConnected(params[0]) || params[0] == playerid) return SendClientMessage(playerid,CWHITE,"Неверный ID игрока");
                if(GetPlayerDistanceToPlayer(playerid,params[0]) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(params[0])) return SendClientMessage(playerid,CWHITE,"Вы далеко друг от друга");
                if(params[2] > 30000 || params[2] < 1) return SendClientMessage(playerid,CWHITE,"Цена должна быть от 1 до 30000.");
                if(params[1] > 150 || params[1] < 1) return SendClientMessage(playerid,CWHITE,"Неверное к-во патронов 1 до 150");
                new weaponid = GetPlayerWeapon(playerid);
                new ammo = GetPlayerAmmo(playerid);
                if(!weaponid) return SendClientMessage(playerid,CWHITE,"Возьмите в руку то оружие, которое хотите продать");
                if(ammo < params[1]) return SendClientMessage(playerid,CWHITE,"У вас недостаточно патронов");
                SetPVarInt(playerid,"gunoffee",params[0]);
                SetPVarInt(params[0],"gunoffee",params[0]);
                SetPVarInt(params[0],"gunoffer",playerid);
                SetPVarInt(params[0],"gunprice",params[2]);
                SetPVarInt(params[0],"gunammo",params[1]);
                SetPVarInt(params[0],"gunid",weaponid);
                SetPVarInt(params[0],"pxa",ammo);
                new weapname[24];
                GetWeaponName(weaponid,weapname,24);
                SFCM(playerid,CINFO,"Вы предложили {FFFFFF}%s купить у вас {FFFFFF}%s за {FFFFFF}%d рублей. Патронов: {FFFFFF}%d",pData[params[0]][pNickname],weapname,params[2],params[1]);
                SFCM(params[0],CINFO,"%s предложил вам купить {FFFFFF}%s за {FFFFFF}%d рублей. Патронов: {FFFFFF}%d",pData[playerid][pNickname],weapname,params[2],params[1]);
                SendClientMessage(params[0],CGREEN,"{33AAFF}Нажмите {f6ff00}Y {33AAFF}что-бы принять предложение или {c54d13}N {33AAFF}для отказа");
                break;
            }
        }
        if(!full) return SendClientMessage(playerid, COLOR_GREY, "Нужно быть на своей территории");
    }
    return true;

А что бы продавать можно было где угодна, будет так: ( Это вопрос )

CMD:sellgun(playerid, params[])
{
    if(IsAGang(playerid))
    {
                if(sscanf(params, "udd", params[0], params[1], params[2])) return SendClientMessage(playerid, COLOR_RED, "[Информация] {FFFFFF}Используйте: /sellgun [id игрока] [патроны] [Цена]");
                if(!IsPlayerConnected(params[0]) || params[0] == playerid) return SendClientMessage(playerid,CWHITE,"Неверный ID игрока");
                if(GetPlayerDistanceToPlayer(playerid,params[0]) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(params[0])) return SendClientMessage(playerid,CWHITE,"Вы далеко друг от друга");
                if(params[2] > 30000 || params[2] < 1) return SendClientMessage(playerid,CWHITE,"Цена должна быть от 1 до 30000.");
                if(params[1] > 150 || params[1] < 1) return SendClientMessage(playerid,CWHITE,"Неверное к-во патронов 1 до 150");
                new weaponid = GetPlayerWeapon(playerid);
                new ammo = GetPlayerAmmo(playerid);
                if(!weaponid) return SendClientMessage(playerid,CWHITE,"Возьмите в руку то оружие, которое хотите продать");
                if(ammo < params[1]) return SendClientMessage(playerid,CWHITE,"У вас недостаточно патронов");
                SetPVarInt(playerid,"gunoffee",params[0]);
                SetPVarInt(params[0],"gunoffee",params[0]);
                SetPVarInt(params[0],"gunoffer",playerid);
                SetPVarInt(params[0],"gunprice",params[2]);
                SetPVarInt(params[0],"gunammo",params[1]);
                SetPVarInt(params[0],"gunid",weaponid);
                SetPVarInt(params[0],"pxa",ammo);
                new weapname[24];
                GetWeaponName(weaponid,weapname,24);
                SFCM(playerid,CINFO,"Вы предложили {FFFFFF}%s купить у вас {FFFFFF}%s за {FFFFFF}%d рублей. Патронов: {FFFFFF}%d",pData[params[0]][pNickname],weapname,params[2],params[1]);
                SFCM(params[0],CINFO,"%s предложил вам купить {FFFFFF}%s за {FFFFFF}%d рублей. Патронов: {FFFFFF}%d",pData[playerid][pNickname],weapname,params[2],params[1]);
                SendClientMessage(params[0],CGREEN,"{33AAFF}Нажмите {f6ff00}Y {33AAFF}что-бы принять предложение или {c54d13}N {33AAFF}для отказа");
                break;
            }
    return true;

Верно?

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

  • 0

да... (смысл просто задавать вопрос когда можно протестить её за 5 сек...)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • bogdanov
      От bogdanov
      Возможно ли добавить свой скин не заменяя старого? Тоесть новая моделька со своим названием и тд? Как это можно сделать