Еще раз тебя приветствую. У меня появился еще вопросик: 'Как сделать простую систему уровня по фрагам на Mysql r39-2?' Искал в Google and Yandex. Нашел только одну и то она на файлах. Мне бы по проще. Просто количество убийств и прогресс уровня.
Еще раз тебя приветствую. У меня появился еще вопросик: 'Как сделать простую систему уровня по фрагам на Mysql r39-2?' Искал в Google and Yandex. Нашел только одну и то она на файлах. Мне бы по проще. Просто количество убийств и прогресс уровня.
Последний раз редактировалось Elaid; 18.11.2014 в 11:10. Причина: прост))0)
Разве система уровней как-то связана с MySQL или файлами? О_о
Просто записывайте число убийств в массив и далее делайте проверки по типу
И после уже записывайте число убийств в БДPHP код:
if(0 <= Массив_с_убийствами <= 10)
{
//Первый уровень
}
else if(11 <= Массив_с_убийствами <= 50)
{
//Второй уровень
}
//...
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Elaid (20.09.2014)
Вот нечего мне делать и я решил все таки доделать это. Дак вот. Как построить этот массив? Мне просто надое, так сказать, сделать проверку на количество убитый человек и при коннекте выдавать ему уровень, в зависимости от этого количества? А можно сделать так, чтобы все это происходило непосредственно в игре. И тебе выдавался уже сохраненный уровень. Меня вот это интересует.
Функция SetGameModeText определяет уникальность вашего мода :D (Evil School Boy)
Иногда так хочется крикнуть: "Подручныый .." :с
самый банальный пример:
Каждый 50 убийств будет давать новый уровеньPHP код:
if( GetPlayerScore( playerid ) % 50 == 0 ){
//level up
}
Ну вот тебе самый элементарный пример скрипта, когда разница в фрагах между уровнями может быть разная.
Глобально:
В этом stock производи все действия, которые должны происходить при получении нового уровня/обновлении числа фрагов (например, текстдравы с фрагами/уровнем обновлять можно тут, дабы код не плодить)PHP код:
new PlayerScore[MAX_PLAYERS];//Или же в enum создай новый член
new PlayerLevel[MAX_PLAYERS];//Или же в enum создай новый член
Ну и теперь в OnPlayerDeathPHP код:
stock UpdatePlayerLevel(playerid)
{
if(PlayerScore[playerid] < 10)
{
PlayerLevel[playerid] = 1;
}
else if(10 <= PlayerScore[playerid] < 50)
{
PlayerLevel[playerid] = 2;
}
else if(50 <= PlayerScore[playerid] < 100)
{
PlayerLevel[playerid] = 3;
}
else if(100 <= PlayerScore[playerid] < 200)
{
PlayerLevel[playerid] = 3;
}
//...
return 1;
}
А так же OnPlayerSpawn + при загрузке аккаунта (можно прямо после загрузки строки с фрагами вставить)PHP код:
if(killerid != INVALID_PLAYER_ID)
{
PlayerScore[killerid]++;
SetPlayerScore(killerid, PlayerScore[killerid]);
UpdatePlayerLevel(killerid);
}
Ну и так же во все команды/функции, что обновляют число убийств у игрока и при этом не идёт вызов UpdatePlayerLevel (например, команда, типа /setscore)PHP код:
UpdatePlayerLevel(playerid);
P.S. Когда-то я за подобный код (немного доработанный и более удобный) брал деньги... Хорошие были временаPHP код:
UpdatePlayerLevel(тут_переменная_с_id);
Последний раз редактировалось DeimoS; 17.11.2014 в 19:35.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Elaid (17.11.2014)
Стареешь, друг мой.stock UpdatePlayerLevel(playerid)
{
if(0 <= PlayerScore[playerid] < 10)
{
PlayerLevel[playerid] = 1;
}
else if(10 <= Массив_с_убийствами < 50)
{
PlayerLevel[playerid] = 2;
}
else if(50 <= Массив_с_убийствами < 100)
{
PlayerLevel[playerid] = 3;
}
else if(100 <= Массив_с_убийствами < 200)
{
PlayerLevel[playerid] = 3;
}
//...
return 1;
}
Последний раз редактировалось Seregamil; 17.11.2014 в 18:39.
Elaid (18.11.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)