PDA

Просмотр полной версии : [Вопрос] Проверка на деньги!



BaBuIIIkaDrifteR
24.12.2014, 15:41
Помогите сделать проверку на деньги что бы игрок мог брать 50к 1 раз, но при это не важно сколько у него уже денег. Чет у меня не получается :(ъ



if(pickupid == podarok)
{
if(PlayerInfo[playerid][Money] >= 50000) return SendClientMessage(playerid, COLOR_GREY, "Бонус только для новичков");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00, "{FFCC00}Вы получили 50000$!");
}

I'm Cobra
24.12.2014, 16:06
GetPlayerMoney(playerid) > 50000
Вот правильная проверка

BaBuIIIkaDrifteR
24.12.2014, 16:36
GetPlayerMoney(playerid) > 50000
Вот правильная проверка
Выходит так будет да?

if(pickupid == podarok)
{
if(GetPlayerMoney(playerid) > 50000) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00, "{FFCC00}Вы получили 50000$!");
}

- - - Добавлено - - -

Не выдает денег таким способом. Пишет "Вы уже брали денег" И если у меня 100к так пишет, и если у меня 0 денег так пишет.

I'm Cobra
24.12.2014, 16:39
Выходит так будет да?

if(pickupid == podarok)
{
if(GetPlayerMoney(playerid) > 50000) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00, "{FFCC00}Вы получили 50000$!");
}

- - - Добавлено - - -

Не выдает денег таким способом. Пишет "Вы уже брали денег" И если у меня 100к так пишет, и если у меня 0 денег так пишет.


if(GetPlayerMoney(playerid) < 50000)

Shayba
24.12.2014, 16:44
Попробуй так.


else if(pickupid == pickupbonus)
{
if(PlayerInfo[playerid][pLevel] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, "{00FF00}Только для новичков!!!");
return 1;
}
SendClientMessage(playerid,0xFFFF00AA,"[Информация]: Вы получили свой бонус!!!");
GivePlayerMoney(playerid, 50000);
}


- - - Добавлено - - -


Попробуй так.


else if(pickupid == pickupbonus)
{
if(PlayerInfo[playerid][pLevel] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, "{00FF00}Только для новичков!!!");
return 1;
}
SendClientMessage(playerid,0xFFFF00AA,"[Информация]: Вы получили свой бонус!!!");
GivePlayerMoney(playerid, 50000);
}


Текст сообщения конечно можно поменять.

I'm Cobra
24.12.2014, 16:52
Вот готовый код:


if(pickupid == podarok)
{
if(GetPVarInt(playerid, "gift") == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00, "{FFCC00}Вы получили 50000$!");
SetPVarInt(playerid, "gift", 1);
}

BaBuIIIkaDrifteR
24.12.2014, 16:53
Прчем тут проверка на ЛВЛ мне нужна проверка на деньги -_-
Попробуй так.


else if(pickupid == pickupbonus)
{
if(PlayerInfo[playerid][pLevel] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, "{00FF00}Только для новичков!!!");
return 1;
}
SendClientMessage(playerid,0xFFFF00AA,"[Информация]: Вы получили свой бонус!!!");
GivePlayerMoney(playerid, 50000);
}


- - - Добавлено - - -



Текст сообщения конечно можно поменять.

I'm Cobra
24.12.2014, 16:57
Вот готовый код:


if(pickupid == podarok)
{
if(GetPVarInt(playerid, "gift") == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00, "{FFCC00}Вы получили 50000$!");
SetPVarInt(playerid, "gift", 1);
}

Попробуй мой код

BaBuIIIkaDrifteR
24.12.2014, 16:57
if(GetPlayerMoney(playerid) < 50000)
Теперь проверка не работает могу брать бесконечно денег

I'm Cobra
24.12.2014, 16:58
Теперь проверка не работает могу брать бесконечно денег


if(pickupid == podarok)
{
if(GetPVarInt(playerid, "gift") == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00FF, "Вы получили 50000$!");
SetPVarInt(playerid, "gift", 1);
}

BaBuIIIkaDrifteR
24.12.2014, 17:02
if(pickupid == podarok)
{
if(GetPVarInt(playerid, "gift") == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00FF, "Вы получили 50000$!");
SetPVarInt(playerid, "gift", 1);
}

Твой код работает. НО. После перезахода на сервер опять можно брать деньги.

I'm Cobra
24.12.2014, 17:05
Твой код работает. НО. После перезахода на сервер опять можно брать деньги.

Тогда сделай так. Добавь в PlayerInfo pGift и сделай загрузку брал ли игрок подарок или нет, а потом измени код на:


if(pickupid == podarok)
{
if(PlayerInfo[playerid][pGift] == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00FF, "Вы получили 50000$!");
PlayerInfo[playerid][pGift] = 1;
}

и добавь сохранение.

BaBuIIIkaDrifteR
24.12.2014, 17:22
Тогда сделай так. Добавь в PlayerInfo pGift и сделай загрузку брал ли игрок подарок или нет, а потом измени код на:


if(pickupid == podarok)
{
if(PlayerInfo[playerid][pGift] == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00FF, "Вы получили 50000$!");
PlayerInfo[playerid][pGift] = 1;
}

и добавь сохранение.

Типо так:


pGift


ini_setInteger(iniFile,"pGift",Player[playerid][pGift]);


ini_getInteger(iniFile,"pGift",Player[playerid][pGift]);


Player[playerid][pGift] = 0;


if(pickupid == podarok)
{
if(Player[playerid][pGift] == 1) return SendClientMessage(playerid, 0xFF0000FF, "Вы уже брали деньги!");
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, 0xFFCC00FF, "Вы получили 50000$!");
Player[playerid][pGift] = 1;
}

I'm Cobra
24.12.2014, 17:24
Да, пробуйте.

BaBuIIIkaDrifteR
24.12.2014, 17:29
Вот спасибо тебе!!!! Помог! Все работает!
С новым годом тебя!
Тема закрыта
Да, пробуйте.

I'm Cobra
24.12.2014, 17:51
Вот спасибо тебе!!!! Помог! Все работает!
С новым годом тебя!
Тема закрыта

Рад помочь! И тебя с новый годом :)