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

pokypka20

Участник
Сообщения
244
Реакции
31
Подскажите как можно заменить скины всем игрокам сразу, без настроек и прочего просто зашол на сервер и ему установился скин для т и кт.
 

Sokret

Участник
Сообщения
33
Реакции
4

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
При респе выдаёшь скин и всё, в чем проблема?
Если команда игрока = террорист, то выдать ему 1 скин.
Если команда игркоа = контр-террорист, то выдать ему 2 скин.
 

pokypka20

Участник
Сообщения
244
Реакции
31
При респе выдаёшь скин и всё, в чем проблема?
Если команда игрока = террорист, то выдать ему 1 скин.
Если команда игркоа = контр-террорист, то выдать ему 2 скин.

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

Добавлено через 1 минуту
Много лишних вопросов. За тебя все должны делать тут что ль ?

Обожаю такие ответы, особенно когда на ваших серверах вижу плагины примеры которых были взяты с тем которые я создавал.
 
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Вот простой вариант:
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

Участник
Сообщения
244
Реакции
31
Primo, то что нужно, именно это интересовало.
 

AlmazON

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

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
При входе игрока на сервер вызывается 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 > 1) SetEntityModel(iClient, g_sModels[iTeam-2]);
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
входе игрока на сервер вызывается player_spawn и при этом игрок проходит проверки IsClientInGame(i), IsPlayerAlive(i)
А как же обычный спавн? Клиент может быть неверным.
Если честно, когда скин не должен меняться за всё время нахождения игрока на сервере, то через спавн делать - глупо.
Неплохой код, но нет смысла 2 раза проверять обычную переменную, да ещё создавать строку для пары возможных путей, скажем так.
Вот если скинов много - другое дело.
 

pokypka20

Участник
Сообщения
244
Реакции
31
Большая просьба подскажите что не так в true:false

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

TolikCorp

Участник
Сообщения
874
Реакции
334
Обожаю такие ответы, особенно когда на ваших серверах вижу плагины примеры которых были взяты с тем которые я создавал.
Это не ты придумываешь, это МЫ с тобой делимся ТЕМ, ЧТО ТЫ ВИДЕЛ У НАС. Так что...
 

pokypka20

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

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

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

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #18
А как же обычный спавн? Клиент может быть неверным.
Просто делать if(client) и он будет верным.


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



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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
if(client) и он будет верным
И я о том же. У меня есть, а ты не стал проверять.
После выбора игроком команды разве нельзя?
iTeam - в условии и для индекса.
лучше же делать проверки на команду нежели заюзать индекс
Ты же тоже делаешь, да ещё те 2 раза, так какой смысл? Только в единственном написании SetEntityModel (зато ещё юзать строку)?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #20
AlmazON, в индексе нет проверки, обрати внимание.
 
Сверху Снизу