• 0
legendaaa29@mail.ru

[закрыто] не понимаю что означают ерроры вроде все правильно | паспорт

Вопросы

всем привет пишу код на получение паспорта и такая проблема

(538) : error 029: invalid expression, assumed zero
C:\Users\USER\Desktop\0.5 TRINITY - ROMAN NEVKOV\gamemodes\new.pwn(540) : error 010: invalid function or declaration

 

вот строки

538:

else (pickupid == paspick)

540:

if(pInfo[playerid][pPassport] == 1return SendClientMessage(playerid, COLOR_RED, "Ó âàñ óæå åñòü ïàñïîðò!");

 

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


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

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

  • 1
public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == paspick)
    {
    if(pInfo[playerid][pPassport] == 1return SendClientMessage(playerid, COLOR_RED, "У вас уже есть паспорт!");
    ShowPlayerDialog(playerid,7654,DIALOG_STYLE_MSGBOX,"Подтверждение","Вы точно хотите получить паспорт??","Да","Нет");
}

 

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


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

Объясняю.

Оператор else if на русском — "или если", оператор else на русском — "или".

Если я сам все правильно понимаю, то оператор 'else' обычно принимает противоположное условие от прошлого, хотя стаж у меня уже больше 3 лет.
В теории я сам не силен, поэтому объясняю, как я это понимаю.

Рассмотрим варианты:

// создаем переменную.
new test = 1;

// этот вариант подходит, если мы переменную проверяем на определенное значение.
if(test == 1) SendClientMessage(playerid, -1"test равен одному");
else SendClientMessage(playerid, -1"test не равен одному");

// этот вариант подходит, если мы переменную проверяем на положительное число или не равна ли она нулю.
// также, этот вариант можно использовать, если мы хотим проверить переменную/массив на наличие числа/данных.
if(test) SendClientMessage(playerid, -1"test не равна нулю");
else SendClientMessage(playerid, -1"test равна нулю");

// теперь проверим варианты с оператором 'else if'.
// этот вариант подходит, если мы переменную проверяем на определенное значение.
if(test == 1) SendClientMessage(playerid, -1"test равен одному");
else if(test != 1) SendClientMessage(playerid, -1"test не равен одному");
// или
if(test == 1) SendClientMessage(playerid, -1"test равен одному");
else if(test == 2) SendClientMessage(playerid, -1"test равен двум");

// этот вариант подходит, если мы переменную проверяем на положительное число или не равна ли она нулю.
// также, этот вариант можно использовать, если мы хотим проверить переменную/массив на наличие числа/данных.
if(test) SendClientMessage(playerid, -1"test не равна нулю");
else if(!test) SendClientMessage(playerid, -1"test равна нулю");

 

Отредактировано пользователем ʟᴀsᴛ ᴇᴍᴘᴇʀᴏʀ.

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


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

Оператор else не может содержать условий. Вам нужен оператор else if.

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


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

@Cawfee (538) : error 029: invalid expression, assumed zero
C:\Users\USER\Desktop\0.5 TRINITY - ROMAN NEVKOV\gamemodes\new.pwn(538) : warning 215: expression has no effect
C:\Users\USER\Desktop\0.5 TRINITY - ROMAN NEVKOV\gamemodes\new.pwn(538) : error 001: expected token: ";", but found "if"
C:\Users\USER\Desktop\0.5 TRINITY - ROMAN NEVKOV\gamemodes\new.pwn(540) : error 010: invalid function or declaration

это я поставил else if

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


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

@legendaaa29@mail.ru, где именно? Дайте с 530 по 545 строчки кода.

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


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

@Cawfee 

public OnPlayerPickUpPickup(playerid, pickupid)
else if(pickupid == paspick)
    {
    if(pInfo[playerid][pPassport] == 1return SendClientMessage(playerid, COLOR_RED, "У вас уже есть паспорт!");
    ShowPlayerDialog(playerid,7654,DIALOG_STYLE_MSGBOX,"Подтверждение","Вы точно хотите получить паспорт??","Да","Нет");
}

538 это else if

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


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

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

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

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

    • Sasha123452
      От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины).
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • Миша_Cherkes
      От Миша_Cherkes
      Всем привет ребята помогите скачал мод с интернета начал закидывать его на хостинг и столкнулся с проблемой
       
      Не знаю как решить данную проблему уже и с плагинами игрался и что только не делал
       
      Данная проблема в этом моде "тык" может кто-то уже с ним работал и будет проще ответить на мой вопрос 
    • pawnorus
      От pawnorus
      Приветствую, взял чужой мод под основу и никак не могу удалить лишнее при регистрации персонажа (выбор скина, пола, возраста, реферал)
      За помощь в удалении могу предложить сумму от 50 рублей, далее по договоренности
      связь tg https://t.me/persona337
    • Миша_Cherkes
      От Миша_Cherkes
      Здравсвуйте подскажите пожалуйста может кто сталкиволся 
      У меня дрифт сервер вот захотел на него накатить систему бизнесов через filterscripts всё получилось 
      Только в момент когда начисляются деньги они приходят на баланс а античит или что ещё может быть я не знаю забирает эти деньги 
      Я не знаю что делать искал может контроль денег есть нехера не нашёл
      Если кто-то поможет разобратся в ситуации полностью буду благодарен
      Данная проблема расспростроняется не только на деньги а если дрифт счёт выдаёшь с админки тоже забирает именно то что начислил