08:18
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: Alcoholik  
Вопрос | Ответ
RudeBoyДата: Пятница, 30.03.2012, 22:50 | Сообщение # 3991
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
у меня проблема имеется, кто поможет +

у меня остался стандартный колбэк (хотел уже давно удалить но не могу)

public OnPlayerUpdate(playerid)
{
PlayerAFK[playerid][AFK_Time] = 0;
if(PlayerAFK[playerid][AFK_Stat] != 0) { Delete3DTextLabel(AFK_3DT[playerid]); PlayerAFK[playerid][AFK_Stat] = 0; }
return 1;
}

я хочу его удалить, есть мнение что от него будет лучше.

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

public OnPlayerGetGet(playerid)
{
PlayerAFK[playerid][AFK_Time] = 0;
if(PlayerAFK[playerid][AFK_Stat] != 0) { Delete3DTextLabel(AFK_3DT[playerid]); PlayerAFK[playerid][AFK_Stat] = 0; }
return 1;
}
и делаю forward OnPlayerGetGet(playerid);

- всё вроде как работает, но есть большое но.. если человек просто стоит на месте секунд 5 то включается афк надпись (без паузы он при этом стоит) если он пошевелится то надпись уберется.. постоит также 5 сек и опять включится.. со стандартным колбэком public OnPlayerUpdate такого не было.. наверное в нем заложены функции распознавания какие-то каких нет у просто переименованного.

есть советы что делать?

EakwarpДата: Пятница, 30.03.2012, 23:00 | Сообщение # 3992
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
RudeBoy, боже мой, вы вообще понимаете, что такое каллбэк? OnPlayerUpdate инициируется сервером, когда от игрока поступают данные на сервер. Вот вы его переименовали, добавили форвард, и как по вашему он теперь будет вызываться?


More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
RudeBoyДата: Пятница, 30.03.2012, 23:26 | Сообщение # 3993
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
Quote (Eakwarp)
RudeBoy, боже мой, вы вообще понимаете, что такое каллбэк? OnPlayerUpdate инициируется сервером, когда от игрока поступают данные на сервер. Вот вы его переименовали, добавили форвард, и как по вашему он теперь будет вызываться?


я могу отличить их))) бывает путаю значения, ну есть идеи? или не стоит его тогда удалять?

Добавлено (30.03.2012, 23:24)
---------------------------------------------
я бы хотел чтобы он вызывался не так часто..

Добавлено (30.03.2012, 23:25)
---------------------------------------------
хотя бы у стандартного OnPlayerUpdate можно как-то уменьшить такты?

Добавлено (30.03.2012, 23:26)
---------------------------------------------
допустим на 2 секунды поставить его не знаю..

EakwarpДата: Пятница, 30.03.2012, 23:26 | Сообщение # 3994
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (RudeBoy)
хотя бы у стандартного OnPlayerUpdate можно как-то уменьшить такты?

Нет нельзя.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
RudeBoyДата: Суббота, 31.03.2012, 02:25 | Сообщение # 3995
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
тогда такой вопрос, можно ли кроме него где-то еще использовать данную проверку? чтобы она правильно работала

PlayerAFK[playerid][AFK_Time] = 0;
if(PlayerAFK[playerid][AFK_Stat] != 0) { Delete3DTextLabel(AFK_3DT[playerid]); PlayerAFK[playerid][AFK_Stat] = 0; }

если да то где? или можно хотя бы переименовать его снова и вставить туда ту функцию которую ему не хватает для стабильной работы на проверку афк и сделать по таймеру? если да то чего ему не хватает где это можно достать?

еще вопрос, у меня весь транспорт (около 1800) в формате

AddStaticVehicleEx(439,-1724.8844,-138.9549,3.2636,12.4840,-1,-1,900);

я пытаюсь как-то всё сбалансировать и как лучше всего использовать транспорт убавлять таймер для респавна или применять эту лучше

AddStaticVehicle ? Я боюсь что множество таймеров лишнее для сервера, учитывая тот факт что читеры могут собейтом перемещаться по всем машинам тем самым активировать их у каждой AddStaticVehicleEx

BorogДата: Суббота, 31.03.2012, 02:41 | Сообщение # 3996
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
RudeBoy, Суть твоего АФК и заключается в вызывах к функции OnPlayerUpdate. Чего тебе приспичило ее удалить?

"Таймер для респавна" и SetTimer - разные вещи со значительно разной нагрузкой. Это не то, где нужно балансировать оптимизировать



Silver Break
http://s-break.ru/
http://vk.com/sbreak
RudeBoyДата: Понедельник, 02.04.2012, 07:59 | Сообщение # 3997
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
ладно на счет афк вроде не мешает тогда.

кто хочет стучитесь в аську, требуется максимальная и верная оптимизация public SetPlayerUnjail() оплата 200р
готов платить по мелочи за разные оптимизации стучитесь кому надо.

Добавлено (01.04.2012, 01:23)
---------------------------------------------
вопрос появился.

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

Добавлено (02.04.2012, 07:59)
---------------------------------------------
вопрос

Code
return true - будет быстрее чем return 1;
так же как и return false и return 0;


это правда???

EakwarpДата: Понедельник, 02.04.2012, 13:44 | Сообщение # 3998
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (RudeBoy)
это правда???

Нет.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
RudeBoyДата: Понедельник, 02.04.2012, 15:15 | Сообщение # 3999
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
как правильно применить switch в данном случае

Code
if(PlayerInfo[targetid][pFMember] < 255)
   {
    if(PlayerInfo[targetid][pRank] == 1) { rtext = "Outsider"; }
    else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Associate"; }
    else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Soldier"; }
    else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Capo"; }
    else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Underboss"; }
    else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Godfather"; }
    else { rtext = "Godfather"; }
   }


в статистике /stats (диалог) функция должна найти ранг именно из стока а не из себя.

Code
stock GetVAGRank(playerid)
{
  new rank[12];
  switch(PlayerInfo[playerid][pRank])
  {
   case 6:rank = "Àâòîðèòåò";
   case 5:rank = "Ãàíãñòåð";
   case 4:rank = "Îïàñíûé";
   case 3:rank = "Ïàòðèîò";
   case 2:rank = "Äîâåðåííûé";
   case 1:rank = "Ìåñòíûé";
   default:rank = "Ìåñòíûé";
  }
  return rank;
}

Добавлено (02.04.2012, 14:58)
---------------------------------------------
стринг пытаюсь оптимизировать (нужно мне)

Добавлено (02.04.2012, 15:15)
---------------------------------------------
долго помогаете, я уже сам додумался без вас

Code
if(PlayerInfo[targetid][pRank]) { rtext = GetVAGRank(playerid); }


kiss

Exclus1veДата: Среда, 04.04.2012, 16:27 | Сообщение # 4000
Освоившийся
Группа: Продвинутые
Сообщений: 141
Награды: 4
Город: Санкт-Петербург
Репутация: 330
Замечания: 40%
Статус:
Quote (RudeBoy)
это правда???


Нет, не правда.



node.js

Сообщение отредактировал Exclus1ve - Среда, 04.04.2012, 17:37
EakwarpДата: Среда, 04.04.2012, 16:35 | Сообщение # 4001
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (Exclus1ve)
Да, это правда, проверялось.

Совсем скурились? Это павн.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
Exclus1veДата: Среда, 04.04.2012, 17:33 | Сообщение # 4002
Освоившийся
Группа: Продвинутые
Сообщений: 141
Награды: 4
Город: Санкт-Петербург
Репутация: 330
Замечания: 40%
Статус:
Quote (Eakwarp)
Совсем скурились? Это павн.


Проверил, действительно, в павн это просто макрос значит. Скорость одинакова.

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



node.js

Сообщение отредактировал Exclus1ve - Среда, 04.04.2012, 17:36
RudeBoyДата: Понедельник, 09.04.2012, 09:10 | Сообщение # 4003
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
можно ли контролировать стандартные подсказки из синглплеера? которые в начале игры вылазиют - нажмите такую то кнопку для того-то и т.д.. ? если да то какой функцией?

также, можно ли контролировать стандартное уважение и тоже какой функцией?

и есть ли функция проверки воздуха под водой? (хочу сделать чтобы кончалось)

McSeTДата: Понедельник, 09.04.2012, 16:48 | Сообщение # 4004
Освоившийся
Группа: Продвинутые
Сообщений: 141
Награды: 0
Город: Где?
Репутация: -11
Замечания: 20%
Статус:
Как сделать команду чтобы проверять какая у кого лидерка если хоть игрок не в игре, тоесть я дал лидерку кому нибудь, и он вышел, я вел например команду: /leaderlist и там показывала у кого какая лидерка если даже игроки не в игре, сис-ма MXINI
EakwarpДата: Понедельник, 09.04.2012, 16:51 | Сообщение # 4005
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (RudeBoy)
можно ли контролировать стандартные подсказки из синглплеера? которые в начале игры вылазиют - нажмите такую то кнопку для того-то и т.д.. ? если да то какой функцией?

Можно сделать это посредством текстдравов.
Quote (RudeBoy)
также, можно ли контролировать стандартное уважение и тоже какой функцией? и есть ли функция проверки воздуха под водой? (хочу сделать чтобы кончалось)

Нет и нет.

Quote (McSeT)
Как сделать команду чтобы проверять какая у кого лидерка если хоть игрок не в игре, тоесть я дал лидерку кому нибудь, и он вышел, я вел например команду: /leaderlist и там показывала у кого какая лидерка если даже игроки не в игре, сис-ма MXINI

Например сохранять информацию о лидерках при их выдаче в отдельный файл, при использовании /leaderlist выводить информацию из этого файла.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua