Не совпадает цвет
#1

PHP код:
if(text[0] == '!')
    {
        new 
playername[MAX_PLAYER_NAME], string[128];
        
GetPlayerName(playeridplayernamesizeof(playername));
        
format(stringsizeof(string), "%s (!):  {ffffff}%s"playernametext[1]);
        
SendClientMessageToAll(GetPlayerColor(playerid), string);
        return 
0;
    } 
Допустим даётся ник оранжевый, но пишешь ! Привет

Пишет ник черным цветом,а не оранжевым, почему?
Reply
#2

GetPlayerColor(playerid) не работает пока скриптово не задашь игроку цвет, и поэтому возвращает 0 = черный
Reply
#3

скриптово задашь игроку цвет через SetPlayerColor и узнаешь ещё про один баг сампа, с которым игроки счас мучаются.
Reply
#4

Всё...Спасибо вам, посмотрел в вики и понял что нужно сделать..
Reply
#5

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
скриптово задашь игроку цвет через SetPlayerColor и узнаешь ещё про один баг сампа, с которым игроки счас мучаются.
А можешь рассказать вкратце о нем?
Заранее спасибо
Reply
#6

Была тема похожая
https://sampforum.blast.hk/showthread.php?tid=230376
Reply
#7

https://sampwiki.blast.hk/wiki/GetPlayerColor тут написано в красной рамочке. И ссылка на решение.
Reply
#8

Quote:
Originally Posted by dimonml
Посмотреть сообщение
А можешь рассказать вкратце о нем?
Заранее спасибо
SetPlayerColor

У меня была задача: отделить людей без лицензии на розовых и белых, чтобы игроки видели по цвету ника.
В итоге в ф-ии OnPlayerConnect и OnPlayerSpawn добавляю SetPlayerColor.

В общем суть бага такова:
когда игрок выходит или входит в интерьер, а также ещё при любом срабатывании паблика public OnPlayerStreamIn(playerid, forplayerid), то их ник меняется назад на белый.

Не совсем Решение:
циклом for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
при каждом вызове SetPlayerColor для одного игрока, инициализировать SetPlayerColor всем игрокам.
Но решение не долгосрочное.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)