Рекомендованные сообщения



Не найдено.

11 posts in this topic

Данные не сохраняются в таблицу accounts, в столбец money. Как исправить? 

 

 

Спойлер

CMD:givemoney(playerid, params[])
{
    new monid, money;
    if(player_info[playerid][ADMIN] == 0) return 1;
    if(sscanf(params,"ii", monid, money)) return SCM(playerid, COLOR_GREY,"Используйте: /givemoney [ID игрока] [Сумма]");
    player_info[monid][MONEY] += money;
    static const fmt_query[] = "UPDATE `accounts` SET `money` = '%d'";
    return true;
}

 

Share this post


Link to post
Share on other sites

@Rich_Hen Тебе ещё нужно одно значение в UPDATE, по которому будет искаться строка с ником игрока. И изменит ему значение money

@Rich_Hen  типо того

Цитата

static const fmt_query[] = "UPDATE `accounts` SET money = '%d' WHERE name = '%s'",GetName(params[0]),params[1];

 

 

@Rich_Hen Пробуйте

Share this post


Link to post
Share on other sites

@Nekit_Krut18 

Спойлер

C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14437) : error 001: expected token: ";", but found "("
C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14437) : warning 215: expression has no effect
C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14437) : warning 215: expression has no effect
C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14437) : symbol is never used: "GetName"
C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14437) : symbol is never used: "fmt_query"
Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase


1 Error.
 

 

Share this post


Link to post
Share on other sites

@Rich_Henизвиняюсь не то) 

Цитата

static const fmt_query[] = "UPDATE `accounts` SET money = '%d' WHERE name = '%s'";
new query[sizeof(fmt_query)+(-2+2)+(-2+2)];
format(query, sizeof(query),params[1], player_info[params[0]][pName]);
mysql_tquery(dbHandle, query);

 

 

@Rich_Hen Извиняюсь

 @Rich_Hen Извиняюсь

Edited by Nekit_Krut18

Share this post


Link to post
Share on other sites

@Nekit_Krut18 , уже ошибок нету, но все равно не сохраняет (только варнинг C:\Users\Admin\Desktop\mdde\gamemodes\advance.pwn(14461) : symbol is never used: "fmt_query")

Edited by Rich_Hen

Share this post


Link to post
Share on other sites

@Rich_Hen А у вас в таблице accounts, ник игрока под названием столбца 'name'?

И скиньте строку варнинга,это не страшно, он просто говорит что это не используется почему-то

@Rich_Hen Не парьтесь вообще:

Цитата

new string[128];
format(string, sizeof(string), "UPDATE `accounts` SET money=%d WHERE login='%s'", money, player_info[monid][pName]);
mysql_tquery(dbHandle, string, "", "");

 

 

Edited by Nekit_Krut18
Причина: Изменено

Share this post


Link to post
Share on other sites

@Nekit_Krut18 , не name,а login. Но когда я вставлял в код - изменял. 

 

Строка варнинга:     static const fmt_query[] = "UPDATE `accounts` SET money = '%d' WHERE login = '%s'";

Share this post


Link to post
Share on other sites

@Nekit_Krut18 Всё должно работать как часики.

 

 

@Rich_Hen Ну что?

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

Объединил сообщения.

Share this post


Link to post
Share on other sites

@Rich_Hen Лол, попробуйте так.

Цитата

new string[128];
format(string, sizeof(string), "UPDATE `accounts` SET `money` =%d WHERE `login` ='%s'", money, player_info[monid][pName]);
mysql_tquery(dbHandle, string, "", "");

 

 

Share this post


Link to post
Share on other sites
Спойлер

new string[128];
format(string, sizeof(string), "REPLACE INTO `accounts` SET `money` = %d WHERE `login` ='%s'", money, player_info[monid][pName]);
mysql_tquery(dbHandle, string, "", "");

 

Держи

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • .037
      By .037
      в чём может быть проблема? Передаю строку через PR_String, и получаю с клиента бред
      CMD:TestData(playerid, params[]){ new msg[] = "Code_Test"; new BitStream:bs = BS_New(); BS_WriteInt8(bs,30); BS_WriteFloat(bs,0.9); BS_WriteFloat(bs,23.4); BS_WriteString(bs, msg, sizeof msg); PR_SendRPC(bs, playerid, 179); BS_Delete(bs); return 1; } [05:57:27] RPC - Длина  30 | 0.900000 | 23.400000 | I*(!@dp
      И всегда текст разный 

      Хотя принимаю всё нормально:

       
      bool CALLBACK Hok_RPC_BYTE(stRakNetHookParams *params) { if (params->packetId == 179) { SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "Кастомный RPC работает!!!"); byte nameLen; float test; float test1; char szPlayerName[100]; params->bitStream->ResetReadPointer(); params->bitStream->Read(nameLen); params->bitStream->Read(test); params->bitStream->Read(test1); params->bitStream->Read(szPlayerName, 100); params->bitStream->ResetReadPointer(); SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "RPC - Длина %d | %f | %f | %s", nameLen, test , test1, szPlayerName); } return true; };