22:42
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Действия по таймеру
xxxalexxxxДата: Пятница, 27.08.2010, 19:28 | Сообщение # 1
Новенький
Группа: Продвинутые
Сообщений: 66
Награды: 1
Город: Kiev
Репутация: 12
Замечания: 40%
Статус:
Я хочу сделать так, чтобы каждое действие выполнялось через 1 секунду. Вот код:
if(strcmp(cmd,"/fire", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s Достал оружие",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "%s Перезарядил оружие",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "%s Прицелился",sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}

Тоесть для каждого из этих действий, я хочу установить задержку на 1 секунд. Прошло 1 /me действие, потом через 1 секунду прошло и другое. Можно ли так сделать? Скиньте мне код. С меня плюс!


HostName: .::Real World RolePlay::.Address: 176.32.37.53:7777
Mode: Real Life v8.4


Наш сайт: http://rwroleplay.3nx.ru
XripterДата: Пятница, 27.08.2010, 20:43 | Сообщение # 2
Новенький
Группа: Пользователи
Сообщений: 7
Награды: 0
Город: Брест
Репутация: 0
Замечания: 0%
Статус:
Ну сам не проверял, надеюсь, ты мою мысль поймешь и сможешь там возможные неровности сгладить. (Все-таки бесплатно помогаю)
//задаем глобальные переменные (в начале кода мода)

new FireTime[MAX_PLAYERS]; // это наш счетчик
new FireTimer; //перменная таймера, (чтобы его задать и им управлять)
forward Fire(); //задаем паблик твоего скрипта

//затем, там где все таймеры задаешь в моде, задаешь новый таймер
FireTimer = SetTimer("Fire", 1000, 1); //частота ударов - 1 секунда

//Где-нибудь в паблик, лучше всего в onplayerlogin добавить
FireTime[playerid] = 0; // чтобы персонаж вдруг стрелять не начал

// теперь пишем тело этого устройства
public Fire() //таймер счелкает по эому паблику постоянно
{
new string[256];
new sendername[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(FireTime[i] == 1) //если ты запустил запускатель устройства , машина заработает и начнет считать
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, sizeof(string), "%s Достал оружие",sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
FireTime[i] = 2; //вот она написала первую строчку и добавила к счетчику
}
else if(FireTime[i] == 2) //вот сработала вторая ступенька счетчика
{
format(string, sizeof(string), "%s Перезарядил оружие",sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
FireTime[i] = 3; //ну ты понял
}
else if(FireTime[i] == 3)
{
format(string, sizeof(string), "%s Прицелился",sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
FireTime[i] = 4;
}
else if(FireTime[i] == 4) //когда дошло до конца, сбрасывает на ноль. ВСе. машина отключена.
{
FireTime[i] = 0;
}
}
}

//теперь пишем код запускателя

if(strcmp(cmd,"/fire", true) == 0) //при вводе команды активируется FireTime и устройство возьмет его в оборот
{
if(IsPlayerConnected(playerid))
{
FireTime[playerid] = 1;
}
return 1;
}

//честно говоря не удержался и проверил - все работает.
}

Добавлено (27.08.2010, 20:43)
---------------------------------------------
Честно говоря ступил и не воспользовался функцией форума "код". Придется тебе в ручную форматировать.


Сервер: Plastilino Role Play Server
IP: 188.120.232.165:7777
Сайт: www.plastilino.tk
Скриптинг на заказ, ICQ 455-099-020
MaccerДата: Суббота, 28.08.2010, 00:35 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 281
Награды: 7
Город: Санкт-Петербург
Репутация: 100
Замечания: 40%
Статус:
предложу альтернативное решение:
для каждого сообщения в чат создать свою public функцию
вызвать их разом с различным временным интервалом с помощью SetTimerEx



есть вопросы по sa-mp или pawn?
помогу за $$
VagrantДата: Суббота, 28.08.2010, 16:51 | Сообщение # 4
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
xxxalexxxx, Либо другой вариант:
В начало:
stock pause(msec)
{
new ms = GetTickCount()+msec;
while(ms > GetTickCount()) {}
}

В команду:
if(strcmp(cmd,"/fire", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s Достал оружие",sendername);
pause(1000); // 1 Секунда
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "%s Перезарядил оружие",sendername);
pause(1000); // 1 Секунда
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "%s Прицелился",sendername);
pause(1000); // 1 Секунда
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}

Но так не желательно :)


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua