Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Тотализатор[RLS]

Статус
В этой теме нельзя размещать новые ответы.

Sergo

Умник
Здравствуйте уважаемы пользователи.
Делать было нечего,и решил написать несложную систему тотализатора.
Видео

Ну а теперь начнём.
Ко всем define
PHP:
#define TOTAL 2538
#define COLOR_ORANGE2 0xFF8000FF
Ко всем New:
PHP:
new namec1[50];
new namec2[50];
new names[50];
new coaf1;
new coaf2;
new coaf3;
new stavki;
new pics;
new stav[MAX_PLAYERS];
new post[MAX_PLAYERS];
В public OnPlayerPickUpPickup:
PHP:
	if(pickupid == pics)
	{
	    if(stavki == 1)
		{
			new string1[256];
			format(string1,sizeof(string1),"- %s.Коэффициент[%d]\n- %s.Коэффициент[%d]\n- Ничья.Коэффициент[%d]",namec1,coaf1,namec2,coaf2,coaf3);
	    	SPD(playerid,TOTAL+7,DIALOG_STYLE_LIST,"Доступные ставки",string1,"Выбрать","Отмена");
		}
		else return SendClientMessage(playerid,COLOR_WHITE,"Нет доступных ставок");
	}
В OnGameModeInti:
PHP:
pics = CreatePickup(1314,2,377.4673,-1886.6239,7.8359);
В OnDialogResponse
PHP:
		case TOTAL:
	{
		if(response)
		{
		    strmid (names, inputtext, 0, strlen(inputtext), 255);
			SPD(playerid,TOTAL+1,DIALOG_STYLE_INPUT,"Название","Введите название команды №1","Далее","Отмена");
		}
	}
	case TOTAL+1:
	{
		if(response)
		{
			strmid (namec1, inputtext, 0, strlen(inputtext), 255);
			SPD(playerid,TOTAL+2,DIALOG_STYLE_INPUT,"Название","Введите название команды №2","Далее","Отмена");
		}
	}
	case TOTAL+2:
	{
		if(response)
		{
			strmid (namec2, inputtext, 0, strlen(inputtext), 255);
			SPD(playerid,TOTAL+3,DIALOG_STYLE_INPUT,"Коэффициент","Введите коэффициент для команды №1","Далее","Отмена");
		}
	}
	case TOTAL+3:
	{
		if(response)
		{
			coaf1 = strval(inputtext);
			SPD(playerid,TOTAL+4,DIALOG_STYLE_INPUT,"Коэффициент","Введите коэффициент для команды №2","Далее","Отмена");
		}
	}
	case TOTAL+4:
	{
		if(response)
		{
			coaf2 = strval(inputtext);
			SPD(playerid,TOTAL+5,DIALOG_STYLE_INPUT,"Коэффициент","Введите коэффициент ничьи","Далее","Отмена");
		}
	}
	case TOTAL+5:
	{
		if(response)
		{
			coaf3 = strval(inputtext);
			new string1[256];
			format(string1,sizeof(string1),"Вид спорта -%s\nНазвание команды №1 - %s\nНазвание команды №2 - %s\nКоэффициент команды №1 - %d\nКоэффициент команды №2 - %d\nКоэффициент ничьи - %d",names,namec1,namec2,coaf1,coaf2,coaf3);
			SPD(playerid,TOTAL+6,DIALOG_STYLE_MSGBOX,"Тотализатор",string1,"Готово","Отмена");
		}
	}
	case TOTAL+6:
	{
		if(response) 
		{
		    new all1[256];
		    format(all1,sizeof(all1),"Открыто принятие ставок. Вид спорта - %s. %s против %s. Ставки можно сделать на пляже Лос Сантоса",names,namec1,namec2);
			stavki = 1;
		    SendClientMessageToAll(COLOR_ORANGE2, all1);
		}
		else return SendClientMessage(playerid,COLOR_ORANGE2,"Вы отменили создание тотализатора");
	}
	case TOTAL+7:
	{
		if(response)
		{
  			switch(listitem)
     		{
     		    case 0: SPD(playerid,TOTAL+8,DIALOG_STYLE_INPUT,"Ставка","Введите сумму которую хотите поставить","Готово","Отмена");
     		    case 1: SPD(playerid,TOTAL+9,DIALOG_STYLE_INPUT,"Ставка","Введите сумму которую хотите поставить","Готово","Отмена");
				case 2: SPD(playerid,TOTAL+10,DIALOG_STYLE_INPUT,"Ставка","Введите сумму которую хотите поставить","Готово","Отмена");
     		}
		}
	}
	case TOTAL+8:
	{
		if(response)
		{
		    stav[playerid] = strval(inputtext);
		    if(PlayerInfo[playerid][pCash] < stav[playerid]) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег");
		    if(stav[playerid] < 1 || stav[playerid] > 10000000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя поставить меньше 1 вирта и больше 10000000 вирт.");
			format(string,256,"Вы сделали ставку в размере %d. Если вы выйграите вы получите %d",stav[playerid],stav[playerid]*coaf1);
			PlayerInfo[playerid][pCash] -= stav[playerid];
			SendClientMessage(playerid,COLOR_RED,string);
			SendClientMessage(playerid,COLOR_RED,"(( Если вы покините игру вы ничего не выйграите ))");
			post[playerid] = 1;
			OnPlayerUpdateRL(playerid);
		}
	}
	case TOTAL+9:
	{
		if(response)
		{
		    stav[playerid] = strval(inputtext);
		    if(PlayerInfo[playerid][pCash] < stav[playerid]) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег");
		    if(stav[playerid] < 1 || stav[playerid] > 10000000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя поставить меньше 1 вирта и больше 10000000 вирт.");
			format(string,256,"Вы сделали ставку в размере %d. Если вы выйграите вы получите %d",stav[playerid],stav[playerid]*coaf2);
			PlayerInfo[playerid][pCash] -= stav[playerid];
			SendClientMessage(playerid,COLOR_RED,string);
			SendClientMessage(playerid,COLOR_RED,"(( Если вы покините игру вы ничего не выйграите ))");
			post[playerid] = 2;
			OnPlayerUpdateRL(playerid);
		}
	}
	case TOTAL+10:
	{
		if(response)
		{
		    stav[playerid] = strval(inputtext);
		    if(PlayerInfo[playerid][pCash] < stav[playerid]) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег");
		    if(stav[playerid] < 1 || stav[playerid] > 10000000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя поставить меньше 1 вирта и больше 10000000 вирт.");
			format(string,256,"Вы сделали ставку в размере %d. Если вы выйграите вы получите %d",stav[playerid],stav[playerid]*coaf3);
			PlayerInfo[playerid][pCash] -= stav[playerid];
			SendClientMessage(playerid,COLOR_RED,string);
			SendClientMessage(playerid,COLOR_RED,"(( Если вы покините игру вы ничего не выйграите ))");
			post[playerid] = 3;
			OnPlayerUpdateRL(playerid);
		}
	}
	case TOTAL+11:
	{
		if(response)
		{
			switch(listitem)
     		{
     			case 0:
				{
					foreach(new i : Player)
					{
	    				if(post[i] == 1)
						{
                        	format(string,256,"Поздравляем ваша ставка выйграла. Ваш приз %d",stav[playerid]*coaf1);
                        	SendClientMessage(i,COLOR_RED,string);
                        	PlayerInfo[i][pCash] += stav[playerid]*coaf1;
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 2)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 3)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					coaf1 = 0;
					coaf2 = 0;
					coaf3 = 0;
					stavki = 0;
				}
				case 1:
				{
					foreach(new i : Player)
					{
	    				if(post[i] == 1)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 2)
						{
     						format(string,256,"Поздравляем ваша ставка выйграла. Ваш приз %d",stav[playerid]*coaf2);
                        	SendClientMessage(i,COLOR_RED,string);
                        	PlayerInfo[i][pCash] += stav[playerid]*coaf2;
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 3)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					coaf1 = 0;
					coaf2 = 0;
					coaf3 = 0;
					stavki = 0;
				}
				case 2:
				{
					foreach(new i : Player)
					{
	    				if(post[i] == 1)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 2)
						{
                        	SendClientMessage(i,COLOR_RED,"Ваша ставка проиграла.");
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					foreach(new i : Player)
					{
	    				if(post[i] == 3)
						{
							format(string,256,"Поздравляем ваша ставка выйграла. Ваш приз %d",stav[playerid]*coaf3);
                        	SendClientMessage(i,COLOR_RED,string);
                        	PlayerInfo[i][pCash] += stav[playerid]*coaf3;
                        	stav[i] = 0;
                        	post[i] = 0;
	    				}
					}
					coaf1 = 0;
					coaf2 = 0;
					coaf3 = 0;
					stavki = 0;
				}
     		}
     		OnPlayerUpdateRL(playerid);
		}
	}
У кого YCMD:
PHP:
YCMD:atotal(playerid, params[], help)
{
	SPD(playerid, TOTAL, DIALOG_STYLE_INPUT, "Вид спорта","Введите название спорта\nПример: 'Футбол'", "Далее", "Отмена");
    return true;
}
YCMD:stotal(playerid, params[], help)
{
	new konec[256];
	format(konec,sizeof(konec),"-%s\n-%s\nНичья",namec1,namec2);
	SPD(playerid,TOTAL+11,DIALOG_STYLE_LIST,"Итоги",konec,"Готово","Отмена");
	return true;
}
У кого не YCMD то в OnPlayerCommandText
PHP:
if(strcmp(cmd,"/atotal",true)==0)
{
	SPD(playerid, TOTAL, DIALOG_STYLE_INPUT, "Вид спорта","Введите название спорта\nПример: 'Футбол'", "Далее", "Отмена");
    return true;
}
if(strcmp(cmd,"/stotal",true)==0)
{
	new konec[256];
	format(konec,sizeof(konec),"-%s\n-%s\nНичья",namec1,namec2);
	SPD(playerid,TOTAL+11,DIALOG_STYLE_LIST,"Итоги",konec,"Готово","Отмена");
	return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу