SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 30/04/2012, 01:46 PM   #1
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Порядок обработки кода.

Меня терзают вопросы связанные с порядком обработки тех или иных Callback. Все мы знаем что sa-mp сервер работает в один поток, так каков же порядок Callback-ов - это раз.
Во вторых, идёт перебор игроков for(;; ), если произвести кик игрока то будет ли вызван OnPlayerDisconnect() во время перебора?(думаю что да)
В третьих, идёт перебор игроков for(;; ), может ли в этот промежуток времени выполниться OnPlayerConnect()?(думаю что нет)

Пока единственное что мне известно то, что OnPlayerEnterVehicle() игрока происходит до OnPlayerUpdate().

Хотелось бы узнать эту "структуру".
__________________
White_116 is online now   Reply With Quote
Old 30/04/2012, 01:50 PM   #2
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Порядок обработки кода.

Ты в курсе что такое один поток и очередь?
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 30/04/2012, 02:03 PM   #3
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Re: Порядок обработки кода.

Quote:
Originally Posted by Stepashka View Post
Ты в курсе что такое один поток и очередь?
Не буду блистать знаниями (мы этим только и занимаемся), мне важна очерёдность вызовов.
__________________
White_116 is online now   Reply With Quote
Old 30/04/2012, 02:27 PM   #4
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Порядок обработки кода.

Нет её, по мере поступления задач, ушел игрок с сервера в конец очереди встало OnPlayerDisconnect, в этот момент другой человек садится в машину, в конец встали OnPlayerKeyStateChange и OnPlayerEnterVehicle, сел в машину получили OnPlayerStateChange и все это разбавлено порядочной долей событий OnPlayerUpdate.
Нет и никогда не было четкого порядка, только в случае когда два события результат одного действия, например посадка в машину: OnPlayerKeyStateChange, OnPlayerEnterVehicle и OnPlayerUpdate. Правда в каком порядке точно не скажу, но OnPlayerUpdate 100% первая потому что сперва приходит пакет с информацией о том что человек садится в машину, и уже этот пакет вызывает два других события.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 30/04/2012, 02:34 PM   #5
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Re: Порядок обработки кода.

Со вторым разобрался идёт вызов дисконекта.
OnPlayerEnterVehicle, OnPlayerKeyStateChange, OnPlayerUpdate.Потом идёт несколько OnPlayerUpdate(пока игрок сядет в машину) и выполняется OnPlayerStateChange.
- результат посадки в авто.
__________________
White_116 is online now   Reply With Quote
Old 30/04/2012, 03:02 PM   #6
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Порядок обработки кода.

Я так полагаю что ты отслеживаешь вызовы после того как будет вызвана OnPlayerEnterVehicle?
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 30/04/2012, 03:08 PM   #7
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Re: Порядок обработки кода.

Quote:
[18:55:12] Up 12242152
[18:55:12] Up 12242253
[18:55:12] Up 12242354
[18:55:12] Exit
[18:55:12] key
[18:55:12] Up 12242456
[18:55:12] key
[18:55:12] State
[18:55:12] Up 12242880
[18:55:13] Up 12243423
[18:55:13] Up 12243975
сделал логирование, апдейт морозил на 100 мс.
__________________
White_116 is online now   Reply With Quote
Old 30/04/2012, 03:19 PM   #8
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Порядок обработки кода.

Code:
[18:55:12] Up 12242354 < пакет с кодом для выхода из машины
[18:55:12] Exit
[18:55:12] key
ну и дальнейшие события результат пакета.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 30/04/2012, 03:39 PM   #9
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Re: Порядок обработки кода.

наоборот, OnPlayerEnterVehicle, OnPlayerKeyStateChange, OnPlayerUpdate.
(пойду перепроверю...)
__________________
White_116 is online now   Reply With Quote
Old 30/04/2012, 03:50 PM   #10
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Порядок обработки кода.

__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Оптимизация кода RAEN Русский/Russian 1310 16/11/2017 04:45 PM
Сокращения кода! AnGeL_KRAMER Русский/Russian 11 11/04/2012 05:58 PM


All times are GMT. The time now is 03:45 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.