Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Создание анти флуда пикапов - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Урок ]
Создание анти флуда пикапов
Оценка: -----

#1
Пользователь офлайн   PAWLO 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Для начала создадим один массив где будут хранится данные пикапов и форвард(паблик) о нем позже.
new antifloodpickup[MAX_PLAYERS];
forward AntiFloodPickUp(playerid);



далее создаем таймер и проверку завершил таймер 3-х секундную работу.

Должно выглядеть так:

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(antifloodpickup[playerid]) // если в переменной что-то есть, а именно таймер значит скажем игроку "подождите 3 секунды..."
    {
        SendClientMessage(playerid, -1, "Подождите 3 секунды..."); // советую ничего не писать. просто /return 1;
    }
    else // в противном случаи
    {
           antifloodpickup[playerid] = SetTimer("AntiFloodPickUp", 3000, falce); // создаем таймер.
           //теперь вы должны писать все проверки на пикапы сюда.
    }
    return 1;

}

piblic AntiFloodPickUp(playerid) // подошло дело к паблику. Когда таймер завершит работу, то запустится этот паблик и обнулит переменную в котором содержится таймер, а если в нем ничего нет значит игрок опять сможет подобрать пикап и создать таймер а далее все по новой
{
     antifloodpickup[playerid] = 0;
}



В этом уроке я хотел донести не только как сделать анти флуд, но и пример по использованию таймеров.
Если ничего не понятно закрывайте тему и пишите себе на лбу "Я ДУРАК!". ну или просто можете отписаться в теме я обязательно отвечу!
-1

#2
Пользователь офлайн   mxINI 

  • Даун какой-то
  • Вставить ник
  • Раскрыть информацию
было
0

#3
Пользователь офлайн   SwipoStyle 

  • Благодетель
  • Вставить ник
  • Раскрыть информацию
SetTimer слишком пагубно.

Откуда взят аргумент playerid?

Что такое falce (может быть false?)

Пишешь на скорую руку, а проверять кто будет. Изображение

Сообщение отредактировал SwipoStyle: 05 Май 2014 - 11:55

1

#4
Пользователь офлайн   DeadLine 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Проходил мимо, я бы разочарован, зачем таймер?

Вот самый простой вариант

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(GetPVarInt(playerid,"CountFlood") > gettime()) return SendClientMessage(playerid, -1, "Подождите 3 секунды...");

Проходил мимо, я бы разочарован, зачем таймер?

Вот самый простой вариант

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(GetPVarInt(playerid,"CountFlood") > gettime()) return SendClientMessage(playerid, -1, "Подождите 3 секунды...");

Проходил мимо, я бы разочарован, зачем таймер?

Вот самый простой вариант

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(GetPVarInt(playerid,"CountFlood") > gettime()) return SendClientMessage(playerid, -1, "Подождите 3 секунды...");
SetPVarInt(playerid,"CountFlood",gettime() + 3);
return 1;
}


Проходил мимо, я бы разочарован, зачем таймер?

Вот самый простой вариант

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(GetPVarInt(playerid,"CountFlood") > gettime()) return SendClientMessage(playerid, -1, "Подождите 3 секунды...");
SetPVarInt(playerid,"CountFlood",gettime() + 3);
return 1;
}

0

#5
Пользователь офлайн   new.pwn 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Боже мой! Какой бред! Изображение
Что такое Falce?!

Сообщение отредактировал new.pwn: 12 Май 2014 - 18:24

0

#6
Пользователь офлайн   ilucha228 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Если нету времени на написание урока, то лучше не пиши.
0

#7
Пользователь офлайн   fausto 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияnew.pwn (12 Май 2014 - 18:23) писал:

Боже мой! Какой бред! Изображение
Что такое Falce?!

И piblic тоже...
0

#8
Пользователь офлайн   Npower 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияfausto (01 Февраль 2018 - 12:05) писал:

И piblic тоже...

Зачем тему 15 - ого года поднимать ?
0

#9
Пользователь офлайн   !#Bush :) 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
antifloodpickup[playerid] = SetTimer("AntiFloodPickUp", 3000, falce); // создаем таймер.


У некоторых будет ошибка из за невнимательности автора кода - Что за Falce?? Может все такие False? И для чего паблик если можно просто добавить его в нужный паблик потом killtimer???
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей