Question

Приветствую всех. Недавно решил перевести мод с R39-6 на R41-4. Справился практически со всеми новыми функциями, заменил старые на актуальные, но столкнулся с проблемой. Точнее с ошибкой "ошибка 035: несоответствие типа аргумента (аргумент 2)" (ниже пример, где эта ошибка проявляется). Проявление появилось после обновления cache_get_row_int на cache_get_value_name_int и cache_get_row на cache_get_value_name. В чем может быть проблема? Суть ошибки я понял, но не смог найти причину :( 

Спойлер

    PI[playerid][pID] = cache_get_value_name_int(0, 0, dbHandle); // id

    cache_get_value_name(0, 3, PI[playerid][pLastIP], dbHandle, 16); // ip

    cache_get_value_name(0, 4, PI[playerid][pNumberVehicle], dbHandle, 64); // veh_number

    PI[playerid][pRegVehicle] = cache_get_value_name_int(0, 5, dbHandle); // veh_reg

    PI[playerid][pAdmin] = cache_get_value_name_int(0, 6, dbHandle); // admin

 

Share this post


Link to post

4 answers to this question

  • 0

@heazych, в версии R41-4 функции получения значений из набора результатов возвращают результат (успех/неуспех), а не само значение, как это было прежде. Соответственно, приводите свой код к следующему виду:

cache_get_value_index_int(00, PI[playerid][pID]); // id
cache_get_value_name(03, PI[playerid][pLastIP]); // ip
cache_get_value_name(04, PI[playerid][pNumberVehicle]); // veh_number
cache_get_value_name_int(05, PI[playerid][pRegVehicle]); // veh_reg
cache_get_value_name_int(06, PI[playerid][pAdmin]); // admin

Официальная документация – здесь.

Share this post


Link to post
  • 0

@Cawfee Спасибо, ошибки пропали, но возник вопрос. У меня идут разделения по скиллам (1 спойлер), мне их прописывать как во 2 спойлере?
 

Спойлер
    PI[playerid][pGunSkill][0] = cache_get_value_name_int(0, 63, PI[playerid][pGunSkill][0]); // sdpistol
    PI[playerid][pGunSkill][1] = cache_get_value_name_int(0, 64, dbHandle); // deserteagle
    PI[playerid][pGunSkill][2] = cache_get_value_name_int(0, 65, dbHandle); // shotgun
    PI[playerid][pGunSkill][3] = cache_get_value_name_int(0, 66, dbHandle); // mp5
    PI[playerid][pGunSkill][4] = cache_get_value_name_int(0, 67, dbHandle); // ak47
    PI[playerid][pGunSkill][5] = cache_get_value_name_int(0, 68, dbHandle); // m4
    PI[playerid][pGunSkill][6] = cache_get_value_name_int(0, 69, dbHandle); // pistol
    PI[playerid][pGunSkill][7] = cache_get_value_name_int(0, 70, dbHandle); // microuzi
Спойлер
cache_get_value_name_int(0, "pGunSkill0", PI[playerid][pGunSkill][0]); // sdpistol

 

Share this post


Link to post
  • 0

@heazych, я так понимаю столбцы имеют названия pGunSkill0, pGunSkill1, ..., pGunSkill6?

Share this post


Link to post
  • 0

@Cawfee Стоп, я походу допёр...

atom_cikUaKtRWA.png

Получается, что я сейчас впустую потратил 10 минут...Эх, но всё равно спасибо - основную мою головную боль Вы решили :D

Заметка от keyl , создано

2.8. Если вы нашли ответ на свой вопрос, рекомендуется поощрить автора лучшего ответа поднятием репутации, а также обязательно пометить ответ на вопрос лучшим.  Как пометить ответ лучшим?

Устное предупреждение.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Tufxgod
      By Tufxgod
      Пойду на проект в качестве разработчика.
      Опыт в павн 2 года, умею писать системы любой сложности, владею mysql.
      Пишите в лс!
    • tivan666ban
      By tivan666ban
      дедуги в консоли при подключении к серверу: [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
      [debug]  Stack pointer (STK) is 0xFFFEC394, heap pointer (HEA) is 0x1B40
      [debug] AMX backtrace:
      [debug] #0 00000000 in public OnPlayerConnect () in Untitled.amx