shape1
shape2
shape3
shape4
shape7
shape8

Убираем "_" в нике


Vova_Zenko

Новичок
Пользователь
07.09.2017
282
4
0
21
Модпакер
Автор: Dest

Всем привет уважаемые пользователи!

Сейчас хочу вам выложить такой мануал, как убрать "_" в нике игрока

Все мы знаем, что в игре между Имя и Фамилия есть такой символ "_"

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

Подойдет как раз для RP проектов

Весь код вставляем в конец мода:

Это вернет ваше имя Ivan

stock pName(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
new getspace = strfind(nick, "_", true);
if(getspace != -1) strdel(nick, getspace, sizeof(nick));
return nick;
}


Далее:

Это вернет вашу фамилию Ivanov

stock pLastName(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
new getspace = strfind(nick, "_", true);
if(getspace != -1) strdel(nick, 0, getspace+1);
return nick;
}


Ну и последнее:

Это вернет уже разделено Ivan Ivanov

Код:
stock pNameEx(playerid)
{
    new nick[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
    new getspace = strfind(nick, "_", true);
    if(getspace != -1) nick[getspace] = ' ';
    return nick;
}
 

FIZRYK43

Новичок
Пользователь
09.10.2019
7
0
0
33
Скриптер
Отличный мануал, к этому мануалу стоит написать мануал, на русские ники, и будет конфетка.

 
Последнее редактирование модератором:

Alexander_Batrakov

Новичок
Пользователь
13.09.2019
255
2
0
0
25
Игрок
Если не поняли то, примерно так

stock pNameEx(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
KryptoHook_GetPlayerName(nick);
new getspace = strfind(nick, "_", true);
if(getspace != -1) nick[getspace] = ' ';
return nick;
}




Проверки валидности я думаю не стоит.

Код:
IsValidNickName(name[])
 

Alexander_Batrakov

Новичок
Пользователь
13.09.2019
255
2
0
0
25
Игрок
@FIZRYK43 Посидел подумал, написал свой вариант, это если использовать плагин vodka_samp.

stock RussianNick(playerid, name[], max)
{
if(IsValidNickName(name[playerid]))
{
GetPlayerName(playerid, name[playerid], max);
KryptoHook_GetPlayerName(name[playerid]);
name[playerid] = name[playerid] == '_' ? ' ' : name[playerid];
}
}
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
RussianNick(playerid, name, 30);
return 1;
}




Дополню

Если вы считаете что вы напишите лучше, пишите и присылайте свой код сюда.

 
Последнее редактирование модератором: