Jump to content
  • Announcements

    • st1nc

      Жалобы на плохой пинг

      Жалобы принимаются по шаблону ниже в этой теме.   Город
      Провайдер
      Трассировка до серверов simhost.org
Sign in to follow this  
AfoNYa

Авто-ESK_Выполнено.

Recommended Posts

Вот предлогаю сделать нормальную систему афк/еск...

 

ESKSistem v1 RC1

 

Описание: Данный скрипт автоматически, при выходе в меню игрока, ставит перед его ником

тег [ESK], что довольно удобно, сразу видно кто из игроков ушел в ESK. Так же присутствует

система AFK, которая устанавливает тег [AFK], включение и отключение AFK'а командой /afk.

Если игрок в AFK свернул игру то он уходит в ESK, при возвращении он становится опять в AFK.

Игрока кикает с сервера после 10 минут простоя в ESK и/или AFK.

 

Скачать скрипт

 

P.S. Это предрелизная версия, для тестирования. Надеюсь SanSay поставишь скрипт, я протестил все норм работает, но лучше чтоб много народу тестило. Если багов не будет, то дозавершу первую версию скрипта спец для SimHost'а.

С данным скриптом ты сможешь реализовать запрет получения XP на качах и тд когда игрок сворачивает игру. Или же я это сделаю в след версии скрипта.

Так же если есть предложения по изменению/доработке данного скрипта отписываемся в теме, если есть дополнительные идеи для сервера, создовайте темы, пишите свои предложения, возможно что-то реализую, опять таки в скриптах, т.к. сансей жадничает мод)

Спс за внимание.

Edited by AfoNYa

Share this post


Link to post
Share on other sites

Крутая фишка! Сан ставь! =)

Share this post


Link to post
Share on other sites
Вот предлогаю сделать нормальную систему афк/еск...

 

ESKSistem v1 RC1

 

Описание: Данный скрипт автоматически, при выходе в меню игрока, ставит перед его ником

тег [ESK], что довольно удобно, сразу видно кто из игроков ушел в ESK. Так же присутствует

система AFK, которая устанавливает тег [AFK], включение и отключение AFK'а командой /afk.

Если игрок в AFK свернул игру то он уходит в ESK, при возвращении он становится опять в AFK.

Игрока кикает с сервера после 10 минут простоя в ESK и/или AFK.

 

Скачать скрипт

 

P.S. Это предрелизная версия, для тестирования. Надеюсь SanSay поставишь скрипт, я протестил все норм работает, но лучше чтоб много народу тестило. Если багов не будет, то дозавершу первую версию скрипта спец для SimHost'а.

С данным скриптом ты сможешь реализовать запрет получения XP на качах и тд когда игрок сворачивает игру. Или же я это сделаю в след версии скрипта.

Так же если есть предложения по изменению/доработке данного скрипта отписываемся в теме, если есть дополнительные идеи для сервера, создовайте темы, пишите свои предложения, возможно что-то реализую, опять таки в скриптах, т.к. сансей жадничает мод)

Спс за внимание.

 

для начала мне нужно взглянуть на исходник... т.к. я как давным давно натыкался на подобную систему автоперехода в афк и тогда она жрала непомерно ресурсы серва... там 15 раз в секунду проверялись все игроки на серве ))) такое нам нафик не нужно.

Share this post


Link to post
Share on other sites

проверка идет 1 раз в секунду, можно сделать раз в 2 секунды сильно разницы нету.

Игроков на сервере не так уж и много, и один таймер с циклом не нагрузит проц.)

Share this post


Link to post
Share on other sites
проверка идет 1 раз в секунду, можно сделать раз в 2 секунды сильно разницы нету.

Игроков на сервере не так уж и много, и один таймер с циклом не нагрузит проц.)

в личку шли пвн... мой админский опыт подсказывает, что на слово не всегда можно верить ))), т.к. в фс банально можно много че лишнего вшить... это в довесок, к тому, что мне все же самому нужно взглянуть на код.

Share this post


Link to post
Share on other sites

AfoNYa

1) ты сам делал?

2) ты уверен, что скинул все файлы нужные для работы фс?

Share this post


Link to post
Share on other sites

Да полностью сам писал.

Уверен, больше нечего не нужно)

Сам проверил работоспособность все отлично работает, вот хотел проверить как будет работать если будет человек 20-30 проверять сразу, в принципе лагов не должно быть, но как говорится доверяй но проверяй))

Если что легко можно сделать проверку на 2 секунды, но особого смысла в этом нет.

Edited by AfoNYa

Share this post


Link to post
Share on other sites
Вот предлогаю сделать нормальную систему афк/еск...

 

ESKSistem v1 RC1

 

Описание: Данный скрипт автоматически, при выходе в меню игрока, ставит перед его ником

тег [ESK], что довольно удобно, сразу видно кто из игроков ушел в ESK. Так же присутствует

система AFK, которая устанавливает тег [AFK], включение и отключение AFK'а командой /afk.

Если игрок в AFK свернул игру то он уходит в ESK, при возвращении он становится опять в AFK.

Игрока кикает с сервера после 10 минут простоя в ESK и/или AFK.

 

Скачать скрипт

 

P.S. Это предрелизная версия, для тестирования. Надеюсь SanSay поставишь скрипт, я протестил все норм работает, но лучше чтоб много народу тестило. Если багов не будет, то дозавершу первую версию скрипта спец для SimHost'а.

С данным скриптом ты сможешь реализовать запрет получения XP на качах и тд когда игрок сворачивает игру. Или же я это сделаю в след версии скрипта.

Так же если есть предложения по изменению/доработке данного скрипта отписываемся в теме, если есть дополнительные идеи для сервера, создовайте темы, пишите свои предложения, возможно что-то реализую, опять таки в скриптах, т.к. сансей жадничает мод)

Спс за внимание.

посмотрел более подробно твой фс и... есть сомнения, что его сделал ты, т.к. в нем объявлены 3!!! паблика которые не используются %) , сначала предположил, что возможно ты забыл какие-нить доп.инклуды, но ты сказал, что все что нужно дал... но это мелочи... т.к. фс работает, только полезность в данном фс заметил только одну - то что пишет ESK кто ушел в меню, но полезность такая... смутная, т.к. особо ничего не дает... еси только ее можно было бы использовать для ВНН1, остальным не запрещено уходить в ЕСК. На каче, тоже у нас стоит система не позволяющая долго находиться в ЕСК, а то наказание за это с лихвой перекроет накаченый опыт )))

при этом по поводу нагрузки на серв: ты сказал, что используется только одина проверка раз в сек, но довожу до твоего сведения, что паблик OnPlayerUpdate вызывается примерно 2-3 раза в секунду, по этому от него владельцы больших модов давно отказались, к ДМ не относится... было время когда он вызывался ваще 15-25 раз в сек %) после этого момента кстати и отказались.

 

Итог: как я и предполагал, нагрузка на серв не оправдана... для ВНН1 разумнее сделать такую же штуку как на ескейперов на каче, только время сделать секунд 15-30

Share this post


Link to post
Share on other sites

Нагрузка как раз оправдана, OnPlayerUpdate используется для определения в еск игрок или нет, обновляется он 22 раза в секунду.

И не такая уж и большая там нагрузка, там лишь обновляется массив и все. Если бы я там сделал сразу вызов паблика проверки то конечно был бы ужс)

Определение по координатам нахождения игрока как сейчас не очень эфективна и легкообходима. Как уже убедились, зажимая клавиши чел начинает бежать и уходишь в еск. вот и все он все время бежит и меняет свое местоположение. Это фиксануть никак не выйдет по другому.

 

А на счет каких пабликов ты говоришь вообще понятия не имею) Если ты про IsPlayerESK(playerid) то это дополнительно я делал, чтоб можно было сразу использовать как функцию в др моде сркипте отдельно, это можно удалить, оно никак не влияет на работу скрипта.

Edited by AfoNYa

Share this post


Link to post
Share on other sites
Нагрузка как раз оправдана, OnPlayerUpdate используется для определения в еск игрок или нет, обновляется он 22 раза в секунду.

чел, просто проверь сам как часто он вызывается ) думаю уж додумаешься как %)

 

И не такая уж и большая там нагрузка, там лишь обновляется массив и все. Если бы я там сделал сразу вызов паблика проверки то конечно был бы ужс)

хотя может ты и прав проверяет, то он только подключенных игроков.

П.С. по этому у тя там лишняя проверка ))), но тоже ладно.

 

Определение по координатам нахождения игрока как сейчас не очень эфективна и легкообходима. Как уже убедились, зажимая клавиши чел начинает бежать и уходишь в еск. вот и все он все время бежит и меняет свое местоположение. Это фиксануть никак не выйдет по другому.

да, да, об этом я подзабыл.

 

А на счет каких пабликов ты говоришь вообще понятия не имею) Если ты про IsPlayerESK(playerid) то это дополнительно я делал, чтоб можно было сразу использовать как функцию в др моде сркипте отдельно, это можно удалить, оно никак не влияет на работу скрипта.

я знаю что не влияет )

 

тогда остается еще одна проблема... для избежания проблем с бизами/домами в моде стоит сложная система привязки к нику и подобное фсное внеплановое изменение ника грозит игроку потерей биза/дома, по этому если и использовать эту систему, то ее нужно будет вшивать в мод... не всю, все нам не нужно... чисто момент для определения ескейперов. Т.к. владелец вроде как ты, тогда вопрос: разрешишь вшить или согласен на использование фс только целиком?

Share this post


Link to post
Share on other sites

С никами я все продумал, они не каким макаром не сломаются, все что изменяется в скрипте, изменяется обратно при отключении игрока.

 

А 22 раза, эт я седня сам проверил)

 

Скрытый текст:
[19:30:42] [join] Mr_AfeRiST has joined the server (0:10.101.10.7)

[19:30:48] 1

[19:30:48] 2

[19:30:48] 3

[19:30:49] 4

[19:30:49] 5

[19:30:49] 6

[19:30:49] 7

[19:30:49] 8

[19:30:49] 9

[19:30:49] 10

[19:30:49] 11

[19:30:49] 12

[19:30:49] 13

[19:30:49] 14

[19:30:49] 15

[19:30:49] 16

[19:30:49] 17

[19:30:49] 18

[19:30:49] 19

[19:30:49] 20

[19:30:49] 21

[19:30:50] 22

[19:30:50] 23

[19:30:50] 24

[19:30:50] 25

[19:30:50] 26

[19:30:50] 27

[19:30:50] 28

[19:30:50] 29

[19:30:50] 30

[19:30:50] 31

[19:30:50] 32

[19:30:50] 33

[19:30:50] 34

[19:30:50] 35

[19:30:50] 36

[19:30:50] 37

[19:30:50] 38

[19:30:50] 39

[19:30:50] 40

[19:30:50] 41

[19:30:50] 42

[19:30:50] 43

[19:30:51] 44

[19:30:51] 45

[19:30:51] 46

[19:30:51] 47

[19:30:51] 48

[19:30:51] 49

[19:30:51] 50

[19:30:51] 51

[19:30:51] 52

[19:30:51] 53

[19:30:51] 54

[19:30:51] 55

[19:30:51] 56

[19:30:51] 57

[19:30:51] 58

[19:30:51] 59

[19:30:51] 60

[19:30:51] 61

[19:30:51] 62

[19:30:51] 63

[19:30:51] 64

[19:30:52] 65

[19:30:52] 66

[19:30:52] 67

[19:30:52] 68

[19:30:52] 69

[19:30:52] 70

[19:30:52] 71

[19:30:52] 72

[19:30:52] 73

[19:30:52] 74

[19:30:52] 75

[19:30:52] 76

[19:30:52] 77

[19:30:52] 78

[19:30:52] 79

[19:30:52] 80

[19:30:52] 81

[19:30:52] 82

[19:30:52] 83

[19:30:52] 84

[19:30:52] 85

[19:30:52] 86

[19:30:53] 87

[19:30:53] 88

[19:30:53] 89

[19:30:53] 90

[19:30:53] 91

[19:30:53] 92

[19:30:53] 93

[19:30:53] 94

[19:30:53] 95

[19:30:53] 96

[19:30:53] 97

[19:30:53] 98

[19:30:53] 99

[19:30:53] 100

[19:30:53] 101

[19:30:53] 102

[19:30:53] 103

[19:30:53] 104

[19:30:53] 105

[19:30:53] 106

[19:30:53] 107

[19:30:53] 108

[19:30:54] 109

[19:30:54] 110

[19:30:54] 111

[19:30:54] 112

[19:30:54] 113

[19:30:54] 114

[19:30:54] 115

[19:30:54] 116

[19:30:54] 117

[19:30:54] 118

[19:30:54] 119

[19:30:54] 120

[19:30:54] 121

[19:30:54] 122

[19:30:54] 123

[19:30:54] 124

[19:30:54] 125

[19:30:54] 126

[19:30:54] 127

[19:30:54] 128

[19:30:54] 129

[19:30:55] 130

[19:30:55] 131

[19:30:55] 132

[19:30:55] 133

[19:30:55] 134

[19:30:55] 135

[19:30:55] 136

[19:30:55] 137

[19:30:55] 138

[19:30:55] 139

[19:30:55] 140

[19:30:55] 141

[19:30:55] 142

[19:30:55] 143

[19:30:55] 144

[19:30:55] 145

[19:30:55] 146

[19:30:55] 147

[19:30:55] 148

[19:30:55] 149

[19:30:55] 150

[19:30:56] 151

[19:30:56] 152

[19:30:56] 153

[19:30:56] 154

[19:30:56] 155

[19:30:56] 156

[19:30:56] 157

[19:30:56] 158

[19:30:56] 159

[19:30:56] 160

[19:30:56] 161

[19:30:56] 162

[19:30:56] 163

[19:30:56] 164

[19:30:56] 165

[19:30:56] 166

[19:30:56] 167

[19:30:56] 168

[19:30:56] 169

Edited by AfoNYa

Share this post


Link to post
Share on other sites
С никами я все продумал, они не каким макаром не сломаются, все что изменяется в скрипте, изменяется обратно при отключении игрока.

 

А 22 раза, эт я седня сам проверил)

 

Скрытый текст:
[19:30:42] [join] Mr_AfeRiST has joined the server (0:10.101.10.7)

[19:30:48] 1

[19:30:48] 2

[19:30:48] 3

[19:30:49] 4

[19:30:49] 5

[19:30:49] 6

[19:30:49] 7

[19:30:49] 8

[19:30:49] 9

[19:30:49] 10

[19:30:49] 11

[19:30:49] 12

[19:30:49] 13

[19:30:49] 14

[19:30:49] 15

[19:30:49] 16

[19:30:49] 17

[19:30:49] 18

[19:30:49] 19

[19:30:49] 20

[19:30:49] 21

[19:30:50] 22

[19:30:50] 23

[19:30:50] 24

[19:30:50] 25

[19:30:50] 26

[19:30:50] 27

[19:30:50] 28

[19:30:50] 29

[19:30:50] 30

[19:30:50] 31

[19:30:50] 32

[19:30:50] 33

[19:30:50] 34

[19:30:50] 35

[19:30:50] 36

[19:30:50] 37

[19:30:50] 38

[19:30:50] 39

[19:30:50] 40

[19:30:50] 41

[19:30:50] 42

[19:30:50] 43

[19:30:51] 44

[19:30:51] 45

[19:30:51] 46

[19:30:51] 47

[19:30:51] 48

[19:30:51] 49

[19:30:51] 50

[19:30:51] 51

[19:30:51] 52

[19:30:51] 53

[19:30:51] 54

[19:30:51] 55

[19:30:51] 56

[19:30:51] 57

[19:30:51] 58

[19:30:51] 59

[19:30:51] 60

[19:30:51] 61

[19:30:51] 62

[19:30:51] 63

[19:30:51] 64

[19:30:52] 65

[19:30:52] 66

[19:30:52] 67

[19:30:52] 68

[19:30:52] 69

[19:30:52] 70

[19:30:52] 71

[19:30:52] 72

[19:30:52] 73

[19:30:52] 74

[19:30:52] 75

[19:30:52] 76

[19:30:52] 77

[19:30:52] 78

[19:30:52] 79

[19:30:52] 80

[19:30:52] 81

[19:30:52] 82

[19:30:52] 83

[19:30:52] 84

[19:30:52] 85

[19:30:52] 86

[19:30:53] 87

[19:30:53] 88

[19:30:53] 89

[19:30:53] 90

[19:30:53] 91

[19:30:53] 92

[19:30:53] 93

[19:30:53] 94

[19:30:53] 95

[19:30:53] 96

[19:30:53] 97

[19:30:53] 98

[19:30:53] 99

[19:30:53] 100

[19:30:53] 101

[19:30:53] 102

[19:30:53] 103

[19:30:53] 104

[19:30:53] 105

[19:30:53] 106

[19:30:53] 107

[19:30:53] 108

[19:30:54] 109

[19:30:54] 110

[19:30:54] 111

[19:30:54] 112

[19:30:54] 113

[19:30:54] 114

[19:30:54] 115

[19:30:54] 116

[19:30:54] 117

[19:30:54] 118

[19:30:54] 119

[19:30:54] 120

[19:30:54] 121

[19:30:54] 122

[19:30:54] 123

[19:30:54] 124

[19:30:54] 125

[19:30:54] 126

[19:30:54] 127

[19:30:54] 128

[19:30:54] 129

[19:30:55] 130

[19:30:55] 131

[19:30:55] 132

[19:30:55] 133

[19:30:55] 134

[19:30:55] 135

[19:30:55] 136

[19:30:55] 137

[19:30:55] 138

[19:30:55] 139

[19:30:55] 140

[19:30:55] 141

[19:30:55] 142

[19:30:55] 143

[19:30:55] 144

[19:30:55] 145

[19:30:55] 146

[19:30:55] 147

[19:30:55] 148

[19:30:55] 149

[19:30:55] 150

[19:30:56] 151

[19:30:56] 152

[19:30:56] 153

[19:30:56] 154

[19:30:56] 155

[19:30:56] 156

[19:30:56] 157

[19:30:56] 158

[19:30:56] 159

[19:30:56] 160

[19:30:56] 161

[19:30:56] 162

[19:30:56] 163

[19:30:56] 164

[19:30:56] 165

[19:30:56] 166

[19:30:56] 167

[19:30:56] 168

[19:30:56] 169

ну не знаю что ты проверил и как ты это сделал, но я вот проверил

Скрытый текст:
[18:27:40] {1100ff}СЕРВЕР: {ffffff}Добро пожаловать SanSay

[18:27:40] {1100ff}СЕРВЕР: {ffffff}Вы вошли как {50ff00}'Главный админ (1337)'

[18:27:40]

[18:27:41] -0

[18:27:41] -1

[18:27:41] -2

[18:27:41] -3

[18:27:41] -4

[18:27:41] -5

[18:27:41] -6

[18:27:41] -7

[18:27:42] -8

[18:27:43] -9

[18:27:43] -10

[18:27:44] -11

[18:27:44] -12

[18:27:45] -13

[18:27:45] -14

[18:27:46] -15

[18:27:46] -16

[18:27:47] -17

[18:27:48] -18

[18:27:48] -19

[18:27:49] -20

[18:27:49] -21

[18:27:50] -22

[18:27:50] -23

[18:27:51] -24

[18:27:51] -25

[18:27:52] -26

[18:27:52] -27

[18:27:53] -28

[18:27:53] -29

[18:27:54] -30

[18:27:54] -31

[18:27:55] -32

[18:27:55] -33

[18:27:56] -34

[18:27:56] -35

[18:27:57] -36

[18:27:57] -37

[18:27:58] -38

[18:27:58] -39

[18:27:59] -40

[18:27:59] -41

[18:28:00] -42

[18:28:00] -43

[18:28:01] -44

проверка банальна:

Скрытый текст:
public OnPlayerUpdate(playerid)

{

new str[62];

format(str, sizeof(str), "-%d",nom);

nom[playerid]++;

// format(str, sizeof(str), "%d", playerid);

SendClientMessageToAll(-1,str);

if(IsPlayerConnected(playerid))

Player[playerid][Tick]++;

return 1;

}

как видишь, даже прямо в твоем фс )

П.С. потом на всякий случай и напрямую в моде проверил - одно и тоже.

 

Добавлено через 2 мин.:

кстати, а ты вообще САМП 0,3а используешь? ))) а то как я писал выше в некоторых предыдущих версиях САМПа действительно вызов паблика происходит 15-25 раз в секунду... может как раз 22 )... примерно в САМПе 0,2,2 такая фигня была.

Share this post


Link to post
Share on other sites

Вот и вся проверка) Как только вызывается паблик, он прибовляет к d 1 и выводит.

#include <a_samp>
new d = 0;
public OnPlayerUpdate(playerid)
{
d += 1;
printf("%d",d);
return 1;
}

 

Добавлено через 1 мин.:

У меня sa-mp 0.3c R2 серв и 0.3c R3 клиент

Share this post


Link to post
Share on other sites
Вот и вся проверка) Как только вызывается паблик, он прибовляет к d 1 и выводит.

#include <a_samp>
new d = 0;
public OnPlayerUpdate(playerid)
{
d += 1;
printf("%d",d);
return 1;
}

 

Добавлено через 1 мин.:

У меня sa-mp 0.3c R2 серв и 0.3c R3 клиент

ой, ну да 0,3с... чет я не то написал... ну короче я тогда ваще не знаю, как при одинаковой проверке, у тя 22 раза проверяет, а у меня только 2 %)%)

 

Добавлено через 5 мин.:

С никами я все продумал, они не каким макаром не сломаются, все что изменяется в скрипте, изменяется обратно при отключении игрока.

кстати, чет я забыл про этот момент... что ты там продумал :D повторяю В МОДЕ во многих местах проходит проверка на ник связанная с недвижимостью и кстати возможно еще и с бандами... уже не помню... и к примеру если в момент проверки ник будет не такой как прописан в конфиге недвижимости, то его тупо выселит :D . В моде у меня стоят исключение если игрок например в АФК... мод по моим данным никак не сможет влезть в переменные фс, чтобы увидеть, что игрок в ЕСКе

Share this post


Link to post
Share on other sites
ой, ну да 0,3с... чет я не то написал... ну короче я тогда ваще не знаю, как при одинаковой проверке, у тя 22 раза проверяет, а у меня только 2 %):D

 

Добавлено через 5 мин.:

 

кстати, чет я забыл про этот момент... что ты там продумал :D повторяю В МОДЕ во многих местах проходит проверка на ник связанная с недвижимостью и кстати возможно еще и с бандами... уже не помню... и к примеру если в момент проверки ник будет не такой как прописан в конфиге недвижимости, то его тупо выселит :D . В моде у меня стоят исключение если игрок например в АФК... мод по моим данным никак не сможет влезть в переменные фс, чтобы увидеть, что игрок в ЕСКе

А ну понял, типо в моде будет считывать ник не правильный =)

 

Вот короч обновленная версия RC2 http://zalil.ru/31075492

Исправлен 1 баг, когда при дисконекте игрока в афк не менялся ник на стандартный.

Добавил команду /back, теперь можно возвращаться из афк набирая опять команду /afk или же /back.

И проведена оптимизация циклов.

Edited by AfoNYa

Share this post


Link to post
Share on other sites

часть кода будет использована в моде.

Тема закрыта.

Share this post


Link to post
Share on other sites
... ну короче я тогда ваще не знаю, как при одинаковой проверке, у тя 22 раза проверяет, а у меня только 2 :(8)

разобрался в чем прикол...оказывается этот паблик умный... его колво вызываний зависит от действий игрока... если бездействует, то 2 раза в сек, если двигается, то дофига раз в сек. )

Share this post


Link to post
Share on other sites

Сделал.

Точнее использовал одну строчку из этого кода, для вычисления игроков которые в ESС, для использования в системе 'Анти-ESС_для кача'.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×