Szerző Téma: Profil rendszer  (Megtekintve 455 alkalommal)

Nem elérhető Beckham

  • 1693
  • Noresz
  • Discord: Noresz#4265
    • Profil megtekintése
    • OctansV Alt:v szervere
Profil rendszer
« Dátum: 2013. január 23. - 19:12:31 »
0 Show voters
Üdv,másik fórumon találtam egy nagyon jó profil scriptet.

Eredeti link:
http://forum.sa-mp.com/showthread.php?t=322020

Készítõ:iPLEOMAX


Parancsok: /profile


                  /profileav


                  /profilebg


                  /profilec


                  /myinfo


Letöltés:
http://www.mediafire.com/?t56arejati2irdj

Videó:


Code:

/*
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at http://mozilla.org/MPL/2.0/
*/
/*============================================================================*/
// INCLUDES
#include <a_samp>               //Thanks to the SA-MP Team.
#include <ZCMD>                 //Thanks to Zeex.
#include <sscanf2>              //Thanks to Y_Less.
#include <DOF2>                 //Thanks to Double-O-Seven.
/*============================================================================*/
// DEFINITIONS
#define PROFILE                 \"{00A6FF}[PROFILE]{737373} \"
#define USER_DIRECTORY          \"/Profiles/%s.ini\"
#define LOOP(%0,%1)          for(new %0 = 0; %0 < %1; %0++)
#define LOOP_s(%0,%1)          for(new %0 = 0; %0 < sizeof(%1); %0++)
#define ExceedsIndex(%0,%1)     (%0 < 0 || %0 >= sizeof %1)
#define BG_key                  \"Backgroundid\"
#define AV_key                  \"Avatarid\"
#define INFO_key                \"Info\"
#define REGDATE_key             \"Registration\"
#define LASTACTIVE_key          \"Lastactive\"
#define REP_key                 \"Reputation\"
#define VIP_key                 \"Viplevel\"
#define LVL_key                 \"Adminlevel\"
#define VIPTEXT_key             \"Vipstatustext\"
#define LVLTEXT_key             \"Levelstatustext\"
#define TRUSTED_key             \"Trusted\"
#define FEATURED_key            \"Featured\"
#define PRO_key                \"Professional\"
#define EDITMODE_BACKGROUND     1
#define EDITMODE_AVATAR         2
/*============================================================================*/
// VARIABLES
new
    DAY, MONTH, YEAR,
PROFILE_STRING            [256],
PROFILE_ERROR            [128],
bool:Profile_ENABLED        [MAX_PLAYERS],
Profile_EditMode           [MAX_PLAYERS],
bool:Profile_New           [MAX_PLAYERS],
Profile_Name               [MAX_PLAYERS][MAX_PLAYER_NAME],
Profile_Background         [MAX_PLAYERS],
Profile_Avatar            [MAX_PLAYERS],
Profile_Reputation         [MAX_PLAYERS],
Profile_Viplevel         [MAX_PLAYERS],
Profile_Adminlevel         [MAX_PLAYERS],
Profile_Info            [MAX_PLAYERS][256],
Profile_Registerdate      [MAX_PLAYERS][20],
Profile_Lastactive         [MAX_PLAYERS][20],
Profile_Viptext            [MAX_PLAYERS][20],
Profile_Admintext         [MAX_PLAYERS][20],
bool:Profile_Trusted       [MAX_PLAYERS],
bool:Profile_Featured      [MAX_PLAYERS],
bool:Profile_Pro          [MAX_PLAYERS],
Profile_Currentuser        [MAX_PLAYERS][MAX_PLAYER_NAME],
Profile_CmdTimer            [MAX_PLAYERS],
Profile_Cooldown            [MAX_PLAYERS],
    Text:CopyrightP,
Text:ProfileBase         [3],
Text:Status               [2],
Text:Elements            [9],
Text:RepBars            [5],
Text:VipBars            [5],
Text:LevelBars            [5],
Text:Awards               [3][2],
Text:EditArrows             [4],
Text:DynProfile            [MAX_PLAYERS][7],
Avatar_Icons[][] =
{
\"none\",            \"LD_TATT:9homby\",    \"LD_TATT:9gun2\",
\"LD_TATT:9gun\",      \"LD_TATT:9crown\",   \"LD_TATT:9bullt\",
    \"LD_TATT:8westsd\",   \"LD_TATT:8santos\",   \"LD_TATT:8sa3\",
\"LD_TATT:8sa2\",      \"LD_TATT:8sa\",      \"LD_TATT:8poker\",
    \"LD_TATT:8gun\",      \"LD_TATT:7mary\",   \"LD_TATT:7cross3\",
\"LD_TATT:7cross2\",   \"LD_TATT:7cross\",   \"LD_TATT:6crown\",
    \"LD_TATT:6aztec\",   \"LD_TATT:6africa\",  \"ld_shtr:ufo\",
\"LD_TATT:5gun\",      \"LD_TATT:5cross3\",   \"LD_TATT:5cross2\",
    \"LD_TATT:5cross\",   \"LD_TATT:4weed\",   \"LD_TATT:4spider\",
\"LD_TATT:4rip\",      \"LD_TATT:12myfac\",   \"LD_TATT:12maybr\",
    \"LD_TATT:12dager\",   \"LD_TATT:12cross\",   \"LD_TATT:12bndit\",
\"LD_TATT:12angel\",   \"LD_TATT:11jail\",   \"LD_TATT:11grove\",
    \"LD_TATT:11grov3\",   \"LD_TATT:11grov2\",   \"LD_TATT:11ggift\",
\"LD_TATT:11dice2\",   \"LD_TATT:11dice\",   \"LD_TATT:10weed\",
\"LD_TATT:10og\",      \"LD_TATT:10ls5\",   \"LD_TATT:10ls4\",
\"LD_TATT:10ls3\",   \"LD_TATT:10ls2\",   \"LD_TATT:10ls\",
\"ld_bum:bum1\",      \"ld_bum:bum2\",      \"ld_grav:bee1\",
\"ld_otb:hrs8\",      \"ld_shtr:kami\",     \"ld_shtr:ship\"
},
Text:Avatars[sizeof Avatar_Icons],
Background_Images[][] =
{
    \"none\",            \"LOADSUK:loadsc9\",   \"LOADSUK:loadsc8\",
\"LOADSUK:loadsc7\",   \"LOADSUK:loadsc6\",   \"LOADSUK:loadsc5\",
\"LOADSUK:loadsc4\",   \"LOADSUK:loadsc3\",   \"LOADSUK:loadsc2\",
\"LOADSUK:loadsc14\",   \"LOADSUK:loadsc13\",   \"LOADSUK:loadsc12\",
\"LOADSUK:loadsc11\",   \"LOADSUK:loadsc10\",   \"LOADSUK:loadsc1\",
\"loadsc12:loadsc12\",\"loadsc13:loadsc13\",\"loadsc9:loadsc9\",
\"splash1:splash1\",  \"splash2:splash2\"
},
Text:Backgrounds[sizeof Background_Images]
;
/*============================================================================*/
// FILTERSCRIPT FUNCTIONS
stock Text:TextDrawCreateSafe(Float:X, Float:Y, textstring[])
{
if(!strlen(textstring)) strcat(textstring, \"_\", 2);
return TextDrawCreate(X, Y, textstring);
}
stock CreateTextdraws()
{
    ProfileBase[0] =
TextDrawCreate            (320.000000, 279.000000, \"-\");
TextDrawAlignment         (ProfileBase[0], 2);
TextDrawBackgroundColor      (ProfileBase[0], 255);
TextDrawFont            (ProfileBase[0], 2);
TextDrawLetterSize         (ProfileBase[0], 32.689998, 10.000000);
TextDrawColor            (ProfileBase[0], 120);
TextDrawSetOutline         (ProfileBase[0], 0);
TextDrawSetProportional      (ProfileBase[0], 1);
TextDrawSetShadow         (ProfileBase[0], 0);
ProfileBase[1] =
TextDrawCreate            (320.000000, 92.000000, \"-\");
TextDrawAlignment         (ProfileBase[1], 2);
TextDrawBackgroundColor      (ProfileBase[1], 255);
TextDrawFont            (ProfileBase[1], 2);
TextDrawLetterSize         (ProfileBase[1], 32.689998, 10.000000);
TextDrawColor            (ProfileBase[1], 120);
TextDrawSetOutline         (ProfileBase[1], 0);
TextDrawSetProportional      (ProfileBase[1], 1);
TextDrawSetShadow         (ProfileBase[1], 0);
    ProfileBase[2] =
TextDrawCreateSafe         (485.000000, 140.000000, \"_\");
TextDrawBackgroundColor      (ProfileBase[2], 255);
TextDrawFont            (ProfileBase[2], 1);
TextDrawLetterSize         (ProfileBase[2], 0.500000, 21.200000);
TextDrawColor            (ProfileBase[2], -1);
TextDrawSetOutline         (ProfileBase[2], 0);
TextDrawSetProportional      (ProfileBase[2], 1);
TextDrawSetShadow         (ProfileBase[2], 1);
TextDrawUseBox            (ProfileBase[2], 1);
TextDrawBoxColor         (ProfileBase[2], 255);
TextDrawTextSize         (ProfileBase[2], 160.000000, 0.000000);
      new Profile_Int = 0;
for ( new BTD = 1; BTD < sizeof Background_Images; BTD++ )
{
Backgrounds[bTD] =
TextDrawCreateSafe      (163.000, 140.500, Background_Images[bTD]);
    TextDrawFont         (Backgrounds[bTD], 4);
    TextDrawTextSize      (Backgrounds[bTD], 319.000, 190.000);
    TextDrawColor         (Backgrounds[bTD], -140);
    Profile_Int++;
}
printf(\"[Profile System] Created %i Background(s)\", Profile_Int);
Awards[0][0] =
TextDrawCreate            (350.000000, 218.000000, \"-\");
TextDrawBackgroundColor      (Awards[0][0], 255);
TextDrawFont            (Awards[0][0], 3);
TextDrawLetterSize         (Awards[0][0], 3.169997, 8.799997);
TextDrawColor            (Awards[0][0], -176);
TextDrawSetOutline         (Awards[0][0], 0);
TextDrawSetProportional      (Awards[0][0], 1);
TextDrawSetShadow         (Awards[0][0], 0);
Awards[0][1] =
TextDrawCreate            (358.000000, 261.000000, \"TRUSTED~n~MEMBER\");
TextDrawBackgroundColor      (Awards[0][1], 255);
TextDrawFont            (Awards[0][1], 1);
TextDrawLetterSize         (Awards[0][1], 0.219999, 0.799998);
TextDrawColor            (Awards[0][1], 16747775);
TextDrawSetOutline         (Awards[0][1], 0);
TextDrawSetProportional      (Awards[0][1], 1);
TextDrawSetShadow         (Awards[0][1], 0);
Awards[1][0] =
TextDrawCreate            (394.000000, 218.000000, \"-\");
TextDrawBackgroundColor      (Awards[1][0], 255);
TextDrawFont            (Awards[1][0], 3);
TextDrawLetterSize         (Awards[1][0], 3.169997, 8.799997);
TextDrawColor            (Awards[1][0], -176);
TextDrawSetOutline         (Awards[1][0], 0);
TextDrawSetProportional      (Awards[1][0], 1);
TextDrawSetShadow         (Awards[1][0], 0);
Awards[1][1] =
TextDrawCreate            (416.000000, 261.000000, \"FEATURED~n~MEMBER\");
TextDrawAlignment         (Awards[1][1], 2);
TextDrawBackgroundColor      (Awards[1][1], 255);
TextDrawFont            (Awards[1][1], 1);
TextDrawLetterSize         (Awards[1][1], 0.200000, 0.799998);
TextDrawColor            (Awards[1][1], -3669761);
TextDrawSetOutline         (Awards[1][1], 0);
TextDrawSetProportional      (Awards[1][1], 1);
TextDrawSetShadow         (Awards[1][1], 0);
Awards[2][0] =
TextDrawCreate            (438.000000, 218.000000, \"-\");
TextDrawBackgroundColor      (Awards[2][0], 255);
TextDrawFont            (Awards[2][0], 3);
TextDrawLetterSize         (Awards[2][0], 3.169997, 8.799997);
TextDrawColor            (Awards[2][0], -176);
TextDrawSetOutline         (Awards[2][0], 0);
TextDrawSetProportional      (Awards[2][0], 1);
TextDrawSetShadow         (Awards[2][0], 0);
Awards[2][1] =
TextDrawCreate            (461.000000, 261.000000, \"PRO\");
TextDrawAlignment         (Awards[2][1], 2);
TextDrawBackgroundColor      (Awards[2][1], -16776961);
TextDrawFont            (Awards[2][1], 2);
TextDrawLetterSize         (Awards[2][1], 0.340000, 1.499999);
TextDrawColor            (Awards[2][1], 255);
TextDrawSetOutline         (Awards[2][1], 1);
TextDrawSetProportional      (Awards[2][1], 1);
    printf(\"[Profile System] Created Award Icons.\");
Status[0] =
TextDrawCreateSafe         (234.000000, 151.000000, \"0\");
TextDrawAlignment         (Status[0], 2);
TextDrawBackgroundColor      (Status[0], -1275068161);
TextDrawFont            (Status[0], 2);
TextDrawLetterSize         (Status[0], 2.679999, 10.599998);
TextDrawColor            (Status[0], -16776961);
TextDrawSetOutline         (Status[0], 1);
TextDrawSetProportional      (Status[0], 1);
Status[1] =
TextDrawCreateSafe         (234.000000, 151.000000, \"0\");
TextDrawAlignment         (Status[1], 2);
TextDrawBackgroundColor      (Status[1], 0x00AA00FF);
TextDrawFont            (Status[1], 2);
TextDrawLetterSize         (Status[1], 2.679999, 10.599998);
TextDrawColor            (Status[1], 0x00FF00FF);
TextDrawSetOutline         (Status[1], 1);
TextDrawSetProportional      (Status[1], 1);
CopyrightP =
TextDrawCreateSafe         (383.000000, 322.000000, \"Profile system (c) iPLEOMAX\");
TextDrawBackgroundColor      (CopyrightP, 255);
TextDrawFont            (CopyrightP, 1);
TextDrawLetterSize         (CopyrightP, 0.209999, 0.899999);
TextDrawColor            (CopyrightP, -226);
TextDrawSetOutline         (CopyrightP, 0);
TextDrawSetProportional      (CopyrightP, 1);
TextDrawSetShadow         (CopyrightP, 0);
Elements[0] =
TextDrawCreateSafe         (185.000000, 147.000000, \"PROFILE PICTURE\");
TextDrawBackgroundColor      (Elements[0], -1);
TextDrawFont            (Elements[0], 1);
TextDrawLetterSize         (Elements[0], 0.319999, 1.100000);
TextDrawColor            (Elements[0], -1);
TextDrawSetOutline         (Elements[0], 0);
TextDrawSetProportional      (Elements[0], 1);
TextDrawSetShadow         (Elements[0], 0);
Elements[1] =
TextDrawCreateSafe         (351.000000, 147.000000, \"INFORMATION\");
TextDrawBackgroundColor      (Elements[1], -1);
TextDrawFont            (Elements[1], 1);
TextDrawLetterSize         (Elements[1], 0.319999, 1.100000);
TextDrawColor            (Elements[1], -1);
TextDrawSetOutline         (Elements[1], 0);
TextDrawSetProportional      (Elements[1], 1);
TextDrawSetShadow         (Elements[1], 0);
Elements[2] =
TextDrawCreateSafe         (297.000000, 198.000000, \"Personal text:\");
TextDrawBackgroundColor      (Elements[2], 255);
TextDrawFont            (Elements[2], 2);
TextDrawLetterSize         (Elements[2], 0.200000, 1.000000);
TextDrawColor            (Elements[2], -1);
TextDrawSetOutline         (Elements[2], 0);
TextDrawSetProportional      (Elements[2], 1);
TextDrawSetShadow         (Elements[2], 0);
Elements[3] =
TextDrawCreateSafe         (297.000000, 285.000000, \"Register date:\");
TextDrawBackgroundColor      (Elements[3], 255);
TextDrawFont            (Elements[3], 2);
TextDrawLetterSize         (Elements[3], 0.200000, 1.000000);
TextDrawColor            (Elements[3], -1);
TextDrawSetOutline         (Elements[3], 0);
TextDrawSetProportional      (Elements[3], 1);
TextDrawSetShadow         (Elements[3], 0);
Elements[4] =
TextDrawCreateSafe         (297.000000, 171.000000, \"Username:\");
TextDrawBackgroundColor      (Elements[4], 255);
TextDrawFont            (Elements[4], 2);
TextDrawLetterSize         (Elements[4], 0.200000, 1.000000);
TextDrawColor            (Elements[4], -1);
TextDrawSetOutline         (Elements[4], 0);
TextDrawSetProportional      (Elements[4], 1);
TextDrawSetShadow         (Elements[4], 0);
    Elements[5] =
TextDrawCreateSafe         (297.000000, 303.000000, \"Last active:\");
TextDrawBackgroundColor      (Elements[5], 255);
TextDrawFont            (Elements[5], 2);
TextDrawLetterSize         (Elements[5], 0.200000, 1.000000);
TextDrawColor            (Elements[5], -1);
TextDrawSetOutline         (Elements[5], 0);
TextDrawSetProportional      (Elements[5], 1);
TextDrawSetShadow         (Elements[5], 0);
Elements[6] =
TextDrawCreateSafe         (291.000000, 77.000000, \"l\");
TextDrawBackgroundColor      (Elements[6], -1);
TextDrawFont            (Elements[6], 1);
TextDrawLetterSize         (Elements[6], 0.140000, 32.600021);
TextDrawColor            (Elements[6], -1);
TextDrawSetOutline         (Elements[6], 0);
TextDrawSetProportional      (Elements[6], 1);
TextDrawSetShadow         (Elements[6], 0);
Elements[7] =
TextDrawCreateSafe         (484.000000, 143.000000, \"BG~n~SHINE\");
TextDrawBackgroundColor      (Elements[7], 255);
TextDrawFont            (Elements[7], 1);
TextDrawLetterSize         (Elements[7], 0.000000, 1.000000);
TextDrawColor            (Elements[7], -1);
TextDrawSetOutline         (Elements[7], 0);
TextDrawSetProportional      (Elements[7], 1);
TextDrawSetShadow         (Elements[7], 1);
TextDrawUseBox            (Elements[7], 1);
TextDrawBoxColor         (Elements[7], -230);
TextDrawTextSize         (Elements[7], 161.000000, -1.000000);
Elements[8] =
TextDrawCreate            (296.000000, 266.000000, \"Awards:\");
TextDrawBackgroundColor      (Elements[8], 255);
TextDrawFont            (Elements[8], 2);
TextDrawLetterSize         (Elements[8], 0.219999, 1.000000);
TextDrawColor            (Elements[8], -1);
TextDrawSetOutline         (Elements[8], 0);
TextDrawSetProportional      (Elements[8], 1);
TextDrawSetShadow         (Elements[8], 0);
printf(\"[Profile System] Created all the elements.\");
Profile_Int = 0;
for ( new ATD = 1; ATD < sizeof Avatar_Icons; ATD++ )
{
Avatars[ATD] =
TextDrawCreateSafe      (203.000, 182.500, Avatar_Icons[ATD]);
    TextDrawFont         (Avatars[ATD], 4);
    TextDrawTextSize      (Avatars[ATD], 50.000, 45.000);
    TextDrawColor         (Avatars[ATD], -1);
    Profile_Int++;
}
printf(\"[Profile System] Created %i Avatar(s)\", Profile_Int);
    Profile_Int = 192;
    for ( new RTD = 0; RTD < sizeof RepBars; RTD++ )
    {
        RepBars[RTD] =
TextDrawCreateSafe      (Profile_Int, 241.000000, \"l\");
TextDrawBackgroundColor   (RepBars[RTD], 255);
TextDrawFont         (RepBars[RTD], 1);
TextDrawLetterSize      (RepBars[RTD], 1.820000, 1.900000);
TextDrawColor         (RepBars[RTD], 0x00FF00FF);
TextDrawSetOutline      (RepBars[RTD], 0);
TextDrawSetProportional   (RepBars[RTD], 1);
TextDrawSetShadow      (RepBars[RTD], 0);
Profile_Int += 14;
    }
    Profile_Int = 192;
    for ( new VTD = 0; VTD < sizeof VipBars; VTD++ )
    {
        VipBars[VTD] =
TextDrawCreateSafe      (Profile_Int, 269.000000, \"l\");
TextDrawBackgroundColor   (VipBars[VTD], 255);
TextDrawFont         (VipBars[VTD], 1);
TextDrawLetterSize      (VipBars[VTD], 1.820000, 1.900000);
TextDrawColor         (VipBars[VTD], 0x00FFFBFF);
TextDrawSetOutline      (VipBars[VTD], 0);
TextDrawSetProportional   (VipBars[VTD], 1);
TextDrawSetShadow      (VipBars[VTD], 0);
Profile_Int += 14;
    }
    Profile_Int = 192;
    for ( new LTD = 0; LTD < sizeof LevelBars; LTD++ )
    {
        LevelBars[LTD] =
TextDrawCreateSafe      (Profile_Int, 296.000000, \"l\");
TextDrawBackgroundColor   (LevelBars[LTD], 255);
TextDrawFont         (LevelBars[LTD], 1);
TextDrawLetterSize      (LevelBars[LTD], 1.820000, 1.900000);
TextDrawColor         (LevelBars[LTD], -16711681);
TextDrawSetOutline      (LevelBars[LTD], 0);
TextDrawSetProportional   (LevelBars[LTD], 1);
TextDrawSetShadow      (LevelBars[LTD], 0);
Profile_Int += 14;
    }
    printf(\"[Profile System] Created Reputation/Vip/Level bars.\", Profile_Int);
    EditArrows[0] =
TextDrawCreate            (171.000000, 195.000000, \"ld_beat:left\");
TextDrawBackgroundColor      (EditArrows[0], 255);
TextDrawFont            (EditArrows[0], 4);
TextDrawLetterSize         (EditArrows[0], 0.500000, 1.000000);
TextDrawColor            (EditArrows[0], -1);
TextDrawSetOutline         (EditArrows[0], 0);
TextDrawSetProportional      (EditArrows[0], 1);
TextDrawSetShadow         (EditArrows[0], 1);
TextDrawUseBox            (EditArrows[0], 1);
TextDrawBoxColor         (EditArrows[0], 255);
TextDrawTextSize         (EditArrows[0], 18.000000, 22.000000);
EditArrows[1] =
TextDrawCreate            (283.000000, 195.000000, \"ld_beat:left\");
TextDrawBackgroundColor      (EditArrows[1], 255);
TextDrawFont            (EditArrows[1], 4);
TextDrawLetterSize         (EditArrows[1], 0.500000, 1.000000);
TextDrawColor            (EditArrows[1], -1);
TextDrawSetOutline         (EditArrows[1], 0);
TextDrawSetProportional      (EditArrows[1], 1);
TextDrawSetShadow         (EditArrows[1], 1);
TextDrawUseBox            (EditArrows[1], 1);
TextDrawBoxColor         (EditArrows[1], 255);
TextDrawTextSize         (EditArrows[1], -19.000000, 22.000000);
EditArrows[2] =
TextDrawCreate            (138.000000, 224.000000, \"ld_beat:left\");
TextDrawBackgroundColor      (EditArrows[2], 255);
TextDrawFont            (EditArrows[2], 4);
TextDrawLetterSize         (EditArrows[2], 0.500000, 1.000000);
TextDrawColor            (EditArrows[2], -1);
TextDrawSetOutline         (EditArrows[2], 0);
TextDrawSetProportional      (EditArrows[2], 1);
TextDrawSetShadow         (EditArrows[2], 1);
TextDrawUseBox            (EditArrows[2], 1);
TextDrawBoxColor         (EditArrows[2], 255);
TextDrawTextSize         (EditArrows[2], 18.000000, 22.000000);
EditArrows[3] =
TextDrawCreate            (508.000000, 224.000000, \"ld_beat:left\");
TextDrawBackgroundColor      (EditArrows[3], 255);
TextDrawFont            (EditArrows[3], 4);
TextDrawLetterSize         (EditArrows[3], 0.500000, 1.000000);
TextDrawColor            (EditArrows[3], -1);
TextDrawSetOutline         (EditArrows[3], 0);
TextDrawSetProportional      (EditArrows[3], 1);
TextDrawSetShadow         (EditArrows[3], 1);
TextDrawUseBox            (EditArrows[3], 1);
TextDrawBoxColor         (EditArrows[3], 255);
TextDrawTextSize         (EditArrows[3], -19.000000, 22.000000);
return true;
}
stock DynamicTextdraws(playerid, name[], info[], reg[], act[], rep, vip[], lvl[])
{
    DynProfile[playerid][0] =
TextDrawCreateSafe         (297.000000, 184.000000, name);
TextDrawBackgroundColor      (DynProfile[playerid][0], 255);
TextDrawFont            (DynProfile[playerid][0], 1);
TextDrawLetterSize         (DynProfile[playerid][0], 0.290000, 1.000000);
TextDrawColor            (DynProfile[playerid][0], -1);
TextDrawSetOutline         (DynProfile[playerid][0], 0);
TextDrawSetProportional      (DynProfile[playerid][0], 1);
TextDrawSetShadow         (DynProfile[playerid][0], 0);
DynProfile[playerid][1] =
TextDrawCreateSafe         (297.000000, 210.000000, info);
TextDrawBackgroundColor      (DynProfile[playerid][1], 255);
TextDrawFont            (DynProfile[playerid][1], 1);
TextDrawLetterSize         (DynProfile[playerid][1], 0.290000, 1.000000);
TextDrawColor            (DynProfile[playerid][1], -1);
TextDrawSetOutline         (DynProfile[playerid][1], 0);
TextDrawSetProportional      (DynProfile[playerid][1], 1);
TextDrawSetShadow         (DynProfile[playerid][1], 0);
DynProfile[playerid][2] =
TextDrawCreateSafe         (478.000000, 278.000000, reg);
TextDrawAlignment         (DynProfile[playerid][2], 3);
TextDrawBackgroundColor      (DynProfile[playerid][2], 255);
TextDrawFont            (DynProfile[playerid][2], 3);
TextDrawLetterSize         (DynProfile[playerid][2], 0.480000, 1.600000);
TextDrawColor            (DynProfile[playerid][2], -1);
TextDrawSetOutline         (DynProfile[playerid][2], 0);
TextDrawSetProportional      (DynProfile[playerid][2], 1);
TextDrawSetShadow         (DynProfile[playerid][2], 0);
DynProfile[playerid][3] =
TextDrawCreateSafe         (478.000000, 300.000000, act);
TextDrawAlignment         (DynProfile[playerid][3], 3);
TextDrawBackgroundColor      (DynProfile[playerid][3], 255);
TextDrawFont            (DynProfile[playerid][3], 3);
TextDrawLetterSize         (DynProfile[playerid][3], 0.490000, 1.599999);
TextDrawColor            (DynProfile[playerid][3], -1);
TextDrawSetOutline         (DynProfile[playerid][3], 0);
TextDrawSetProportional      (DynProfile[playerid][3], 1);
TextDrawSetShadow         (DynProfile[playerid][3], 0);
new reptext[20];
format                  (reptext, 24, \"REPUTATION: %i\", rep);
    DynProfile[playerid][4] =
TextDrawCreateSafe         (229.000000, 257.000000, reptext);
TextDrawAlignment         (DynProfile[playerid][4], 2);
TextDrawBackgroundColor      (DynProfile[playerid][4], 255);
TextDrawFont            (DynProfile[playerid][4], 2);
TextDrawLetterSize         (DynProfile[playerid][4], 0.190000, 0.899999);
TextDrawColor            (DynProfile[playerid][4], 16711935);
TextDrawSetOutline         (DynProfile[playerid][4], 0);
TextDrawSetProportional      (DynProfile[playerid][4], 1);
TextDrawSetShadow         (DynProfile[playerid][4], 0);
DynProfile[playerid][5] =
TextDrawCreateSafe         (229.000000, 284.000000, vip);
TextDrawAlignment         (DynProfile[playerid][5], 2);
TextDrawBackgroundColor      (DynProfile[playerid][5], 255);
TextDrawFont            (DynProfile[playerid][5], 2);
TextDrawLetterSize         (DynProfile[playerid][5], 0.190000, 0.899999);
TextDrawColor            (DynProfile[playerid][5], 16777215);
TextDrawSetOutline         (DynProfile[playerid][5], 0);
TextDrawSetProportional      (DynProfile[playerid][5], 1);
TextDrawSetShadow         (DynProfile[playerid][5], 0);
    DynProfile[playerid][6] =
TextDrawCreateSafe         (229.000000, 311.000000, lvl);
TextDrawAlignment         (DynProfile[playerid][6], 2);
TextDrawBackgroundColor      (DynProfile[playerid][6], 255);
TextDrawFont            (DynProfile[playerid][6], 2);
TextDrawLetterSize         (DynProfile[playerid][6], 0.190000, 0.899999);
TextDrawColor            (DynProfile[playerid][6], -16711681);
TextDrawSetOutline         (DynProfile[playerid][6], 0);
TextDrawSetProportional      (DynProfile[playerid][6], 1);
TextDrawSetShadow         (DynProfile[playerid][6], 0);
LOOP(DTD, 7) TextDrawShowForPlayer(playerid, DynProfile[playerid][DTD]);
    return true;
}
stock DestroyDynamicTextdraws(playerid)
{
    LOOP(DTD, 7) if(_:DynProfile[playerid][DTD]) TextDrawDestroy(DynProfile[playerid][DTD]);
return true;
}
stock ShowOnlineProfileToUser(playerid, targetid, bool:ex = false)
{
if(!Profile_ENABLED[targetid]) return SendClientMessage(playerid, -1, #PROFILE\"Unable to load profile, Try later..\");
if(Profile_New[playerid])
{
    Profile_Background[playerid] = random((sizeof Backgrounds)-1);
    Profile_Avatar[playerid] = random((sizeof Avatars)-1);
    if(playerid == targetid)
    {
        SendClientMessage(playerid, -1, #PROFILE\"Your {FFFFFF}new profile{737373},\\
   we applied random Avatar & Background to it.\");
   Profile_New[playerid] = false;
    }
}
Profile_Currentuser[targetid] = Profile_Name[targetid];
HideAllProfileTextDraws         (playerid);
DestroyDynamicTextdraws         (playerid);
LOOP_s(BTD, ProfileBase)      TextDrawShowForPlayer(playerid, ProfileBase[bTD]);
TextDrawShowForPlayer         (playerid, CopyrightP);
TextDrawShowForPlayer         (playerid, Backgrounds[Profile_Background[targetid]]);
if(IsPlayerConnected(targetid))
TextDrawShowForPlayer         (playerid, Status[1]);
else TextDrawShowForPlayer      (playerid, Status[0]);
TextDrawShowForPlayer         (playerid, Avatars[Profile_Avatar[targetid]]);
LOOP_s(ETD,Elements)          TextDrawShowForPlayer(playerid, Elements[ETD]);
ShowRepBars                  (playerid, Profile_Reputation[targetid]);
ShowVipBars                  (playerid, Profile_Viplevel[targetid]);
ShowAdminBars               (playerid, Profile_Adminlevel[targetid]);
    if(Profile_Trusted[targetid])
{
TextDrawShowForPlayer(playerid,Awards[0][0]);
TextDrawShowForPlayer(playerid,Awards[0][1]);
}
if(Profile_Featured[targetid])
{
TextDrawShowForPlayer(playerid,Awards[1][0]);
TextDrawShowForPlayer(playerid,Awards[1][1]);
}
if(Profile_Pro[targetid])
{
TextDrawShowForPlayer(playerid,Awards[2][0]);
TextDrawShowForPlayer(playerid,Awards[2][1]);
}
DynamicTextdraws
(
playerid,
Profile_Name[targetid],
Profile_Info[targetid],
Profile_Registerdate[targetid],
\"Online Now\",
Profile_Reputation[targetid],
Profile_Viptext[targetid],
Profile_Admintext[targetid]
);
if(ex) return true;
if(playerid == targetid)
{
SendClientMessage(playerid, -1, #PROFILE \"You are currently viewing your own profile\");
        SendClientMessage(playerid, -1, \"{737373}> Modify: Background -{FFFFFF}/profileBG{737373} and Avatar - {FFFFFF}/profileAV\");
        return true;
}
format(PROFILE_STRING, sizeof PROFILE_STRING, #PROFILE \"You are currently viewing {FFFFFF}%s{737373}\'s Profile\",
Profile_Name[targetid]); SendClientMessage(playerid, -1, PROFILE_STRING);
return true;
}
stock ShowOfflineProfileToUser(playerid, targetname[])
{
format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, targetname);
    if(!DOF2_FileExists(PROFILE_STRING)) return SendClientMessage(playerid, -1,
\"[PROFILE ERROR] User profile doesn\'t exist\");
new BG, AV, RP, VP, LV, TR, FT, PR,
VIPTEXT[20], ADMINTEXT[20], INFO[256], REGDATE[20], LASTACTIVE[20];
    DOF2_GetStringEx(PROFILE_STRING, INFO_key,       INFO,       256);
    DOF2_GetStringEx(PROFILE_STRING, VIPTEXT_key,    VIPTEXT,     20);
    DOF2_GetStringEx(PROFILE_STRING, LVLTEXT_key,    ADMINTEXT,     20);
    DOF2_GetStringEx(PROFILE_STRING, REGDATE_key,    REGDATE,    20);
DOF2_GetStringEx(PROFILE_STRING, LASTACTIVE_key,LASTACTIVE,    20);
    BG    = DOF2_GetInt(PROFILE_STRING, BG_key);
    AV    = DOF2_GetInt(PROFILE_STRING, AV_key);
    RP    = DOF2_GetInt(PROFILE_STRING, REP_key);
    VP    = DOF2_GetInt(PROFILE_STRING, VIP_key);
    LV    = DOF2_GetInt(PROFILE_STRING, LVL_key);
    TR  = DOF2_GetBool(PROFILE_STRING, TRUSTED_key);
    FT  = DOF2_GetBool(PROFILE_STRING, FEATURED_key);
    PR  = DOF2_GetBool(PROFILE_STRING, PRO_key);
   
    if(ExceedsIndex(BG, Backgrounds))
{
SendClientMessage(playerid, -1, #PROFILE\" Unable to load profile. (Invalid Background)\");
printf(\"[Profile System] User %s seems to have an Invalid Background ID\", targetname);
return false;
}
if(ExceedsIndex(AV, Avatars))
{
SendClientMessage(playerid, -1, #PROFILE\" Unable to load profile. (Invalid Avatar)\");
printf(\"[Profile System] User %s seems to have an Invalid Avatar ID\", targetname);
return false;
}
HideAllProfileTextDraws         (playerid);
DestroyDynamicTextdraws         (playerid);
LOOP_s(BTD, ProfileBase)      TextDrawShowForPlayer(playerid, ProfileBase[bTD]);
TextDrawShowForPlayer         (playerid, CopyrightP);
TextDrawShowForPlayer         (playerid, Backgrounds[bG]);
TextDrawShowForPlayer         (playerid, Status[0]);
TextDrawShowForPlayer         (playerid, Avatars[AV]);
LOOP_s(ETD,Elements)          TextDrawShowForPlayer(playerid, Elements[ETD]);
ShowRepBars                  (playerid, RP);
ShowVipBars                  (playerid, VP);
ShowAdminBars               (playerid, LV);
if(TR)
{
TextDrawShowForPlayer(playerid,Awards[0][0]);
TextDrawShowForPlayer(playerid,Awards[0][1]);
}
if(FT)
{
TextDrawShowForPlayer(playerid,Awards[1][0]);
TextDrawShowForPlayer(playerid,Awards[1][1]);
}
if(PR)
{
TextDrawShowForPlayer(playerid,Awards[2][0]);
TextDrawShowForPlayer(playerid,Awards[2][1]);
}
DynamicTextdraws
(
playerid,
targetname,
INFO,
REGDATE,
LASTACTIVE,
RP,
VIPTEXT,
ADMINTEXT
);
format(PROFILE_STRING, sizeof PROFILE_STRING, #PROFILE \"You are currently viewing {FFFFFF}%s{737373}\'s Profile.\",
targetname); SendClientMessage(playerid, -1, PROFILE_STRING);
printf(\"[Profile System] User %s viewed offline profile of \'%s\'\", Profile_Name[playerid], targetname);
return true;
}
stock RefreshProfile(playerid)
{
if(strlen(Profile_Currentuser[playerid]) && !strcmp(Profile_Currentuser[playerid], Profile_Name[playerid], true))
ShowOnlineProfileToUser(playerid, playerid, true);
return true;
}
stock HideProfile(playerid)
{
    DestroyDynamicTextdraws(playerid);
    HideAllProfileTextDraws(playerid);
    format(Profile_Currentuser[playerid], MAX_PLAYER_NAME, \"\\0\");
return true;
}
stock LoadUserProfile(playerid)
{
GetPlayerName(playerid, Profile_Name[playerid], sizeof Profile_Name[]);
format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, Profile_Name[playerid]);
if(DOF2_FileExists(PROFILE_STRING))
{
    DOF2_GetStringEx(PROFILE_STRING, INFO_key,       Profile_Info[playerid],       256);
    DOF2_GetStringEx(PROFILE_STRING, VIPTEXT_key,    Profile_Viptext[playerid],       20);
    DOF2_GetStringEx(PROFILE_STRING, LVLTEXT_key,    Profile_Admintext[playerid],    20);
    DOF2_GetStringEx(PROFILE_STRING, REGDATE_key,    Profile_Registerdate[playerid], 20);
       DOF2_GetStringEx(PROFILE_STRING, LASTACTIVE_key,Profile_Lastactive[playerid],   20);
    Profile_Background[playerid]    = DOF2_GetInt(PROFILE_STRING, BG_key);
    Profile_Avatar[playerid]       = DOF2_GetInt(PROFILE_STRING, AV_key);
    Profile_Reputation[playerid]    = DOF2_GetInt(PROFILE_STRING, REP_key);
    Profile_Viplevel[playerid]       = DOF2_GetInt(PROFILE_STRING, VIP_key);
    Profile_Adminlevel[playerid]    = DOF2_GetInt(PROFILE_STRING, LVL_key);
    Profile_Trusted[playerid]       = DOF2_GetBool(PROFILE_STRING, TRUSTED_key);
    Profile_Featured[playerid]       = DOF2_GetBool(PROFILE_STRING, FEATURED_key);
    Profile_Pro[playerid]          = DOF2_GetBool(PROFILE_STRING, PRO_key);
    printf(\"[Profile System] Loaded profile data for %s\", Profile_Name[playerid]);
} else {
printf(\"[Profile System] %s has no userfile\", Profile_Name[playerid]);
Profile_New[playerid] = true;
}
return true;
}
stock SaveUserProfile(playerid, reason[])
{
if(Profile_New[playerid]) return true;
format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, Profile_Name[playerid]);
getdate(YEAR, MONTH, DAY);
format(Profile_Lastactive[playerid], sizeof Profile_Lastactive[], \"%i/%i/%i\", DAY, MONTH, YEAR);
DOF2_CreateFile   (PROFILE_STRING);
DOF2_SetString   (PROFILE_STRING, INFO_key,       Profile_Info[playerid]);
DOF2_SetString   (PROFILE_STRING, REGDATE_key,    Profile_Registerdate[playerid]);
DOF2_SetString   (PROFILE_STRING, LASTACTIVE_key,Profile_Lastactive[playerid]);
DOF2_SetInt      (PROFILE_STRING, BG_key,       Profile_Background[playerid]);
DOF2_SetInt      (PROFILE_STRING, AV_key,       Profile_Avatar[playerid]);
DOF2_SetInt      (PROFILE_STRING, REP_key,       Profile_Reputation[playerid]);
DOF2_SetInt      (PROFILE_STRING, VIP_key,       Profile_Viplevel[playerid]);
DOF2_SetInt      (PROFILE_STRING, LVL_key,       Profile_Adminlevel[playerid]);
DOF2_SetString   (PROFILE_STRING, VIPTEXT_key,    Profile_Viptext[playerid]);
DOF2_SetString   (PROFILE_STRING, LVLTEXT_key,    Profile_Admintext[playerid]);
DOF2_SetBool   (PROFILE_STRING, TRUSTED_key,    Profile_Trusted[playerid]);
DOF2_SetBool   (PROFILE_STRING, FEATURED_key,    Profile_Featured[playerid]);
DOF2_SetBool   (PROFILE_STRING, PRO_key,       Profile_Pro[playerid]);
DOF2_SaveFile   ();
    printf(\"[Profile System] Saved profile data for %s (%s)\", Profile_Name[playerid], reason);
return true;
}
stock ClearProfile(playerid)
{
format(Profile_Info[playerid],          256, \"\\0\");
format(Profile_Registerdate[playerid],    20, \"\\0\");
format(Profile_Lastactive[playerid],    20, \"\\0\");
format(Profile_Viptext[playerid],       20, \"\\0\");
format(Profile_Admintext[playerid],    20, \"\\0\");
Profile_Background[playerid]    = 0;
Profile_Avatar[playerid]       = 0;
Profile_Reputation[playerid]   = 0;
Profile_Viplevel[playerid]       = 0;
Profile_Adminlevel[playerid]    = 0;
Profile_Trusted[playerid]       = false;
Profile_Featured[playerid]       = false;
Profile_Pro[playerid]          = false;
Profile_EditMode[playerid]       = 0;
Profile_ENABLED[playerid]       = false;
Profile_Cooldown[playerid]       = 0;
KillTimer(Profile_CmdTimer[playerid]);
return true;
}
stock HideAllProfileTextDraws(playerid)
{
    LOOP_s(ATD,Avatars)       TextDrawHideForPlayer(playerid, Avatars[ATD]);
    LOOP_s(BTD,Backgrounds)      TextDrawHideForPlayer(playerid, Backgrounds[bTD]);
LOOP_s(STD,Status)         TextDrawHideForPlayer(playerid, Status[sTD]);
LOOP_s(ETD,Elements)      TextDrawHideForPlayer(playerid, Elements[ETD]);
LOOP_s(RTD,RepBars)         TextDrawHideForPlayer(playerid, RepBars[RTD]);
LOOP_s(VTD,VipBars)         TextDrawHideForPlayer(playerid, VipBars[VTD]);
LOOP_s(LTD,LevelBars)      TextDrawHideForPlayer(playerid, LevelBars[LTD]);
LOOP_s(BTD,ProfileBase)      TextDrawHideForPlayer(playerid, ProfileBase[bTD]);
LOOP_s(ETD, EditArrows)      TextDrawHideForPlayer(playerid, EditArrows[ETD]);
LOOP_s(ATD, Awards)
{
TextDrawHideForPlayer(playerid,Awards[ATD][0]);
TextDrawHideForPlayer(playerid,Awards[ATD][1]);
}
TextDrawHideForPlayer      (playerid, CopyrightP);
return true;
}
stock DestroyAllProfileTextDraws()
{
    LOOP_s(ATD,Avatars)         TextDrawDestroy(Avatars[ATD]);
    LOOP_s(BTD,Backgrounds)      TextDrawDestroy(Backgrounds[bTD]);
LOOP_s(STD,Status)         TextDrawDestroy(Status[sTD]);
LOOP_s(ETD,Elements)      TextDrawDestroy(Elements[ETD]);
LOOP_s(RTD,RepBars)         TextDrawDestroy(RepBars[RTD]);
LOOP_s(VTD,VipBars)         TextDrawDestroy(VipBars[VTD]);
LOOP_s(LTD,LevelBars)      TextDrawDestroy(LevelBars[LTD]);
LOOP  (PTD,MAX_PLAYERS)     DestroyDynamicTextdraws(PTD);
    LOOP_s(BTD,ProfileBase)      TextDrawDestroy(ProfileBase[bTD]);
    LOOP_s(ETD,EditArrows)      TextDrawDestroy(EditArrows[ETD]);
    LOOP_s(ATD,Awards)
{
TextDrawDestroy(Awards[ATD][0]);
TextDrawDestroy(Awards[ATD][1]);
}
TextDrawDestroy            (CopyrightP);
return true;
}
stock AvatarEditArrows(playerid)
{
    TextDrawShowForPlayer(playerid, EditArrows[0]);
TextDrawShowForPlayer(playerid, EditArrows[1]);
if(Profile_Avatar[playerid] == 1)
 TextDrawHideForPlayer(playerid, EditArrows[0]);
    if(Profile_Avatar[playerid] == (sizeof Avatars)-1)
TextDrawHideForPlayer(playerid, EditArrows[1]);
return true;
}
stock BackgroundEditArrows(playerid)
{
    TextDrawShowForPlayer(playerid, EditArrows[2]);
TextDrawShowForPlayer(playerid, EditArrows[3]);
if(Profile_Background[playerid] == 1)
TextDrawHideForPlayer(playerid, EditArrows[2]);
if(Profile_Background[playerid] == (sizeof Backgrounds)-1)
TextDrawHideForPlayer(playerid, EditArrows[3]);
return true;
}
/*============================================================================*/
// FILTERSCRIPT CALLBACKS
 
forward Profile_SetTrusted(playerid, bool:set);
public Profile_SetTrusted(playerid, bool:set)
{
    if(set)
SendClientMessage(playerid, -1, #PROFILE\"You have been awarded the tag: {111111}[{00FFAA}Trusted Member{111111}]\");
else
SendClientMessage(playerid, -1, #PROFILE\"\\\"{FFFFFF}Trusted Member{737373}\\\" tag has been removed from your profile\");
PlayerPlaySound(playerid, 1057, 0, 0, 0);
Profile_Trusted[playerid] = set;
RefreshProfile(playerid);
return true;
}
forward Profile_SetFeatured(playerid, bool:set);
public Profile_SetFeatured(playerid, bool:set)
{
    if(set)
    SendClientMessage(playerid, -1, #PROFILE\"You have been awarded the tag: {111111}[{FFBB00}Featured Member{111111}]\");
    else
SendClientMessage(playerid, -1, #PROFILE\"\\\"{FFFFFF}Featured Member{737373}\\\" tag has been removed from your profile\");
PlayerPlaySound(playerid, 1057, 0, 0, 0);
    Profile_Featured[playerid] = set;
    RefreshProfile(playerid);
return true;
}
forward Profile_SetPro(playerid, bool:set);
public Profile_SetPro(playerid, bool:set)
{
    if(set)
    SendClientMessage(playerid, -1, #PROFILE\"You have been awarded the tag: {111111}[{FF0000}PRO{111111}]\");
    else
SendClientMessage(playerid, -1, #PROFILE\"\\\"{FFFFFF}PRO{737373}\\\" tag has been removed from your profile\");
PlayerPlaySound(playerid, 1057, 0, 0, 0);
    Profile_Pro[playerid] = set;
    RefreshProfile(playerid);
return true;
}
forward Profile_GiveRep(playerid, value);
public Profile_GiveRep(playerid, value)
{
    Profile_Reputation[playerid] += value;
    RefreshProfile(playerid);
return true;
}
forward Profile_GetRep(playerid);
public Profile_GetRep(playerid)
{
    return Profile_Reputation[playerid];
}
forward Profile_SetVip(playerid, bars, status[]);
public Profile_SetVip(playerid, bars, status[])
{
    Profile_Viplevel[playerid] = bars;
    format(Profile_Viptext[playerid], 20, status);
    RefreshProfile(playerid);
return true;
}
forward Profile_SetAdminLevel(playerid, bars, status[]);
public Profile_SetAdminLevel(playerid, bars, status[])
{
    Profile_Adminlevel[playerid] = bars;
    format(Profile_Admintext[playerid], 20, status);
    RefreshProfile(playerid);
return true;
}
forward Profile_SetRegisterDate(playerid, date[]);
public Profile_SetRegisterDate(playerid, date[])
{
    format(Profile_Registerdate[playerid], 20, date);
    RefreshProfile(playerid);
return true;
}
forward Profile_SetInfo(playerid, text[]);
public Profile_SetInfo(playerid, text[])
{
    InfoFormat(text);
    format(Profile_Info[playerid], 256, text);
    RefreshProfile(playerid);
return true;
}
/*============================================================================*/
// NATIVE CALLBACKS
public OnFilterScriptInit()
{
    CreateTextdraws();
   
    LOOP(PID,MAX_PLAYERS) if(IsPlayerConnected(PID))
{
if(GetPlayerState(PID))
{
   LoadUserProfile(PID);
   if(GetPlayerState(PID)) if(!Profile_New[PID]) Profile_ENABLED[PID] = true;
}
    }
   
    printf(\"[Profile System] > LOADED < (c) iPLEOMAX\");
   
    return true;
}
public OnFilterScriptExit()
{
LOOP(PID,MAX_PLAYERS) if(Profile_ENABLED[PID]) SaveUserProfile(PID, \"Unloadfs\");
DOF2_Exit();
    if(DestroyAllProfileTextDraws())
printf(\"[Profile System] Successfully destroyed all textdraws.\");
    printf(\"[Profile System] > EXITED <\");
    return true;
}
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, Profile_Name[playerid], MAX_PLAYER_NAME);
    return true;
}
public OnPlayerSpawn(playerid)
{
    if(!Profile_ENABLED[playerid])
{
Profile_ENABLED[playerid] = true;
LoadUserProfile(playerid);
}
return true;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
switch(Profile_EditMode[playerid])
{
    case EDITMODE_AVATAR:
    {
        AvatarEditArrows(playerid);
       
        if(newkeys & 8192)
        {
            LOOP_s(ATD,Avatars) if(_:Avatars[ATD] != 0)
      TextDrawHideForPlayer(playerid, Avatars[ATD]);
            if((Profile_Avatar[playerid]-1) > 0)
            Profile_Avatar[playerid] -= 1;
           
            TextDrawShowForPlayer(playerid, Avatars[Profile_Avatar[playerid]]);
        } else
       
   if(newkeys & 16384)
        {
            LOOP_s(ATD,Avatars) if(_:Avatars[ATD] != 0)
      TextDrawHideForPlayer(playerid, Avatars[ATD]);
            if((Profile_Avatar[playerid]+1) < sizeof Avatars)
            Profile_Avatar[playerid] += 1;
           
            TextDrawShowForPlayer(playerid, Avatars[Profile_Avatar[playerid]]);
        }
        if(!Profile_EditMode[playerid]) HideProfile(playerid);
    }
    case EDITMODE_BACKGROUND:
    {
        BackgroundEditArrows(playerid);
       
        if(newkeys & 8192)
        {
            LOOP_s(BTD,Backgrounds) if(_:Backgrounds[bTD] != 0)
      TextDrawHideForPlayer(playerid, Backgrounds[bTD]);
            if((Profile_Background[playerid]-1) > 0)
            Profile_Background[playerid] -= 1;
           
            TextDrawShowForPlayer(playerid, Backgrounds[Profile_Background[playerid]]);
        } else
       
   if(newkeys & 16384)
        {
            LOOP_s(BTD,Backgrounds) if(_:Backgrounds[bTD] != 0)
      TextDrawHideForPlayer(playerid, Backgrounds[bTD]);
            if((Profile_Background[playerid]+1) < sizeof Backgrounds)
            Profile_Background[playerid] += 1;
           
            TextDrawShowForPlayer(playerid, Backgrounds[Profile_Background[playerid]]);
        }
        if(!Profile_EditMode[playerid]) HideProfile(playerid);
    }
}
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
SaveUserProfile(playerid, \"Disconnect\");
HideProfile(playerid);
ClearProfile(playerid);
    return true;
}
stock CommandSpamCheck(playerid)
{
    if(Profile_Cooldown[playerid] >= 6)
{
    KillTimer(Profile_CmdTimer[playerid]);
    Profile_Cooldown[playerid] = 6;
SendClientMessage(playerid, -1, #PROFILE\"Profile Commands are disabled for you. (Reason: Spam)\");
return false;
}
Profile_Cooldown[playerid] += 1;
if(Profile_Cooldown[playerid] >= 2)
{
SendClientMessage(playerid, -1, #PROFILE\"Don\'t spam commands, Wait before using again.\");
return false;
}
KillTimer(Profile_CmdTimer[playerid]);
Profile_CmdTimer[playerid] = SetTimerEx(\"Reset_Cooldown\", 2000, false, \"d\", playerid);
return true;
}
forward Reset_Cooldown(playerid);
public Reset_Cooldown(playerid)
{
    Profile_Cooldown[playerid] = 0;
return true;
}
/*============================================================================*/
// USER COMMANDS
CMD:showprofile(playerid, params[]) return cmd_profile(playerid, params);
CMD:myprofile(playerid, params[]) return cmd_profile(playerid, \"\");
CMD:profile(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
if(isnull(params)) return ShowOnlineProfileToUser(playerid, playerid);
    new bool:res;
for(new user; user < MAX_PLAYERS; user++)
{
    if(!IsPlayerConnected(user)) continue;
    if(strfind(Profile_Name[user], params, true) != -1)
    {
        ShowOnlineProfileToUser(playerid, user);
        res = true;
        break;
    }
}
if(!res) ShowOfflineProfileToUser(playerid, params);
return true;
}
CMD:profilec(playerid, params[]) return cmd_cprofile(playerid, params);
CMD:closeprofile(playerid, params[]) return cmd_cprofile(playerid, params);
CMD:cprofile(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
Profile_EditMode[playerid] = false;
    HideProfile(playerid);
return true;
}
CMD:profilebackground(playerid, params[]) return cmd_profilebg(playerid, params);
CMD:profilebg(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
    Profile_EditMode[playerid] = EDITMODE_BACKGROUND;
    ShowOnlineProfileToUser(playerid, playerid, true);
    BackgroundEditArrows(playerid);
SendClientMessage(playerid, -1, #PROFILE\"Now you can change the {FFFFFF}Background{737373} using Numpad 4 or 6.\");
return true;
}
CMD:profileavatar(playerid, params[]) return cmd_profileav(playerid, params);
CMD:profileav(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
    Profile_EditMode[playerid] = EDITMODE_AVATAR;
    ShowOnlineProfileToUser(playerid, playerid, true);
    AvatarEditArrows(playerid);
SendClientMessage(playerid, -1, #PROFILE\"Now you can change the {FFFFFF}Avatar{737373} using Numpad 4 or 6.\");
return true;
}
CMD:sprofile(playerid, params[]) return cmd_profilesave(playerid, params);
CMD:saveprofile(playerid, params[]) return cmd_profilesave(playerid, params);
CMD:profilesave(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
    SaveUserProfile(playerid, \"User command\");
    SendClientMessage(playerid, -1, #PROFILE\"Your profile has been saved. (Profiles autosave on disconnect)\");
return true;
}
CMD:myinfo(playerid, params[])
{
    if(!CommandSpamCheck(playerid)) return true;
   
if(!Profile_SetInfo(playerid, params)) SendClientMessage(playerid, -1, PROFILE_ERROR);
else SendClientMessage(playerid, -1, #PROFILE\"You\'re new info has been updated.\");
return true;
}
/*============================================================================*/
// *NOOBISH* STOCKS
stock ShowAdminBars(playerid, input)
{
if(input >= 1) TextDrawShowForPlayer(playerid, LevelBars[0]);
if(input >= 2) TextDrawShowForPlayer(playerid, LevelBars[1]);
if(input >= 3) TextDrawShowForPlayer(playerid, LevelBars[2]);
if(input >= 4) TextDrawShowForPlayer(playerid, LevelBars[3]);
if(input >= 5) TextDrawShowForPlayer(playerid, LevelBars[4]);
return true;
}
stock ShowVipBars(playerid, input)
{
if(input >= 1) TextDrawShowForPlayer(playerid, VipBars[0]);
if(input >= 2) TextDrawShowForPlayer(playerid, VipBars[1]);
if(input >= 3) TextDrawShowForPlayer(playerid, VipBars[2]);
if(input >= 4) TextDrawShowForPlayer(playerid, VipBars[3]);
if(input >= 5) TextDrawShowForPlayer(playerid, VipBars[4]);
return true;
}
stock ShowRepBars(playerid, input)
{
if(input >= 10)    TextDrawShowForPlayer(playerid, RepBars[0]);
if(input >= 150)    TextDrawShowForPlayer(playerid, RepBars[1]);
if(input >= 350)    TextDrawShowForPlayer(playerid, RepBars[2]);
if(input >= 650)    TextDrawShowForPlayer(playerid, RepBars[3]);
if(input >= 1000)   TextDrawShowForPlayer(playerid, RepBars[4]);
return true;
}
stock InfoFormat(string[])
{
format(PROFILE_STRING, sizeof PROFILE_STRING, string);
    for(new pos=0; pos < strlen(PROFILE_STRING); pos++)
if(PROFILE_STRING[pos] == \'~\') PROFILE_STRING[pos] = \'_\';
new line_c = -3;
for(new pos=0; pos < strlen(PROFILE_STRING); pos++)
{
    if(PROFILE_STRING[pos] >= \'A\' && PROFILE_STRING[pos] <= \'Z\') line_c++;
    if(line_c >= 30) { strins(PROFILE_STRING, \"~n~\", pos); line_c = 0; }
    line_c++;
}
format(string, 256, PROFILE_STRING);
}
/*============================================================================*/
// END OF FILE

 
Használjátok egészséggel
« Utoljára szerkesztve: 2013. január 24. - 14:10:45 írta Beckham »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Profil rendszer
« Válasz #1 Dátum: 2013. január 23. - 19:33:32 »
0 Show voters
[mod]Az eredeti készítõ nevét tüntesd fel![/mod]

Nem elérhető Beckham

  • 1693
  • Noresz
  • Discord: Noresz#4265
    • Profil megtekintése
    • OctansV Alt:v szervere
Profil rendszer
« Válasz #2 Dátum: 2013. január 24. - 14:11:12 »
0 Show voters
Ja télleg,köszi.Odaírtam.

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Profil rendszer
« Válasz #3 Dátum: 2013. január 25. - 23:30:00 »
0 Show voters
[gmod]Kedves téma nyitó!Egy új alfórum jött létre ( Hivatalos fórumról áthozott szkriptek ) Melyben csak magyarra fordított scripteket tehettek közzé. És megkérnélek hogy fordítsd le. Vagy ha nem akarod kérd a téma törlését.Szabályzatot ide kattintva tekintheted meg. További jó fórumozást![/gmod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal