• Страница 1 из 1
  • 1
Модератор форума: dr40  
Real Discoteka
Василий1626Дата: Воскресенье, 06.07.2014, 21:01 | Сообщение # 1
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
Ребят, я вот себе сделал на пляже ЛС танцпол с диджеевским пультом, лазерами :), но я бы хотел еще что-то типа роботы диджея там сделать, чтобы там один человек, который хочет побыть диджеем, подходил к пикапу возле танцпола, ему менялся скин на диджея (например, на ID 19), и он мог подходить к своему пульту, там вводить какую-то команду (например, /playdj), ему появляется окошко, где он вводит прямую ссылку на музыку в Интернете, и эта музыка будет играть на всем танцполе. В инете нигде этого не нашел, к сожалению(( Помогите пожалуйста это сделать, буду очень-очень-очень благодарен!)


Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Воскресенье, 06.07.2014, 21:59 | Сообщение # 2
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
Для начала создай пикап и присвой его переменной

Код

new dancepick;//ко всем new
new playerdj[MAX_PLAYERS];//для проверки на диджея

dancepick = CreatePickup(...)//в OnGameModeInit


Ко всем #define добавь это
Код

#define DJ_URL 2014


Далее в OnPlayerPickupPickup сделай проверку стоит ли игрок у пикапа или нет
Код

if(pickupid == dancepick)
{
SetPlayerSkin(playerid,19);//установка скина
playerdj[playerid] = 1;//для проверки на диджея при вводе команды
}


Далее в OnPlayerCommandText
Код

if(strcmp(cmd, "/playdj", true) == 0)    
{
if(IsPlayerInRangeOfPoint(playerid,Float:range, Float:x, Float:y, Float:z) && playerdj[playerid] == 1)
    {
    ShowPlayerDialog(playerid,DJ_URL,DIALOG_STYLE_INPUT,"Выбор трека","Введите URL вашего трека, чтобы его услышали все!!!\n\n","Ок","Отмена");
    }
}


В OnDialogResponse

Код

if(dialogid == DJ_URL)
{
    if(response)
    {
    for(new i=0; i<MAX_PLAYERS;i++)
     {
     if(IsPlayerInRangeOfPoint(i,Float:range, Float:x, Float:y, Float:z))
       {
        PlayAudioStreamForPlayer(i, inputtext);
       }
     }
    }
}


В общем, система не сложная, главное понять что как работает.
Если код не рабочий, пиши.


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Понедельник, 07.07.2014, 21:41 | Сообщение # 3
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
У меня вот такая ошибка вылеает при компилировании:

C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(3248) : error 017: undefined symbol "range"
C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(25975) : error 017: undefined symbol "range"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Errors.


Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Понедельник, 07.07.2014, 22:14 | Сообщение # 4
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
В IsPlayerInRangeOfPoint Float:Range замени на 1.0 или 2.0


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Понедельник, 07.07.2014, 22:50 | Сообщение # 5
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
хм, у меня такого паблика в павно вообще нет..

Добавлено (07.07.2014, 22:50)
---------------------------------------------
[S]ilverbac[k], напиши пожалуйста сюда или в лс свой скайп, там подумаем smile



Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Понедельник, 07.07.2014, 23:09 | Сообщение # 6
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
IsPlayerInRangeOfPoint это не паблик это функция которую я в своем примере использовал, там указано id игрока, радиус действия и коорды.
Float:Range и есть радиус действия, просто вместо Float:Range поставь 1.0 или 2.0

p.s.: В скайпе не отвечаю.


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Понедельник, 07.07.2014, 23:23 | Сообщение # 7
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
Сделал так как Вы сказали, но:

C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(3248) : error 017: undefined symbol "x"
C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(25975) : error 017: undefined symbol "x"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Errors.


Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Понедельник, 07.07.2014, 23:31 | Сообщение # 8
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
Вместо Float:x,Float:y,Float:z нужно поставить свои координаты


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Вторник, 08.07.2014, 00:14 | Сообщение # 9
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
Ура, все получилось! smile
Сделайте пожалуйста еще такое:
1) Эту музыку с танцплощадки слышно аж до мерии :), а как можно ограничить радиус звучания (чтобы звучало только в некотором радиусе от танцпола или пульта)?;
2) Когда я подхожу к пульту в обычном скине и набираю команду /playdj, то окошко, где вводится ссылка песни, всеравно выскакивает, а как сделать, чтобы оно выскакивало только у диджея, который переоделся (сменил скин) у пикапа?;
3) Какой код еще нужно вставить, чтобы человек, который на тот момент был dj-ем, снова подошел к тому же пикапу, и эму вернулся тот же скин, что был до этого? Ну и чтобы у него не было права доступа к пульту (тоесть чтобы ему не выскакивало окошко, где вводится URL песни);
4) Ну и чтобы на танцполе был только один диджей, тоесть, чтобы когда там он уже есть, то когда другой человек подходит к пикапу, ему не меняется скин на dj-я, а в чате пишет что-то типа, что там dj уже есть (или без этого).
Помогите пожалуйста с этим. smile
P.S. и еще такое: когда тот игрок, который устроился диджеем, отошел на достаточно большое расстояние от пульта и танцпола, то чтобы его работа dj-я автоматически прекрашщалась, ему на месте возвращался его скин, и чтобы другой игрок возле танцпола смог наступить на тот же пикап, и уже ему выдавался скин и работа dj-я. smile


Учусь писать Pawno скрипты :)

Сообщение отредактировал Василий1626 - Вторник, 08.07.2014, 00:31
 
[S]ilverbac[k]Дата: Вторник, 08.07.2014, 00:34 | Сообщение # 10
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
В OnDialogResponse Float:range надо установить примерно 15.0

Ограничение кол-ва диджеев:

Ко всем new

Код

new bool:dj;


Вместо старой команды:

Код

if(strcmp(cmd, "/playdj", true) == 0)      
{   
if(dj == true)   
   {
   SendClientMessage(playerid,0xFF0000FF,"Место диджея уже занято!!!");
   }
if(playerdj[playerid] == 1)
   {
   if(IsPlayerInRangeOfPoint(playerid,Float:range, Float:x, Float:y, Float:z))   
      {   
      ShowPlayerDialog(playerid,DJ_URL,DIALOG_STYLE_INPUT,"Выбор трека","Введите URL вашего трека, чтобы его услышали все!!!\n\n","Ок","Отмена");   
      }   
   }
}   


Для возврата прежнего скина:

Ко всем new

Код

new playerskinvar[MAX_PLAYERS];
new backskinpick;


В OnGameModeInit

Код

backskinpick = CreatePickup(...);//пикап для возврата прежнего скина


В OnPlayerPickUpPickup вместо предыдущей части кода

Код

if(pickupid == dancepick)   
{   
playerskinvar[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid,19);//установка скина   
playerdj[playerid] = 1;//для проверки на диджея при вводе команды   
dj = true;
}   
else if(pickupid == backskinpick)
{
SetPlayerSkin(playerid,playerskinvar[playerid]);//возврат старого скина
playerdj[playerid] = 0;//игрок больше не диджей
dj = false;
}


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Вторник, 08.07.2014, 01:10 | Сообщение # 11
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
Все вроде бы правильно вписал, но вот: sad

C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(18321) : error 033: array must be indexed (variable "dancepick")
C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(18328) : error 033: array must be indexed (variable "backskinpick")
C:\Users\D\Desktop\Real World RP\gamemodes\realworld.pwn(25993) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Errors.


Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Вторник, 08.07.2014, 11:37 | Сообщение # 12
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
Скинь строку 25993


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
Василий1626Дата: Вторник, 08.07.2014, 16:00 | Сообщение # 13
.::Offline::.
Бандит
Сообщений: 25
[ 0 ]
Награды: 0

Статус отсутствует
Этой строки вообще нету в моде, даже самого числа 25993 нет.. Тоже самое с 18321 и 18328 - этих числ нету в моде.


Учусь писать Pawno скрипты :)
 
[S]ilverbac[k]Дата: Вторник, 08.07.2014, 16:24 | Сообщение # 14
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует


[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
 
dr40Дата: Воскресенье, 20.07.2014, 17:32 | Сообщение # 15
.::Offline::.
Разбойник
Сообщений: 55
[ 0 ]
Награды: 0

Статус отсутствует
Тема исчерпала себя . Закрыто !!!!


Сообщение отредактировал dr40 - Воскресенье, 20.07.2014, 17:32
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright www.SAMP-TEAM.com (c) 2009-2025
Правила использования материалов сайта

При копировании материалов из нашего сайта
ссылка на www.SAMP-TEAM.com обязательна!
Нарушители правил будут строго наказаны!

Хостинг от uCoz   
Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
Яндекс.Метрика