Мне хочется сделать скрипт на игру в кости. Ну то есть играют 2 человека, один предлагает ставку, другой принимает или отклоняет и всё это производится в чате, а не на диалоговых окнах(так проще будет сделать скрипт мне кажется), естественно надо чтобы игра в кости работала только в интерьере. Если есть такой скрипт, то скиньте пожалуйста. А если нету, то помогите по созданию этого скрипта. Нужно сделать типо как на амазинге.
Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.
Как сделать простенькие скрипт на игру в кости?(Казино)
Лучший Ответ Elrmrnt-Kritik , 25 Июнь 2016 - 17:30
В общем сделал, но смотри... Я-то не профессионал, так что код на слабом уровне сделал. Для солидности сделал все же сделал подтверждение желания играть на диалога (DIALOG_STYLE_MSGBOX). Проверку на нахождение в интерьерах если нужно делаешь сам, я лишь сделал ограничение зоны (в какой зоне можно использовать данную команду, если что добавишь еще координаты). Также, по-хорошему, стоит добавить проверку на наличие у игрока костей, которые покупаются в том же 24/7, но не знаю какие у вас переменные... Делайте сами.
Непосредственно код в OnPlayerCommandText
if(strcmp(cmd, "/кости",true) == 0)
{
if(IsPlayerConnected(playerid))//Проверяем находится ли игрок авторизированным на сервере
{
if(PlayerToPoint(10.0, playerid, 2528.2769,-2132.0132,21.9640))//Координаты, в радиусе 10 метров от которой работает данная команда
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))return SendClientMessage(playerid, 0xFFFFFFFF, "Введите: /кости [id]");
giveplayerid = ReturnUser(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if(playerid != giveplayerid)
{
if(IsPlayerConnected(giveplayerid))//Проверяет находится ли второй игрок авторизированным на сервере
{
new string3[100];
format(string3,sizeof(string3),"Игрок %s предложил вам сыграть в кости. Вы согласны?", sendername);
ShowPlayerDialog(giveplayerid,4564,DIALOG_STYLE_MSGBOX,"Кости",string3,"Да","Нет");
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Игрок, которому вы предлагаете сыграть, не на сервере");
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Играть в кости с самим собой нельзя");
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Использование данной команды возможно только возле специально отведенного места");
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Игрок, которому вы предлагаете сыграть, не на сервере");
}
return 1;
}
и в OnDialogResponse
if(dialogid == 4564)
{
if(response)
{
new itogofthegame = random(2);
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(itogofthegame == 0)
{
new string2[128];
format(string2, sizeof(string2), "Гражданин %s проиграл в игре кости", sendername);
ProxDetector(30.0, playerid, string2, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf("%s", string2);
}
if(itogofthegame == 1)
{
new string1[128];
format(string1, sizeof(string1), "Гражданин %s выиграл в игре кости", sendername);
ProxDetector(30.0, playerid, string1, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf("%s", string1);
}
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, "Вы отказались от игры в кости");
}
}
P.s. в OnDialogResponse не знаю как лучше giveplayerid вывести, так что сделал несколько нестандартного формата.
Перейти к сообщению »
#1
offline
Отправлено 25 Июнь 2016 - 14:54
offline
#2
offline
Отправлено 25 Июнь 2016 - 17:30
offline
В общем сделал, но смотри... Я-то не профессионал, так что код на слабом уровне сделал. Для солидности сделал все же сделал подтверждение желания играть на диалога (DIALOG_STYLE_MSGBOX). Проверку на нахождение в интерьерах если нужно делаешь сам, я лишь сделал ограничение зоны (в какой зоне можно использовать данную команду, если что добавишь еще координаты). Также, по-хорошему, стоит добавить проверку на наличие у игрока костей, которые покупаются в том же 24/7, но не знаю какие у вас переменные... Делайте сами.
Непосредственно код в OnPlayerCommandText
и в OnDialogResponse
P.s. в OnDialogResponse не знаю как лучше giveplayerid вывести, так что сделал несколько нестандартного формата.
Количество пользователей, читающих эту тему: 1
0 пользователей, 0 гостей, 0 анонимных
-
Alexa (1)


Тема закрыта
Сообщений: 147
Регистрация:
Skype: evgeniy_martov