Текущая версия SA-MP: 0.3.7


IP: 77.220.180.96:7777
  Новые сообщения · Поиск
  • Страница 1 из 1
  • 1
Модератор форума: KaTacTpOqpa  
Зачем есть RETURN
stelmahboris Сообщение # 1  | 22:59:22
Пользователи
Сообщений: 10
Репутация: 0
Здравствуйте!
Писав мод заметил такую штуку - что с return и что без него - ничего не изменяет
Что за return и зачем он?
(return - это возвращение. но что нужно возвращать?)
Demetrius Сообщение # 2  | 19:56:14
VIP-пользователи
Сообщений: 1192
Репутация: 158
Quote (stelmahboris)
Что за return и зачем он?
(return - это возвращение. но что нужно возвращать?)

Собственно для нас (игроков) это не касается и никак не влияет.
Return - возвращение. А что он возвращает сейчас расскажу.

Наверное заметил, что есть строки "return 1" и "return 0".

return 1 - возвращает серверу 1, то есть положительный результат. Что что-то закончилось удачно.
Code
public OnGameModeInit()//начало паблика
{
  SetGameModeText("Blank Script");//некоторые функции
  AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  return 1;//после выполнения функций, "говорим серверу" - все прошно нормально, есть результат
}

return 0 -(используется в основном в паблике OnPlayerCommandText)
Сервер читает команду. После успешного выполнения всех условий и функций пишем return 1 - сообщаем серверу что все прошло удачно. (напомню, мы ретюрнили команды, а не паблик)
Далее идут еще несколько команд.
В конце паблика мы пишем return 0, для того чтобы возвратить результат работы всего паблика (а не отдельной команды).
Если этого не сделать, то сервер будет выполнять код после паблика с командами.
Code
public OnPlayerCommandText(playerid, cmdtext[])//начало паблика(return 0)
{
  if (strcmp("/kickme", cmdtext, true, 10) == 0)//начало команды(return 1)
  {
                 Kick();
   return 1;//возвращаем серверу 1, все условия выполнены, результат есть
  }
  return 0;//возвращаем серверу 0, паблик выполнен, все его условия выполнены(полностью завершаем работу паблика, поэтому стоит 0, а не 1)
}

Добавлено (14.03.2012, 19:56)
---------------------------------------------

Quote (stelmahboris)
Писав мод заметил такую штуку - что с return и что без него - ничего не изменяет

Изменяет, и еще как.
Если не ставить return 1, то выполнение кода пойдет дальше, а так он будет выполняться по одному паблику:

1 случай
Code
public OnFilterScriptInit()//скрипт начал работу --> выполняем паблик
{
  print("Скрипт начал свою работу");
  return 1;//возвращаем 1, [color=yellow]работа паблика прекращена[/color]
}

public OnFilterScriptExit()//скрипт завершает свою работу --> выполняем паблик
{
print("Скрипт закончил свою работу");
  return 1;//возвращаем 1, [color=yellow]паблик прекращает свою работу[/color]
}


2 случай
Code
public OnFilterScriptInit()//скрипт начал работу --> выполняем паблик
{
  print("Скрипт начал свою работу");
}//забыли return, работа паблика не прекращена

public OnFilterScriptExit()//теперь этот паблик заработает не когда скрипт закончит свою работу, а когда начнет свою работу паблик выше, потому что мы не поставили return 1
{
print("Скрипт закончил свою работу");
  return 1;//возвращаем 1, [color=yellow]паблики прекращают свою работу[/color]
}


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
VERGIL Сообщение # 3  | 09:16:38
Пользователи
Сообщений: 82
Репутация: 28
Армин скажи пожалуйста, где ты все это учил? Книжки что угодно, а то мод писать без особых знаний сложновато! ( Я РП мод пишу уже 3-4 месяца)
Заранее благодарен. Желателньо оставь ссылку


THIS IS POLCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I your friend ;D
[Sn1peR] Сообщение # 4  | 23:32:43
Пользователи
Сообщений: 32
Репутация: 47
Quote (VERGIL)
Я РП мод пишу уже 3-4 месяца

Блин да че такого в этих РП?
Больше серверов РП они похожие как инкубаторские


_|___|___|___|___|__­_|___|___|___|
___|___|___|___|___­|___|___|___|_
_|___|___|___|___|_­__|___|___|___|
Awesome9623 Сообщение # 5  | 15:05:00
Пользователи
Сообщений: 1
Репутация: 0
лучше бы начали с ДМ модов учится хорошо , а потом перейти на РП
[Sn1peR] Сообщение # 6  | 19:42:24
Пользователи
Сообщений: 32
Репутация: 47
Quote (Awesome9623)
лучше бы начали с ДМ модов учится хорошо , а потом перейти на РП

Согласен! ДМ сервера проще писать!


_|___|___|___|___|__­_|___|___|___|
___|___|___|___|___­|___|___|___|_
_|___|___|___|___|_­__|___|___|___|
Demetrius Сообщение # 7  | 20:01:22
VIP-пользователи
Сообщений: 1192
Репутация: 158
Quote (VERGIL)
Армин скажи пожалуйста, где ты все это учил? Книжки что угодно, а то мод писать без особых знаний сложновато! ( Я РП мод пишу уже 3-4 месяца)
Заранее благодарен. Желателньо оставь ссылку

Я учился на нубских туториалах и программах "помощниках", в общем не советую я вам учиться так как делал это я biggrin

^ Там достаточно туториалов(уроков) и всякой нужной инфы + можещь задавать там вопросы, но предупреждаю - много орать будут, но ответят smile

Quote (|Sn1peR|)
Блин да че такого в этих РП?
Больше серверов РП они похожие как инкубаторские

Все ждут популярности всем известного Sa-mp rp. Но тут облом, так как денег в раскрутку вкладывать неохото cry


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL



Редактировано Armin - Понедельник, 30 Апр 2012, 20:01:53
  • Страница 1 из 1
  • 1
Поиск: