Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Flime
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    15 ±

    По синхронизации

    Здравствуйте, вот пишу свой сервер и сталкиваюсь с рядом проблем...
    Самая главная из них - это проблема с синхронизацией..
    Понимаю, что разработчики сампа еще не решили эту проблему до конца, однако...
    Вот пример..
    Если взять чистый мод..
    И написать следующий код:
    PHP код:
    public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
    switch(
    hittype)
    {
    case 
    1:PlayerPlaySound(playerid,6401,0.0,0.0,0.0);
    }
    return 
    1;

    То будет видно, что при некоторых попаданиях колокол будет работать, а уровень хп игрока снижаться не будет..
    Из всего этого у меня возник вопрос можно ли как-то полностью синхронизировать эти паблики..
    Ведь глобальным проектам(Адванс, Даймонд) это удалось...
    Слышал про способ:
    PHP код:
    public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponid

        new 
    FloatvidaFloatarmaduraFloatdmg
                     
        
    GetPlayerArmour(damagedidarmadura); 
        
    GetPlayerHealth(damagedidvida); 
                     
        if(
    armadura 0
        { 
            if(
    amount armadura
            { 
                
    dmg amount armadura
                
    vida vida dmg
                
    SetPlayerArmour(damagedid0.0); 
                
    SetPlayerHealth(damagedidvida); 
                return 
    1
            } 
            
    armadura armadura amount
            
    SetPlayerArmour(damagedidarmadura); 
        } 
        if(
    armadura 1
        { 
            
    vida vida amount
            
    SetPlayerHealth(damagedidvida); 
        } 
        return 
    true

    Хочу услышать ваше мнение о нем?
    Еще слышал, что существуют какие-то минусы, что-то связанное с тем что можно бесконечно всех убивать, если использовать данный код.
    Была у меня мысль про скрытые функции сампа.. Может быть разработчики сампа дают большим проектам улучшенные сервера... Ну это бред мне кажется.
    Жду вашей помощи..

  2. #2
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    333
    Репутация:
    47 ±
    Цитата Сообщение от Flime Посмотреть сообщение
    Здравствуйте, вот пишу свой сервер и сталкиваюсь с рядом проблем...
    Самая главная из них - это проблема с синхронизацией..
    Понимаю, что разработчики сампа еще не решили эту проблему до конца, однако...
    Вот пример..
    Если взять чистый мод..
    И написать следующий код:
    PHP код:
    public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
    switch(
    hittype)
    {
    case 
    1:PlayerPlaySound(playerid,6401,0.0,0.0,0.0);
    }
    return 
    1;

    То будет видно, что при некоторых попаданиях колокол будет работать, а уровень хп игрока снижаться не будет..
    Из всего этого у меня возник вопрос можно ли как-то полностью синхронизировать эти паблики..
    Ведь глобальным проектам(Адванс, Даймонд) это удалось...
    Слышал про способ:
    PHP код:
    public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponid

        new 
    FloatvidaFloatarmaduraFloatdmg
                     
        
    GetPlayerArmour(damagedidarmadura); 
        
    GetPlayerHealth(damagedidvida); 
                     
        if(
    armadura 0
        { 
            if(
    amount armadura
            { 
                
    dmg amount armadura
                
    vida vida dmg
                
    SetPlayerArmour(damagedid0.0); 
                
    SetPlayerHealth(damagedidvida); 
                return 
    1
            } 
            
    armadura armadura amount
            
    SetPlayerArmour(damagedidarmadura); 
        } 
        if(
    armadura 1
        { 
            
    vida vida amount
            
    SetPlayerHealth(damagedidvida); 
        } 
        return 
    true

    Хочу услышать ваше мнение о нем?
    Еще слышал, что существуют какие-то минусы, что-то связанное с тем что можно бесконечно всех убивать, если использовать данный код.
    Была у меня мысль про скрытые функции сампа.. Может быть разработчики сампа дают большим проектам улучшенные сервера... Ну это бред мне кажется.
    Жду вашей помощи..
    Ну про одну функцию скрытую уже говорили ;) С помощью нее Адванс сделали античит на собейт и клео вроде, если память не изменяет.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Попробуйте полностью перенести урон на сторону сервера (SetPlayerHealth в OnPlayerWeaponShot для каждого оружия).
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. #4
    Аватар для Flime
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    15 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Попробуйте полностью перенести урон на сторону сервера (SetPlayerHealth в OnPlayerWeaponShot для каждого оружия).
    Мне кажется этот вариант не плох, но под каждое оружия сидеть подбирать урон, под ShotGun сверять дистанцию, искать анимации при попадании игроку в живот... Очень много работы. Возможно, есть еще варианты?

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Flime Посмотреть сообщение
    Мне кажется этот вариант не плох, но под каждое оружия сидеть подбирать урон, под ShotGun сверять дистанцию, искать анимации при попадании игроку в живот... Очень много работы. Возможно, есть еще варианты?
    Других вариантов, дающих полный контроль над уроном, нет
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #6
    Аватар для J-Ex
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2014
    Сообщений
    40
    Репутация:
    9 ±
    Эмм...зачем нужны оба коллбэка сразу? В каждой конкретной ситуации можно пользоваться только одним из коллбэков. Про второй вариант правда, что есть клео, которое вызывает ложное срабатывание коллбэка, но сразу 2 варианта этого чита фиксятся в 2 строки(достаточно немного потестить, сам на той неделе этим занимался).

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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