Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Score [для ДМ/ТДМ]

Статус
В этой теме нельзя размещать новые ответы.

JFace

Умник
Доброй ночи уважаемые форумчане, сегодня я покажу как сделать Score для ДМ/ТДМ серверов. Долго лазил по форуму пытался найти для своего что-то подходящее но увы нашел только огрызки. И так пожалуй приступим:

Ко всем new:
PHP:
new Text:Textdraw0[MAX_PLAYERS];
new Text:Textdraw1[MAX_PLAYERS];
new level[MAX_PLAYERS];
В enum pInfo:
PHP:
pScore,
Далее идем в public OnPlayerConnect:
PHP:
	 Textdraw0[playerid] = TextDrawCreate(500, 130, "SCR:~r~");
	 TextDrawBackgroundColor(Textdraw0[playerid], 170);
     TextDrawFont(Textdraw0[playerid], 2);
     TextDrawLetterSize(Textdraw0[playerid], 0.3, 1.6);
     TextDrawColor(Text:Textdraw0[playerid], -1);
     TextDrawSetOutline(Textdraw0[playerid], 1);
     TextDrawSetProportional(Textdraw0[playerid], 1);

     Textdraw1[playerid] = TextDrawCreate(500, 112, "RANK:~r~"); 
     TextDrawBackgroundColor(Textdraw1[playerid], 170);
     TextDrawFont(Textdraw1[playerid], 2); 
     TextDrawLetterSize(Textdraw1[playerid], 0.3, 1.6);
     TextDrawColor(Text:Textdraw1[playerid], -1);
     TextDrawSetOutline(Textdraw1[playerid], 1); 
     TextDrawSetProportional(Textdraw1[playerid], 1);
Теперь в public OnPlayerSpawn:
PHP:
    TextDrawShowForPlayer( playerid, Textdraw0[playerid] );
     TextDrawShowForPlayer( playerid, Textdraw1[playerid] );
Далее идем в public OnPlayerUpdate:
PHP:
    new string[100];
     new score = GetPlayerScore(playerid);
     format( string, sizeof string, "SCR:~r~ %d/%d", score ,level[playerid]);
     TextDrawSetString(Textdraw0[playerid], string);
     format( string, sizeof string, "RANK:~r~ %s",RangName(playerid));
     TextDrawSetString( Textdraw1[playerid], string );
Идем в public OnPlayerRegistered:
PHP:
ini_setInteger(iniFile, "Score", 0);
Переходим к public OnPlayerSave:
PHP:
Player[playerid][pScore] = GetPlayerScore(playerid);
ini_setInteger(iniFile, "Score", Player[playerid][pScore]);
Далее переходим в public OnPlayerLogged:
PHP:
ini_getInteger(iniFile, "Score", Player[playerid][pScore]);
SetPlayerScore(playerid, Player[playerid][pScore]);
В конце мода создаем stock RangName(playerid):
PHP:
stock RangName(playerid)
{
	new rangi[64];
	if (GetPlayerScore(playerid) >= 0) rangi = ("Private"), level[playerid] = 5;
           if (GetPlayerScore(playerid) >= 0) rangi = ("Corporal"), level[playerid] = 20;
	if (GetPlayerScore(playerid) > 20) rangi = ("Sergeant"),level[playerid] = 80;
	if (GetPlayerScore(playerid) > 40) rangi = ("Ensign"), level[playerid] = 160;
	if (GetPlayerScore(playerid) > 80) rangi = ("Lieutenant"), level[playerid] = 240;
	if (GetPlayerScore(playerid) > 120) rangi = ("Captain"), level[playerid] = 300;
	if (GetPlayerScore(playerid) > 150) rangi = ("Major"), level[playerid] = 380;
	if (GetPlayerScore(playerid) > 190) rangi = ("Colonel"), level[playerid] = 480;
	if (GetPlayerScore(playerid) > 240) rangi = ("General"), level[playerid] = 650;
	if (GetPlayerScore(playerid) > 320) rangi = ("Marshal"), level[playerid] = 1100;
	if (GetPlayerScore(playerid) > 400) rangi = ("Generalissimo"), level[playerid] = 1500;
	return rangi;
}
На этом мы закончим, жду коментариев.
Автор [FS]- UNREAL, Автор переделки с сохранением я.
Может кому-то, это нужно.
Кому понравилось +саните :bz:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу