shape1
shape2
shape3
shape4
shape7
shape8

Вывод денег в казино


Статус
Закрыто для дальнейших ответов.

Naziro

Новичок
Пользователь
26.05.2016
97
1
0
Не нашёл на форуме решения данной проблемы,поэтому обращаюсь к знатокам.

Суть проблемы такая.
Не работает вывод денег из игровых автоматов.
Скрипт пытаюсь вырезать из другого мода(там всё работает,кроме вывода денег).
Так вот,хотелось бы,так сказать,"починить" данную проблему.

Выложу что нашёл в моде.
 

Код:
PutPlayerInSlotMachine(playerid, firstBet=MIN_Bet,  startBalance=0)
{
	if(Gambling[playerid] != G_STATE_NOT_GAMBLING) return print("Y„E …‚PAEЏE");
	new Float:Y = 350.0;
	BetText[playerid]=TextDrawCreate(195.0,Y+58,"");
	TextDrawFont(BetText[playerid],2);
	TextDrawLetterSize(BetText[playerid],0.35,0.8);
	TextDrawSetShadow(BetText[playerid],0);
	TextDrawSetOutline(BetText[playerid],1);
	Gambling[playerid] = G_STATE_READY;
	TextDrawShowForPlayer(playerid,ReadyText);
	TextDrawShowForPlayer(playerid,BetText[playerid]);

	Slots[playerid][0] = random(5);
	Slots[playerid][1] = random(5);
	Slots[playerid][2] = random(5);

	ShowPlayerSlots(playerid,Slots[playerid][0],Slots[playerid][1],Slots[playerid][2]);

	Bet[playerid] = firstBet;

	PlayerInfo[playerid][pBablo] -= startBalance;

	Balance[playerid] = startBalance;

	UpdateBetText(playerid);

	TogglePlayerControllable(playerid,0);
	return 1;
}
ExitPlayerFromSlotMachine(playerid)
{
	if(Gambling[playerid] == G_STATE_NOT_GAMBLING) return 0;
	HideSlotsForPlayer(playerid);
	Gambling[playerid] = G_STATE_NOT_GAMBLING;

	TogglePlayerControllable(playerid,1);

	TextDrawHideForPlayer(playerid,ReadyText);
	TextDrawHideForPlayer(playerid,BetText[playerid]);

	new str[128];
	if(Balance[playerid] > 0) format(str,sizeof(str),"~g~BAЋ ЂA‡AмC: %d$",Balance[playerid]);
	else format(str,sizeof(str),"~r~B‘ ЊOЏPAЏ…‡… BCE ѓEм’‚….",Balance[playerid]);
	GameTextForPlayer(playerid,str,5000,4);
	PlayerInfo[playerid][pBablo] += Balance[playerid];
	return 1;
}
Код:
public Gambler(playerid)
{
	if(Gambling[playerid] != G_STATE_GAMBLING)
	{
		KillTimer(SlotTimer[playerid]);
		SlotTimer[playerid] = -1;
		Gambling[playerid] = G_STATE_NOT_GAMBLING;
		return 0;
	}
	SlotCounter[playerid] -= 1;

	new slot = SlotCounter[playerid];

	if(slot < 10)
	{
		Slots[playerid][2]+=random(3)+1;
	}
	else if(slot < 20)
	{
		Slots[playerid][1]+=random(3)+1;
		Slots[playerid][2]+=random(3)+1;
	}
	else
	{
		Slots[playerid][0]+=random(3)+1;
		Slots[playerid][1]+=random(3)+1;
		Slots[playerid][2]+=random(3)+1;
	}
	if(Slots[playerid][0] >= 6) Slots[playerid][0] = 0;
	if(Slots[playerid][1] >= 6) Slots[playerid][1] = 0;
	if(Slots[playerid][2] >= 6) Slots[playerid][2] = 0;

	ShowPlayerSlots(playerid,Slots[playerid][0],Slots[playerid][1],Slots[playerid][2]);

	if(SlotCounter[playerid] == 0)
	{
		KillTimer(SlotTimer[playerid]);
		SlotTimer[playerid] = -1;
		Gambling[playerid] = G_STATE_DISPLAY;

		if(Slots[playerid][0] == Slots[playerid][1] && Slots[playerid][0] == Slots[playerid][2])
		{
			new Multiplier=1;
			switch(Slots[playerid][0])
			{
			case 0: Multiplier = 25;
			case 1: Multiplier = 100;
			case 2: Multiplier = 250;
			case 3: Multiplier = 500;
			case 4: Multiplier = 1000;
			case 5: Multiplier = 2000;
			}

			new money = floatround(Bet[playerid] * Multiplier * WIN_MULTIPLIER_GLOBAL);
			new str[128];
			format(str,sizeof(str),"~w~ŒO€EƒA: ~g~%d$~w~!",money);
			GameTextForPlayer(playerid,str,5000,4);

			Balance[playerid] += money;

			UpdateBetText(playerid);

			Slots[playerid][0] = random(5);
			Slots[playerid][1] = random(5);
			Slots[playerid][2] = random(5);
		}
		else
		{
			if(Slots[playerid][0] == Slots[playerid][1] || Slots[playerid][1] == Slots[playerid][2] || Slots[playerid][0] == Slots[playerid][2]) GameTextForPlayer(playerid,"ŒO…!",3000,4);
			else GameTextForPlayer(playerid,"®EBEˆE®…E!",3000,4);
		}

		SetTimerEx("PlayAgainTimer",DISPLAY_TIME,0,"d",playerid);
		return 1;
	}
	return 0;
}
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@Naziro, то есть сейчас вы можете даже с нулем денег подойти к автомату и сделать любую ставку, при этом ваш баланс не изменится? Я не могу даже понять какая здесь переменная отвечает за саму ставку...
 

Naziro

Новичок
Пользователь
26.05.2016
97
1
0
@Elrmrnt-Kritik,нет,с нулём пишет "Недостаточно денег". 
Сейчас нужно дописать ввод денег в автомат,и там может всё станет на свои места.

 
Последнее редактирование модератором:

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@Naziro, вместо /bandit попробуйте вставить:

Код:
COMMAND:bandit(playerid, params[])
{
    if(!IsPlayerConnected(playerid)) return false;
    if(sscanf(params, "d", params[0])) return SendClientMessageEx(playerid, COLOR_WHITE, "Введите: /bandit [?????]");
    if(PlayerInfo[playerid][pBablo] < params[0]) return SendClientMessageEx(playerid, COLOR_WHITE, "У вас нет такой суммы");
    for(new i = 0; i < 20; i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, SCHEK_AVT[i][0], SCHEK_AVT[i][1], SCHEK_AVT[i][2]))
        {
            PutPlayerInSlotMachine(playerid,_,params[0]);
            PlayerInfo[playerid][pBablo] += params[0];
            break;
        }
    }
    return 1;
} 
 

KostRH

Новичок
Пользователь
09.11.2015
34
2
0
pBablo альтернатива pMoney (деньги игрока\наличка)
вместо /bandit попробуйте вставить:
PlayerInfo[playerid][pBablo] += params[0];

Эта строка не имеет отношения к слот машине, а выдаст игроку ту сумму которую он внесет в банкомат, то есть будет баг...

 

KostRH

Новичок
Пользователь
09.11.2015
34
2
0
@Naziro,

COMMAND:bandit(playerid, params[])
{
if(!IsPlayerConnected(playerid)) return false;
if(PlayerInfo[playerid][pBablo] < 2001) return SendClientMessageEx(playerid, COLOR_WHITE, "У вас нет такой суммы");
if(IsPlayerInRangeOfPoint(playerid, 2.0, SCHEK_AVT[0], SCHEK_AVT[1], SCHEK_AVT[2]))
{
PlayerInfo[playerid][pBablo] -= 2000;
SetPVarInt(playerid,"Stavka",2000);
if(GetPVarInt(playerid, "Stavka") = 2000) PutPlayerInSlotMachine(playerid);
return 1;
}
return 1;
}
new money = GetPVarInt(playerid,"Stavka") * Multiplier;//Ставку умножаем на выиграш(Это в твоих комбинациях)
money += PlayerInfo[playerid][pBablo]; //Это уже в выдаче денег при победе.
money -= PlayerInfo[playerid][pBablo]; //Это уже в заберет деньги при лузе.
DeletePVar(playerid,"Stavka");// Это обнулит ставку, добавь в победу, и поражение.
 
 
А так если не поможет, то заказывай в скайпе KostRH1996 посмотрю что именно ты пытаешься сделать...

Upd: на крайний случай убери 9 строчку из моего кода, и попробуй напрямую все сделать.

Это тестовый код, если заработает вместо конкретной суммы "2000" используй params

 
Последнее редактирование модератором:

Naziro

Новичок
Пользователь
26.05.2016
97
1
0
@KostRH, мне бы проблему решить,а не "врезать" совершенно другой скрипт.
З.Ы. При вставке в мод вашего скрипта- закрывается павно. 

 

KostRH

Новичок
Пользователь
09.11.2015
34
2
0
@Naziro, ты наверно просто скопировал все  xd  , и это не "Скрипт", я дал код, который можно подкрутить к твоим слот машинам. если ты этого не можешь тебе дорога в стол заказов...

 
Последнее редактирование модератором:

Naziro

Новичок
Пользователь
26.05.2016
97
1
0
@KostRH,Скрипт и есть программный код. Как вы сказали "подкрутил" к своим слот машинам,реакция такая же,как и до него.


Проблема не решена. 

 
Статус
Закрыто для дальнейших ответов.