• 0
Nestor_Matroskin

[закрыто] fatal error 107; error 029; error 017

Вопросы

I:\Vladik\Namalsk\gamemodes\namalsk.pwn(5692) : warning 225: unreachable code
I:\Vladik\Namalsk\gamemodes\namalsk.pwn(6191) : error 017: undefined symbol "string"
I:\Vladik\Namalsk\gamemodes\namalsk.pwn(6191) : error 017: undefined symbol "string"
I:\Vladik\Namalsk\gamemodes\namalsk.pwn(6191) : error 029: invalid expression, assumed zero
I:\Vladik\Namalsk\gamemodes\namalsk.pwn(6191) : fatal error 107: too many error messages on one line
 

Решил добавить систему банкоматов

Строки ошибки:

if(dialogid == d_bankomat) {
        if(!response) return 1;
        switch(listitem) {
                case 0: {
                        format(string,sizeof(string),"| Информация о балансе на счету:\n\nСостояние банковского счета - $%d",PLAYER_DATA[playerid][data_MONEY]); // pInfo[playerid][data_MONEY] заменяете на кол-во денег игрока из своего мода
                        showPlayerDialog(playerid, 99990" ", string, "Закрыть""");
                }
                case 1: showPlayerDialog(playerid, d_bankomat + 11"Снять деньги со счета","Укажите сумму которую хотите снять со счета:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть");
                case 2: showPlayerDialog(playerid, d_bankomat + 21"Положить деньги на счет","Укажите сумму которую хотите положить на счет:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть");
        }
    }
    if(dialogid == d_bankomat + 1) {
            if(!response) return 1;
            if(100 > strval(inputtext) > 100000 && !strlen(inputtext)) return  showPlayerDialog(playerid, d_bankomat + 11"Снять деньги со счета","Укажите сумму которую хотите снять со счета:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть");//Если игрок ввел сумму больше 100000 или менее 100.
            new BankCash = (strval(inputtext)*BANKOMAT_CASH)/100;
            PLAYER_DATA[playerid][pBank] -= strval(inputtext)+BankCash;//Вычитаем процент и отнимаем деньги с банк.счета
            PLAYER_DATA[playerid][data_MONEY] += strval(inputtext)-BankCash;//Вычитаем процент и получаем деньги на руки
            ApplyAnimation(playerid, "PED""ATM",4.0011001);
    }
    if(dialogid == d_bankomat + 2) {
            if(!response) return 1;
            if(100 > strval(inputtext) > 100000 && !strlen(inputtext)) return  showPlayerDialog(playerid, d_bankomat + 21"Положить деньги на счет","Укажите сумму которую хотите положить на счет:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); //Если игрок ввел сумму больше 100000 или менее 100.
            new BankCash = (strval(inputtext)*BANKOMAT_CASH)/100//Вычисляем % от пользования банкоматом
            PLAYER_DATA[playerid][pBank] += strval(inputtext)-BankCash; //Вычитаем процент и получаем деньги в банк
            PLAYER_DATA[playerid][data_MONEY] -= strval(inputtext)+BankCash; //Вычитаем процент и отнимаем деньги с рук
            ApplyAnimation(playerid, "PED""ATM",4.0011001); //Приминяем анимацию пользования банкоматом
    }

 

Отредактировано пользователем Nestor_Matroskin

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


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0
return true;
   }
            new Float:x,Float:y,Float:z;
            GetPlayerPos(id,x,y,z);
            if(!PlayerToPoint(10.0, playerid, x,y,z))
            {

Ну тут скорее всего из-за того, что вы задействовали код после return (по данному обрывку только это могу сказать)

В алгоритме yes/no, а точнее при нажатие "Y", у вас нет проверки вообще, по этому открывается код того, что другой игрок не в сети:

 

if(PRESSED(KEY_YES))
    {
        if(GetPVarInt(playerid, "yesno") == 0return SendClientMessage(playerid, COLOR_SUNGLOW, "У вас нет активных предложений!");
        if(GetPVarInt(playerid, "yesno") == 1)
        {
            new id = GetPVarInt(playerid,"yesno_playerid");
            if(!IsPlayerConnected(id)) // вот этой строчки не было
            {
                DeletePVar(playerid, "yesno_dice");

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
@Nestor_Matroskin 
format(string,sizeof(string),"| Информация о балансе на счету:\n\nСостояние банковского счета - $%d",PLAYER_DATA[playerid][data_MONEY]); // pInfo[playerid][data_MONEY] заменяете на кол-во денег игрока из своего мода
showPlayerDialog(playerid, 99990" "string"Закрыть""");

В этих строках юзается переменная string, которая не объявлена, строкой выше функции format добавтье её:

new string[144];

И так же попрошу вас скинуть 5690-5695 строчки

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
                return true;
   }
            new Float:x,Float:y,Float:z;
            GetPlayerPos(id,x,y,z);
            if(!PlayerToPoint(10.0, playerid, x,y,z))
            {

 

Так-же хотел спросить, в моде есть система на нажитая клавиши "Y" - принять "N" - отклонить, отклонить работает замечательно, а от когда пробуеш принят то пишет что Игрок не в сети
 вот код

if(PRESSED(KEY_NO))
    {
        if(GetPVarInt(playerid, "yesno") == 0return SendClientMessage(playerid, COLOR_SUNGLOW, "У вас нет активных предложений!");
        if(GetPVarInt(playerid, "yesno") == 1)
        {
            SendClientMessage(playerid, COLOR_SUNGLOW, "Предложение отклонено");
            DeletePVar(playerid, "yesno_dice");
            DeletePVar(playerid, "dice_sum");
            DeletePVar(playerid, "duel_sum");
            DeletePVar(playerid, "yesno_duel");
            DeletePVar(playerid, "yesno_sex");
            DeletePVar(playerid, "yesno_showlic");
            DeletePVar(playerid, "yesno_hi");
            DeletePVar(playerid, "yesno_heal");
            DeletePVar(playerid, "yesno_invite");
            DeletePVar(playerid, "yesno_showpass");
            DeletePVar(playerid, "yesno_showskills");
            DeletePVar(playerid, "yesno_free");
            DeletePVar(playerid, "yesno_playerid");
            DeletePVar(playerid, "yesno_licsell");
            DeletePVar(playerid, "yesno_finvite");
            DeletePVar(playerid, "yesno");
            return true;
        }
    }
    
    if(PRESSED(KEY_YES))
    {
        if(GetPVarInt(playerid, "yesno") == 0return SendClientMessage(playerid, COLOR_SUNGLOW, "У вас нет активных предложений!");
        if(GetPVarInt(playerid, "yesno") == 1)
        {
            new id = GetPVarInt(playerid,"yesno_playerid");
            {
                DeletePVar(playerid, "yesno_dice");
                DeletePVar(playerid, "dice_sum");
                DeletePVar(playerid, "duel_sum");
                DeletePVar(playerid, "yesno_duel");
                DeletePVar(playerid, "yesno_sex");
                DeletePVar(playerid, "yesno_showlic");
                DeletePVar(playerid, "yesno_showpass");
                DeletePVar(playerid, "yesno_hi");
                DeletePVar(playerid, "yesno_invite");
                DeletePVar(playerid, "yesno_heal");
                DeletePVar(playerid, "yesno_showskills");
                DeletePVar(playerid, "yesno_free");
                DeletePVar(playerid, "yesno_licsell");
                DeletePVar(playerid, "yesno_playerid");
                DeletePVar(playerid, "yesno_finvite");
                DeletePVar(playerid, "yesno");
                SendClientMessage(playerid, COLOR_SUNGLOW, "Игрок не в сети!");
                return true;
   }
            new Float:x,Float:y,Float:z;
            GetPlayerPos(id,x,y,z);
            if(!PlayerToPoint(10.0, playerid, x,y,z))
            {
                DeletePVar(playerid, "yesno_dice");
                DeletePVar(playerid, "dice_sum");
                DeletePVar(playerid, "duel_sum");
                DeletePVar(playerid, "yesno_duel");
                DeletePVar(playerid, "yesno_sex");
                DeletePVar(playerid, "yesno_showlic");
                DeletePVar(playerid, "yesno_invite");
                DeletePVar(playerid, "yesno_hi");
                DeletePVar(playerid, "yesno_showpass");
                DeletePVar(playerid, "yesno_heal");
                DeletePVar(playerid, "yesno_showskills");
                DeletePVar(playerid, "yesno_free");
                DeletePVar(playerid, "yesno_licsell");
                DeletePVar(playerid, "yesno_finvite");
                DeletePVar(playerid, "yesno_playerid");
                DeletePVar(playerid, "yesno");
                SendClientMessage(playerid, COLOR_SUNGLOW, "Игрок слишком далеко от Вас!");
                return true;

            }

 

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


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

  • Последние посетители   0 пользователей онлайн

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar