Система достижений для SAMP - GTA: SAMP - Моддинг Игр и Серверов Перейти к содержанию

Система достижений для SAMP


OriginalShaman

Рекомендуемые сообщения

Простейшая система достижений для SAMP

 

 

 

Использование:

Achievement(playerid, "Loser", "Lose more than $ 10,000", 800, 3);  
Название ачивки - Loser
Описание достижения - Lose more than $ 10,000
Денежное вознаграждение - 800
Опыт - 3
 
 
Пример использования:
public OnPlayerDeath(playerid, killerid, reason)
{
    new dengi = GetPlayerMoney(playerid)/4;
    SetPlayerMoney(playerid,GetPlayerMoney(playerid)-dengi);
    SetPlayerMoney(killerid,GetPlayerMoney(killerid)+dengi);
    If (dengi > 10000)
    {
        Achievement(playerid, "Loser", "Lose more than $ 10,000", 800, 3);
    }
}  
 
 
Ко всем new
new Text:BoxUp;                         new Text:BoxDown;
new Text:AchievementUp;                 new Text:AchievementDown;
new Text:AchievementNameUp;           new Text:AchievementNameDown;
new Text:AchievementDescriptionUp;    new Text:AchievementDescriptionDown;
new Text:AchievementMoneyUp;          new Text:AchievementMoneyDown;
new Text:AchievementExpUp;            new Text:AchievementExpDown;
new bool:FASN; // First Achievement Showing Now ?
new bool:SASN; // Second Achievement Showing Now ?  
forward Achievement(playerid,aname[],adescr[],amoney,aexp);
forward killmepleaseup(playerid); forward killmepleasedown(playerid);  
 
К пабликам:
public Achievement(playerid,aname[],adescr[],amoney,aexp)
{
    if (FASN == true)
    {
        if (SASN == true)
        {
            TextDrawHideForAll(Text:BoxUp);
            TextDrawHideForAll(Text:AchievementUp);
            TextDrawHideForAll(Text:AchievementNameUp);
            TextDrawHideForAll(Text:AchievementDescriptionUp);
            TextDrawHideForAll(Text:AchievementMoneyUp);
            TextDrawHideForAll(Text:AchievementExpUp);
            goto assist;
        }
        else
        {
            assist:
            SASN = true;
            TextDrawSetString(AchievementNameDown, aname);
            TextDrawSetString(AchievementDescriptionDown, adescr);


            new resultmoney[10];
            format(resultmoney,sizeof(resultmoney),"$%i",amoney);
            TextDrawSetString(AchievementMoneyDown, resultmoney);
                        SetPlayerMoney(playerid,GetPlayerMoney(playerid)+amoney); // Если есть античит - надо изменить.

                new resultexp [7];
            format(resultexp,sizeof(resultexp),"%iexp",aexp);
                TextDrawSetString(AchievementExpDown, resultexp);
                        GiveExp(playerid,aexp);// Необходимо подстроить под свой мод !
 
            TextDrawShowForPlayer(playerid,Text:BoxDown);
            TextDrawShowForPlayer(playerid,Text:AchievementDown);
            TextDrawShowForPlayer(playerid,Text:AchievementNameDown);
            TextDrawShowForPlayer(playerid,Text:Text:AchievementDescriptionDown);
            TextDrawShowForPlayer(playerid,Text:AchievementMoneyDown);
            TextDrawShowForPlayer(playerid,Text:AchievementExpDown);
            
            SetTimer("killmepleasedown",5000,false);
        }
    }
    else
    {
        FASN = true;
        TextDrawSetString(AchievementNameUp, aname);
        TextDrawSetString(AchievementDescriptionUp, adescr);
        
        new resultmoney[10];
        format(resultmoney,sizeof(resultmoney),"$%i",amoney);
        TextDrawSetString(AchievementMoneyUp, resultmoney);
        
        new resultexp [7];
        format(resultexp,sizeof(resultexp),"%iexp",aexp);
        TextDrawSetString(AchievementExpUp, resultexp);
        
        TextDrawShowForPlayer(playerid,Text:BoxUp);
        TextDrawShowForPlayer(playerid,Text:AchievementUp);
        TextDrawShowForPlayer(playerid,Text:AchievementNameUp);
        TextDrawShowForPlayer(playerid,Text:Text:AchievementDescriptionUp);
        TextDrawShowForPlayer(playerid,Text:AchievementMoneyUp);
        TextDrawShowForPlayer(playerid,Text:AchievementExpUp);
        
        SetTimer("killmepleaseup",5000,false);
    }
}  
public killmepleaseup(playerid)
{
        TextDrawHideForPlayer(playerid,Text:BoxUp);
        TextDrawHideForPlayer(playerid,Text:AchievementUp);
        TextDrawHideForPlayer(playerid,Text:AchievementNameUp);
        TextDrawHideForPlayer(playerid,Text:Text:AchievementDescriptionUp);
        TextDrawHideForPlayer(playerid,Text:AchievementMoneyUp);
        TextDrawHideForPlayer(playerid,Text:AchievementExpUp);
        FASN = false;
}  
public killmepleasedown(playerid)
{
        TextDrawHideForPlayer(playerid,Text:BoxDown);
        TextDrawHideForPlayer(playerid,Text:AchievementDown);
        TextDrawHideForPlayer(playerid,Text:AchievementNameDown);
        TextDrawHideForPlayer(playerid,Text:Text:AchievementDescriptionDown);
        TextDrawHideForPlayer(playerid,Text:AchievementMoneyDown);
        TextDrawHideForPlayer(playerid,Text:AchievementExpDown);
        SASN = false;
}  
 
В OnGameModInit
 
// TextDraws Up
    BoxUp = TextDrawCreate(276.000000, 107.000000, "   ");
    TextDrawBackgroundColor(BoxUp, 255);
    TextDrawFont(BoxUp, 1);
    TextDrawLetterSize(BoxUp, 0.500000, 1.000000);
    TextDrawColor(BoxUp, -1);
    TextDrawSetOutline(BoxUp, 0);
    TextDrawSetProportional(BoxUp, 1);
    TextDrawSetShadow(BoxUp, 1);
    TextDrawUseBox(BoxUp, 1);
    TextDrawBoxColor(BoxUp, 255);
    TextDrawTextSize(BoxUp, 18.000000, 0.000000);
    TextDrawSetSelectable(BoxUp, 0);

    AchievementUp = TextDrawCreate(22.000000, 99.000000, "Achievement Unlocked:");
    TextDrawBackgroundColor(AchievementUp, 255);
    TextDrawFont(AchievementUp, 1);
    TextDrawLetterSize(AchievementUp, 0.350000, 1.300000);
    TextDrawColor(AchievementUp, -1);
    TextDrawSetOutline(AchievementUp, 1);
    TextDrawSetProportional(AchievementUp, 1);
    TextDrawSetSelectable(AchievementUp, 0);

    AchievementNameUp = TextDrawCreate(162.000000, 98.000000, "%aname");
    TextDrawBackgroundColor(AchievementNameUp, 255);
    TextDrawFont(AchievementNameUp, 1);
    TextDrawLetterSize(AchievementNameUp, 0.500000, 1.500000);
    TextDrawColor(AchievementNameUp, -1);
    TextDrawSetOutline(AchievementNameUp, 1);
    TextDrawSetProportional(AchievementNameUp, 1);
    TextDrawSetSelectable(AchievementNameUp, 0);

    AchievementDescriptionUp = TextDrawCreate(28.000000, 112.000000, "%adescr");
    TextDrawBackgroundColor(AchievementDescriptionUp, 255);
    TextDrawFont(AchievementDescriptionUp, 1);
    TextDrawLetterSize(AchievementDescriptionUp, 0.320000, 1.000000);
    TextDrawColor(AchievementDescriptionUp, -1);
    TextDrawSetOutline(AchievementDescriptionUp, 0);
    TextDrawSetProportional(AchievementDescriptionUp, 1);
    TextDrawSetShadow(AchievementDescriptionUp, 1);
    TextDrawSetSelectable(AchievementDescriptionUp, 0);

    AchievementMoneyUp = TextDrawCreate(220.000000, 121.000000, "$%amoney");
    TextDrawBackgroundColor(AchievementMoneyUp, 255);
    TextDrawFont(AchievementMoneyUp, 1);
    TextDrawLetterSize(AchievementMoneyUp, 0.500000, 1.000000);
    TextDrawColor(AchievementMoneyUp, 433854970);
    TextDrawSetOutline(AchievementMoneyUp, 1);
    TextDrawSetProportional(AchievementMoneyUp, 1);
    TextDrawSetSelectable(AchievementMoneyUp, 0);

    AchievementExpUp = TextDrawCreate(170.000000, 121.000000, "%aexp exp");
    TextDrawBackgroundColor(AchievementExpUp, 255);
    TextDrawFont(AchievementExpUp, 1);
    TextDrawLetterSize(AchievementExpUp, 0.500000, 1.100000);
    TextDrawColor(AchievementExpUp, -65281);
    TextDrawSetOutline(AchievementExpUp, 1);
    TextDrawSetProportional(AchievementExpUp, 1);
    TextDrawSetSelectable(AchievementExpUp, 0);
    
    // TextDraws Down
    BoxDown = TextDrawCreate(276.000000, 139.000000, "   ");
    TextDrawBackgroundColor(BoxDown, 255);
    TextDrawFont(BoxDown, 1);
    TextDrawLetterSize(BoxDown, 0.500000, 1.000000);
    TextDrawColor(BoxDown, -1);
    TextDrawSetOutline(BoxDown, 0);
    TextDrawSetProportional(BoxDown, 1);
    TextDrawSetShadow(BoxDown, 1);
    TextDrawUseBox(BoxDown, 1);
    TextDrawBoxColor(BoxDown, 255);
    TextDrawTextSize(BoxDown, 18.000000, 0.000000);
    TextDrawSetSelectable(BoxDown, 0);

    AchievementDown = TextDrawCreate(22.000000, 131.000000, "Achievement Unlocked:");
    TextDrawBackgroundColor(AchievementDown, 255);
    TextDrawFont(AchievementDown, 1);
    TextDrawLetterSize(AchievementDown, 0.350000, 1.300000);
    TextDrawColor(AchievementDown, -1);
    TextDrawSetOutline(AchievementDown, 1);
    TextDrawSetProportional(AchievementDown, 1);
    TextDrawSetSelectable(AchievementDown, 0);

    AchievementNameDown = TextDrawCreate(162.000000, 130.000000, "%aname");
    TextDrawBackgroundColor(AchievementNameDown, 255);
    TextDrawFont(AchievementNameDown, 1);
    TextDrawLetterSize(AchievementNameDown, 0.500000, 1.500000);
    TextDrawColor(AchievementNameDown, -1);
    TextDrawSetOutline(AchievementNameDown, 1);
    TextDrawSetProportional(AchievementNameDown, 1);
    TextDrawSetSelectable(AchievementNameDown, 0);

    AchievementDescriptionDown = TextDrawCreate(28.000000, 144.000000, "%adescr");
    TextDrawBackgroundColor(AchievementDescriptionDown, 255);
    TextDrawFont(AchievementDescriptionDown, 1);
    TextDrawLetterSize(AchievementDescriptionDown, 0.320000, 1.000000);
    TextDrawColor(AchievementDescriptionDown, -1);
    TextDrawSetOutline(AchievementDescriptionDown, 0);
    TextDrawSetProportional(AchievementDescriptionDown, 1);
    TextDrawSetShadow(AchievementDescriptionDown, 1);
    TextDrawSetSelectable(AchievementDescriptionDown, 0);

    AchievementMoneyDown = TextDrawCreate(220.000000, 155.000000, "$%amoney");
    TextDrawBackgroundColor(AchievementMoneyDown, 255);
    TextDrawFont(AchievementMoneyDown, 1);
    TextDrawLetterSize(AchievementMoneyDown, 0.500000, 1.000000);
    TextDrawColor(AchievementMoneyDown, 433854970);
    TextDrawSetOutline(AchievementMoneyDown, 1);
    TextDrawSetProportional(AchievementMoneyDown, 1);
    TextDrawSetSelectable(AchievementMoneyDown, 0);

    AchievementExpDown = TextDrawCreate(170.000000, 155.000000, "%aexp exp");
    TextDrawBackgroundColor(AchievementExpDown, 255);
    TextDrawFont(AchievementExpDown, 1);
    TextDrawLetterSize(AchievementExpDown, 0.500000, 1.100000);
    TextDrawColor(AchievementExpDown, -65281);
    TextDrawSetOutline(AchievementExpDown, 1);
    TextDrawSetProportional(AchievementExpDown, 1);
    TextDrawSetSelectable(AchievementExpDown, 0);  

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...