Вопросы


 

Спойлер

CMD:setskin(playerid,params[])
{
    if(player_info[playerid][u_admin] >=5)
    {
        if(admin_check_alogin[playerid] == 0) return SCM(playerid, color_red, "Вы не авторизовались в панели администратора!");
        if(sscanf(params,"ui",params[0],params[1])) return SCM(playerid,color_orange,"/setskin [ID игрока] [ID скина]");
        if(!IsPlayerConnected(playerid)) return SCM(playerid,-1,"test");
        SetPlayerSkin(params[0],params[1]);
        if(params[1] < 0 || params[1] > 15419) return SCM(playerid,color_orange,"ИД скина от 1 до 15419");
        new mysql_test[144];
        player_info[playerid][u_skin] = 'i';
        mysql_query(dbHandle,"UPDATE `users` SET `u_skin` = 'i'");
        format(mysql_test, sizeof(mysql_test), "UPDATE `users` SET `u_skin` = '%i' WHERE `u_name` = '%s'", player_info[playerid][u_skin], player_info[playerid][u_name]); // делаем строку для запроса
        mysql_query(dbHandle, mysql_test, false); // отправляем звпрос в БД
    }

Помогите,я допустим пишу в команде скин ИД 280,а в бд ставит 315,или ставлю 251,а в бд 205

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

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


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

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

  • 1

@Antoxa39 playerid - игрок, который вызвал команду. 

params[0] - первый аргумент команды (в данном случае ID игрока)

params[1] - второй аргумент команды (в данном случае ID скина). 

player_info[params[0]][u_skin] = params[1];
format(mysql_test, sizeof(mysql_test), "UPDATE `users` SET `u_skin` = '%i' WHERE `u_name` = '%s'", params[1], player_info[params[0]][u_name]); // делаем строку для запроса
mysql_query(dbHandle, mysql_test, false); // отправляем звпрос в БД

 

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


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

@Antoxa39

player_info[params[0]][u_skin] = params[1]; 
/* 
    params[0] - ID игрока, которому выдаем скин; params[1] - ID скина.
    Приравниваем переменную u_skin, дабы потом сохранить значение переменной в базу.
*/

format(mysql_test, sizeof(mysql_test), "UPDATE `users` SET `u_skin` = '%i' WHERE `u_name` = '%s'", params[1], player_info[params[0]][u_name]); // делаем строку для запроса
/*
    Обновляем таблицу `users` (таблица с аккаунтами), приравниваем значение `u_skin` для игрока, у которого ник, например, Name_Surname.
*/

 

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


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

@DEST сейчас затещу

 

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


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

@DEST спасибо большое,я тупенький, обьясните позязя эту строчку)

11 минут назад, DEST сказал:

player_info[params[0]][u_skin] = params[1];

ну и за одно эту)
 


format(mysql_test, sizeof(mysql_test), "UPDATE `users` SET `u_skin` = '%i' WHERE `u_name` = '%s'", params[1], player_info[params[0]][u_name]); // делаем строку для запроса

 

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


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

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

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

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?