shape1
shape2
shape3
shape4
shape7
shape8

SAMP, CRMP | Система рангов на сервере


VoiceDeveloper

Новичок
05.02.2020
0
1
0
Здравствуй, уважаемый читатель.
Я вот тут подумал, а что если вам написать маленькую системку рангов?


В глобальные переменные:

 ​

Код:
new Text3D: newbie3Dtext;
1) OnGameModeInit

Код:
public OnGameModeInit()
{	
	if(PI[playerid][pLevel] > 1 && PI[playerid][pLevel] < 3){
    	newbie3Dtext = Create3DTextLabel("Новичек", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
	}
    else if(PI[playerid][pLevel] > 3 && PI[playerid][pLevel] < 7){
    	newbie3Dtext = Create3DTextLabel("Развивающий", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
	}
    else if(PI[playerid][pLevel] > 7 && PI[playerid][pLevel] < 15){
    	newbie3Dtext = Create3DTextLabel("Продвинутый", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
	}
    else{
    	newbie3Dtext = Create3DTextLabel("Батька", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
	}
}
 ​
2) OnPlayerConnect
 ​

Код:
public OnPlayerConnect(playerid)
{
    Attach3DTextLabelToPlayer(newbie3Dtext, playerid, 0.0, 0.0, 2.0);
    return 1;
}
Автор: VoiceDeveloper
 
Последнее редактирование модератором:

Alexander_Batrakov

Новичок
Пользователь
13.09.2019
255
2
0
0
25
Игрок
Разве в событие OnGameModeInit присутствует айди игрока? что-то ты тут намудрил =D

Если хочешь задействовать айди игрока в событие OnGameModeInit, используй  цикл 

Пример:

Код:
new Text3D: newbie3Dtext[4];

for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(PI[i][pLevel] >= 1 && PI[i][pLevel] <= 3)
    {
    	newbie3Dtext[0] = Create3DTextLabel("Новичек", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
    }
    else if(PI[i][pLevel] > 3 && PI[i][pLevel] <= 7)
    {
    	newbie3Dtext[1] = Create3DTextLabel("Развивающий", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
    }
    else if(PI[i][pLevel] > 7 && PI[i][pLevel] <= 15)
    {
    	newbie3Dtext[2] = Create3DTextLabel("Продвинутый", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
    }
    else
    {
    	newbie3Dtext[3] = Create3DTextLabel("Батька", 0x339966AA, 7.77, 7.77, 7.77, 100.0, 0, 1);
    }
}

for(new text; text != 4; text++) Attach3DTextLabelToPlayer(newbie3Dtext[text], playerid, 0.0, 0.0, 2.0);
 
Последнее редактирование модератором:

Moks

Учитель русского языка
Пользователь
28.02.2014
539
7
82
0
@Alexander_Batrakov уверены, что Ваш код будет работать?)

Автор, вместо OnGameModeInit в первом пункте этот код будет отлично работать в функции загрузки данных игрока из базы данных, например.И прикрепление 3D текста лучше сделать там же, а не в OnPlayerConnect.

 

VoiceDeveloper

Новичок
05.02.2020
0
1
0
@Alexander_Batrakov Упсс.. :D  Я писал код прямо на форуме :D Проверить не мог :D
p.s Заменить не смогу

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