Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Циклы...Ничерта не понимаю

underwoker
сообщение 26.11.2012, 17:42
Сообщение #1
Стаж: 56 лет


Благодарностей:

Всем привет. Столкнулся с циклами... Это что-то. Лучше б даже не залезал туда, но без них никак.
Почитал пару статей о них, ничего не понял, начало вроде понимаю, а вот середина и конец для меня как на китайском.
Понадобились циклы для вывода сообщения в чат несколько раз например при спавне игрока. Надеюсь на помощь либо в написании плагина, либо в обьяснении. Заранее спасибо. :)
Перейти в начало страницы     
  
Статус пользователя miRror
сообщение 26.11.2012, 17:50
Сообщение #2


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

set_task ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 26.11.2012, 17:52
Сообщение #3
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

set_task(1.0,"func",id,_,_,"a",5)

Функция func (где ты напишешь вывод сообщения) выполнится 5 раз


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
underwoker
сообщение 26.11.2012, 18:09
Сообщение #4
Стаж: 56 лет


Благодарностей:

Правильно ли сделал?
Скрытый текст
Код
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <colorchat>

#define PLUGIN "Spawn Msg"
#define VERSION "1.0"
#define AUTHOR "underwoker"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn,"player","player_respawn")
}

public player_respawn(id){

    set_task(1.0,"func",id,_,_,"a",5)
}

public func(id){
    
    ColorChat(id,NORMAL,"^4[^3Баги^4] ^3Все баги с патронами и прочие, будут исправлены в ближайшее время! ^4Спасибо^3!")
}
Перейти в начало страницы     
   +
Статус пользователя iLLuSioN
сообщение 26.11.2012, 21:16
Сообщение #5
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

underwoker,
Проверь - узнаешь.

зы и удали аватарку если не хочешь бан.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
underwoker
сообщение 26.11.2012, 21:21
Сообщение #6
Стаж: 56 лет


Благодарностей:

Ыы.. Окау.

Плагин работает. Всем спасибо.
Перейти в начало страницы     
   + Цитировать сообщение
cs-portal
сообщение 26.11.2012, 22:07
Сообщение #7
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

мне интерестно причем тогда циклы)
обычно ето for i
и еще while

http://amxxmodx.ru/lessons-on-pawn/211-uro...ledo-while.html
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
underwoker
сообщение 26.11.2012, 22:10
Сообщение #8
Стаж: 56 лет


Благодарностей:

Читал я это уже...
Перейти в начало страницы     
   + Цитировать сообщение
cs-portal
сообщение 26.11.2012, 22:30
Сообщение #9
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

если читал тогда в чем загвоздка
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
underwoker
сообщение 26.11.2012, 22:35
Сообщение #10
Стаж: 56 лет


Благодарностей:

В том что не понял ничерта.
Перейти в начало страницы     
   + Цитировать сообщение
cs-portal
сообщение 26.11.2012, 23:57
Сообщение #11
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

у меня все наоборот как циклы сделать я знаю а вот что там собственно проиходит толком не знаю) главное что работает
поверишь ли мне что можно целый мод написать зная в пауне лишь if( и пару булей
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
underwoker
сообщение 27.11.2012, 4:58
Сообщение #12
Стаж: 56 лет


Благодарностей:

Цитата(cs-portal @ 27.11.2012, 0:57) *
поверишь ли мне

No. :D
Перейти в начало страницы     
   +
Статус пользователя Hellrock
сообщение 28.11.2012, 4:11
Сообщение #13


Стаж: 15 лет

Сообщений: 49
Благодарностей: 14
Полезность: 220

Опишу цикл "for".

for(new i; i < iSomeWhat; i++)

Это тоже самое, что:
new i;
if(i < iSomeWhat)
{
i++;
}
===========

новая переменная под названием "i".
Если i меньше iSomeWhat, добавляем +1 к i (т.е. если было 0, стало 1. и т.д.)
Цикл for выполняется, пока условие соответствует указаному, т.е. в данном примере пока i меньше iSomeWhat, цикл исполняется, и добавляет +1 к i.
for(new i[переменная]; пока переменная i < [меньше (true), услови выполняется] iSomeWhat[какой-то]; i++ [после сравнения/проверки i +1])
для(переменной i; если переменная i меньше чем переменная iSomeWhat (например iSomeWhat изначально равна 5); после сравнения +1 к переменной i)
{
// В итоге, цикл выполняется 4 раза, так как переменная i не может быть больше 5-ти согласно условию.
}
-----------------------------------------------------------------
Это тоже самое, что:
new i;
while(i < iSomeWhat)
{
// какая-то проверка iUserId[i]
i++ // добавляем i + 1, и пока i меньше iSomeWhat (5-ть), цикл выполняется, пока i не дойдёт 4, и прекратится, т.к. 4 меньше 5!
}

Также есть ++i, и i++. ++i это i+1 до проверки i, или i++ это i+1 после проверки i.

========================================

Не знаю, понятно ли обьяснил.

Извиняюсь за примитив!!!

Отредактировал: Hellrock, - 28.11.2012, 4:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: