Просмотр полной версии : [Вопрос] Изменение переменной pMoney
Сделал пикап на респауне с выдочей $100.000
if(pickupid == admmoney) // Admin Money
{
GivePlayerMoney(playerid, 100000);
}
Как сделать чтобы к pMoney прибавлялось $100.000?
Пробовал PlayerInfo[playerid][pMoney] +100000; потом пробовал PlayerInfo[playerid][pMoney] =+100000; Выдаёт ошибки
А вы попробуйте так:
PlayerInfo[playerid][pMoney] += 100000;
#Gabriel
29.12.2014, 13:58
if(pickupid == admmoney)
{
PlayerInfo[playerid][pMoney] += 100000;
return true;
}
Ошибки пиши сюда.
if(pickupid == admmoney)
{
PlayerInfo[playerid][pMoney] += 100000;
return true;
}
Ошибки пиши сюда.
Зачем возврат здесь? Никто не просил завершать паблик преждевременно.
if(pickupid == admmoney) // Admin Money
{
GivePlayerMoney(playerid, 100000);
PlayerInfo[playerid][pMoney] += 100000;
}
В итоге:
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(311) : error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(311) : warning 215: expression has no effect
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(311) : error 001: expected token: ";", but found "]"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(311) : error 029: invalid expression, assumed zero
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(311) : fatal error 107: too many error messages on one line
У Вас энумератора вообще нет. Не удивляюсь, что сохранения аккаунтов тоже нет.
Взял new.pwn с регистрацией и сохранением аккаунтов с этого форума.
Вот часть кода
enum PlayerInfo//Даём название нашему enum
{
pName[MAX_PLAYER_NAME],//Создаём новый массив для записи имени и ставим запятую
pPassword[64],//Создаём новый массив для записи пароля и ставим запятую
pMoney,//Создадим новую переменную для записи денег и ставим запятую
bool: pLogged,//Создадим новую переменную логического типа для записи статистики авторизации и ставим запятую
}
new pInfo[MAX_PLAYERS][PlayerInfo];
public OnPlayerDisconnect(playerid)
{
SavePlayer(playerid);
//Тут остальной код
RemovePlayerInfo(playerid);
return 1;
}
stock SavePlayer(playerid)
{
new account[37];
format(account,sizeof(account),"users/%s.ini",pNick(playerid));
new iniFile = ini_openFile(account);
ini_setString(iniFile, "Пароль", pInfo[playerid][pPassword]);
ini_setInteger(iniFile, "Деньги", pInfo[playerid][pMoney]);
ini_closeFile(iniFile);
return 1;
}
Убери
GivePlayerMoney(playerid, 100000);
Добавь
PlayerInfo[playerid][pMoney] += 100000;
Убери
GivePlayerMoney(playerid, 100000);
Добавь
PlayerInfo[playerid][pMoney] += 100000;
Всёравно ошибки
pInfo[playerid][pMoney] += 100000;
Ооой.. Не заметил. Вообще странно ты сделал, но да ладно.
pInfo[playerid][pMoney] += 100000;
Ответ решён. Большое спасибо. При перезаходе деньги взятые сохраняются.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot