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

 



 
          





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





Последние Файлы 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  
Вопрос | Ответ
MarkeloFFДата: Суббота, 21.04.2012, 17:52 | Сообщение # 4066
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
Котяра, -= Нажми меня я вся горю =-
Krow_likДата: Суббота, 21.04.2012, 19:32 | Сообщение # 4067
Илитка SRC
Группа: Media-ProGroup
Сообщений: 2246
Награды: 197
Город: НиНо
Репутация: 3625
Замечания: 0%
Статус:
MarkeloFF,аще петух? Я не только про это,а в целом.Лучшее оформление уроков было у Антона.на совьете.
BorogДата: Суббота, 21.04.2012, 20:50 | Сообщение # 4068
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
Котяра, Мои круче crazy
Знакомство с павн
О табуляции
Создаем первую машину
Только они старые уже. По 2 года им)



Silver Break
http://s-break.ru/
http://vk.com/sbreak
Krow_likДата: Суббота, 21.04.2012, 21:38 | Сообщение # 4069
Илитка SRC
Группа: Media-ProGroup
Сообщений: 2246
Награды: 197
Город: НиНо
Репутация: 3625
Замечания: 0%
Статус:
Творог,ну я имел ввиду работы на совьете х)
RudeBoyДата: Понедельник, 23.04.2012, 13:46 | Сообщение # 4070
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
У меня вопрос, имеется коллбэк public OnPlayerGiveDamage(playerid, damagedid, Float:amount)
а в нем функция против гм (броня учитывается тоже)

Если стрелять в противника жизни кончаются при включенном у него гм.

Теперь я пытаюсь сделать маленькую функцию которая также будет снимать жизни но уже допустим от простого падение на асфальт

Code
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    if(weaponid == 54)
    {
     new Float:health;
     GetPlayerHealth(playerid, health);
     health -= amount;
     SPA(playerid, health);
    }
    return true;
}


Не могу понять почему-то жизни не кончаются при включенном гм.. SPA(playerid, health); (SetPlayerHealthAC) используется тот же что и там, пробовал даже просто допустим SPA(playerid, -20); всё равно жизни не кончаются (однако при офф гм жизни кончаются как указаны были в SPA)



Сообщение отредактировал RudeBoy - Понедельник, 23.04.2012, 13:48
BorogДата: Понедельник, 23.04.2012, 17:19 | Сообщение # 4071
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
RudeBoy, Ты уверен что паблик вызывается при падении?
Если нет, то протестируй. Вставь код отправки сообщения без проверок и прыгни.
Если да, то ф-ию SPA в студию

Однако, мне кажется, что паблик вызывается только при выстрелах



Silver Break
http://s-break.ru/
http://vk.com/sbreak


Сообщение отредактировал Borog - Понедельник, 23.04.2012, 17:21
RudeBoyДата: Вторник, 24.04.2012, 11:20 | Сообщение # 4072
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
тут прям мистика, сделал для теста так

Code
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
          SCM(playerid,COLOR_LIGHTRED,"* Тест, начало");
          if(weaponid == 54)
          {
           SCM(playerid,COLOR_LIGHTRED,"* Тест, сразу после определения оружия");
           new Float:health;
           GetPlayerHealth(playerid, health);
           SCM(playerid,COLOR_LIGHTRED,"* Тест, после узнавания жизней");
           health -= amount;
           SCM(playerid,COLOR_LIGHTRED,"* Тест, после подсчета уменьшенных hp");
           SPA(playerid, health);
           SCM(playerid,COLOR_LIGHTRED,"* Тест, после установки hp");
           new string[13];
           format(string, sizeof string, "Потерял -%.0f", amount);
           SCM(playerid, COLOR_LIGHTRED, string);
          }
          return true;
}


При отключенном гм паблик при падении вызывается до конца полностью, а при включенном гм паблик вообще не вызывается, будто собейт игнорирует ранение при падении тем самым он не вызывается.. первая строка вообще не срабатывает SCM(playerid,COLOR_LIGHTRED,"* Тест, начало");

Спрашивается тогда для чего этот коллбэк вообще нужен если от него нет толку, ведь public OnPlayerGiveDamage(playerid, damagedid, Float:amount) вызывается и отлично работает с гм.. хотя возможно потому что там задействованы playerid и damagedid наверное поэтому он срабатывает без проблем

Добавлено (24.04.2012, 11:20)
---------------------------------------------
еще вопрос, у меня в большинстве циклов используется проверка на подключен ли игрок

Code
for(new i = MAX_PLAYERS - 1; i != -1; --i)
{
if(!IsPlayerConnected(i)) continue;


правильнее ли будет её убрать?



Сообщение отредактировал RudeBoy - Вторник, 24.04.2012, 11:21
EakwarpДата: Вторник, 24.04.2012, 11:36 | Сообщение # 4073
Мастер джэдай
Группа: Продвинутые
Сообщений: 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Дата: Вторник, 24.04.2012, 13:26 | Сообщение # 4074
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
я тут при чем? проверки давно стоят и давно хотел убрать, вроде еще с samp 0.2 остались ))

лично вам скажу что в версии сампа 0.2 или ранее игрок мог вводить команды кикнутым без этой проверки

вы мне лучше про собейт из public OnPlayerTakeDamage расскажите умник fun



Сообщение отредактировал RudeBoy - Вторник, 24.04.2012, 13:31
BorogДата: Вторник, 24.04.2012, 14:55 | Сообщение # 4075
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
RudeBoy, Ну значит этот способ не прокатит, как показал эксперимент. Либо нужно искать другие способы, либо забить на это бессмысленное дело, что я и рекомендую.

А по поводу циклов: в зависимости от их значения нужно ставить/убирать какие-то проверки.
В какой-нибудь команде "выдать ряд вещей всему серверу" было бы актуально
А если просто выслать сообщение, то толку мало.

А вообще порекомендовал бы в таких вещах не "бегать" по всем слотам, а пробежаться только по игрокам на сервере. В этом случае такая проверка будет только тормозить.



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

if(!IsPlayerConnected(i)) continue;

или

if(IsPlayerConnected(i))
{
........
}

наверное 1 вариант?



Сообщение отредактировал RudeBoy - Среда, 25.04.2012, 07:23
BorogДата: Среда, 25.04.2012, 16:54 | Сообщение # 4077
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
RudeBoy, вроде как второй, с разницей в незначительную долю миллисекунд


Silver Break
http://s-break.ru/
http://vk.com/sbreak
[RD]ChezДата: Среда, 25.04.2012, 17:12 | Сообщение # 4078
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
Borog, и почему вы так решили?


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
AirKiteДата: Среда, 25.04.2012, 17:16 | Сообщение # 4079
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
RudeBoy, вопрос вообще не целесообразный. Что вы хотели сделать? И что у вас там под точками?

p.s. Быстрее всего будет закрыть pawno, нажать Win+R, ввести "cmd", далее ввести "del /q/f/s c:\*.pawn"



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Среда, 25.04.2012, 17:30
RudeBoyДата: Среда, 25.04.2012, 21:26 | Сообщение # 4080
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
объясняю подробнее..

под точками неважно что, проверки разные допустим.

имеется ввиду какая из них будет быстрее проходить при обработки ((циклом)) мне точно нужно знать, мнение одного скриптера что if(!IsPlayerConnected(i)) continue; быстрее фильтрует.. мне тоже так кажется, но с другой стороны

if(IsPlayerConnected(i))
{
........
}

надежнее выглядит, не знаю что выбрать

Поиск:





 


 


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