Изменение моделей игроков

Тема в разделе "Программирование / Скриптинг", создана пользователем pokypka20, 14 авг 2014.

  1. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Подскажите как можно заменить скины всем игрокам сразу, без настроек и прочего просто зашол на сервер и ему установился скин для т и кт.
     
  2. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Много лишних вопросов. За тебя все должны делать тут что ль ?
     
    максимка27 нравится это.
  3. Sokret

    Sokret

    Сообщения:
    34
    Симпатии:
    3
    попробуй http://hlmod.ru/forum/plaginy-dlya-sourcemod/346-simple-skins-v-2-4-a.html
     
  4. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    При респе выдаёшь скин и всё, в чем проблема?
    Если команда игрока = террорист, то выдать ему 1 скин.
    Если команда игркоа = контр-террорист, то выдать ему 2 скин.
     
  5. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Комманда выдачи скина интересовала)) тоесть переменная. Я уже плагин другой разобрал пытаюсь его под себя переделать.

    Добавлено через 1 минуту
    Обожаю такие ответы, особенно когда на ваших серверах вижу плагины примеры которых были взяты с тем которые я создавал.
     
    Последнее редактирование: 14 авг 2014
    artushonok нравится это.
  6. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Вот простой вариант:
    PHP:
    PlayerSpawn(....)
    {
        if(
    IsPlayerAlive(client) && GetClientTeam(client) == 2//если террорист
        
    {
            
    SetEntityModel(client,"models/player/custom.mdl");
        }
        else if(
    IsPlayerAlive(client) && GetClientTeam(client) == 3//Если контр-террорист
        
    {
            
    SetEntityModel(client"models/player/custom.mdl");
        }
    }
    Однако, это лишь смена модели, сначала нужно сделать Precache модели, а перед этим её загрузить :3

    P.S. Не стесняемся, пользуемся https://sm.alliedmods.net/api/
     
    Серый™ и pokypka20 нравится это.
  7. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Primo, то что нужно, именно это интересовало.
     
  8. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    Это вообще зачем при событии спавна? Лучше (и нужно) проверить индекс, а потом уже ставим нужный скин.
    PHP:
    PlayerSpawn(....)
    {
        if (
    client)
        {
            switch (
    GetClientTeam(client))
            {
                case 
    2:SetEntityModel(client,"models/player/custom.mdl"); //если террорист
                
    case 3:SetEntityModel(client"models/player/custom.mdl"); //если КТ
            
    }
        }
    }
     
    pokypka20 нравится это.
  9. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.004
    Симпатии:
    2.994
    При входе игрока на сервер вызывается player_spawn и при этом игрок проходит проверки IsClientInGame(i), IsPlayerAlive(i) вот только команда у него 0.
    Поэтому достаточно сделать так:
    PHP:
    new String:g_sModels[2][] = {"models/player/custom.mdl""models/player/custom.mdl"};

    public 
    Event_OnPlayerSpawn(Handle:hEvent, const String:name[], bool:dontBroadcast)
    {
        new 
    iClient GetClientOfUserId(GetEventInt(hEvent"userid"));
        new 
    iTeam GetClientTeam(iClient);
        if(
    iTeam 1SetEntityModel(iClientg_sModels[iTeam-2]);
    }
     
    pokypka20 нравится это.
  10. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    А как же обычный спавн? Клиент может быть неверным.
    Если честно, когда скин не должен меняться за всё время нахождения игрока на сервере, то через спавн делать - глупо.
    Неплохой код, но нет смысла 2 раза проверять обычную переменную, да ещё создавать строку для пары возможных путей, скажем так.
    Вот если скинов много - другое дело.
     
  11. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Большая просьба подскажите что не так в true:false

    PHP:
    LeftRandom(i"[Админ: %s]"GetUserAdmin(i) ? "Да":"Нет"); // Всегда пишет Да (даже когда игрок не админ.)
     
  12. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    GetUserAdmin(i) != INVALID_ADMIN_ID
     
    pokypka20 нравится это.
  13. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Это не ты придумываешь, это МЫ с тобой делимся ТЕМ, ЧТО ТЫ ВИДЕЛ У НАС. Так что...
     
    Primo нравится это.
  14. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Лично для тебя отвечаю, я не играю на ваших серверах.. Меня не интересуют все ваши mg, deathrun, public и прочяя лабуда, все идеи я беру с головы и пытаюсь воплатить, а у вас просто спрашиваю реализацию. И по поводу делимся тем что видел у вас, - это чем таким вы поделились что я видел у вас? Или ты думаеш что я обшариваю гугл чтобы найти твои сервера и стырить побольше идеи??? Все сервера которые в топе работают полностью на стандартных плагинах и уникальности у них нет, а искать сервера скриптеров желания не имею. И если пошла уже такая тема удиви меня своими идеями которые я должен видеть У ВАС!!. Из всех пользователей я знаю только сервера korden сёрф и деатматч, но там тырить нечего поверь мне. Возможно когда закончю с реализацией своего мода я скину несколько скринов, но не одного паблик плагина кроме см там нет.
    Последний плагин который я делал, это изменение скорости и брызги крови у раненного игрока - кто уже додумывался это воплащать? у кого я стырил идею?
    И еще один вопрос про m_iprogressbar, я крепил эту полоску к отдельному класу медика который может лечить игроков - кто то уже додумывался до этого?? зачем бросаться словами что я тырю идеи ваших плагинов?

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

    Я реально задолбался уже писать, бб.
     
  15. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    Эта идея реализована ещё в 2009 году:
    CS:S Gore, GoreMod, CS:GO Goremod.
    У кого из них стырил - тебе виднее...
     
  16. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Это бызги при выстреле!! У меня игрок становится медленее и истекает кровью если мало хп.

    Dayz мод, типо.
     
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    Квары посмотри, там то же самое.
    Единственное, хотя не факт, я лишь 1 мод испытывал в действии.
     
  18. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.004
    Симпатии:
    2.994
    Просто делать if(client) и он будет верным.


    А как не глупо?
    Это когда и какая проверяется 2 раза?
    Ну да, лучше же делать проверки на команду нежели заюзать индекс.



    Мне вот интересно в плане реализации кода
    PHP:
    switch (GetClientTeam(client))
    Язык программирование сохраняет полученное значение в память и с ним сравнивает или же получает заново при каждом сравнении?
     
  19. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.992
    И я о том же. У меня есть, а ты не стал проверять.
    После выбора игроком команды разве нельзя?
    iTeam - в условии и для индекса.
    Ты же тоже делаешь, да ещё те 2 раза, так какой смысл? Только в единственном написании SetEntityModel (зато ещё юзать строку)?
     
  20. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.004
    Симпатии:
    2.994
    AlmazON, в индексе нет проверки, обрати внимание.