VecotrLife

Автор Тема: Давам - [Online Rekord]  (Прочитано 97 пати)

0 Членови и 1 гостин ја прегледуваат оваа тема.

Edward Rose

  • Напреден член
  • *****
  • Пораки: 102
  • Pawno Scripting
Давам - [Online Rekord]
« на: Јануари 14, 2020, 08:48:02 pm »
Име Презиме: Edward Rose
Што давате: Онлајн и Рекорд систем на играчи.
Објаснување: Нема потреба
Слика/Видео (Задолжително): /

#include <a_samp>
#include <foreach>

#define TDSFP TextDrawShowForPlayer

new onlinepl, postoeckirekord, Text:OnlineRecord;

public OnFilterScriptInit()
{
DosegasenRekord();
onlinepl = Konektirano();

OnlineRecord = TextDrawCreate(495.000000,101.000000,"~y~Online igraci:~w~ ~n~~y~Rekord:~w~ ");
TextDrawAlignment(OnlineRecord,0);
TextDrawBackgroundColor(OnlineRecord,0);
TextDrawFont(OnlineRecord,2);
TextDrawLetterSize(OnlineRecord,0.299999,1.000000);
TextDrawColor(OnlineRecord,0xffffffff);
TextDrawSetProportional(OnlineRecord,1);
TextDrawSetShadow(OnlineRecord,0);
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

public OnPlayerConnect(playerid)
{
SetTimerEx("RekordTimer", 3000, false, "d", playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    onlinepl--;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    new string1[530];
    format(string1, 530, "~y~Online igraci:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
    TextDrawSetString(OnlineRecord, string1);
    TDSFP(playerid, OnlineRecord);
      return 1;
}
///////////////////////////////////////////////////////////////////////////
forward DosegasenRekord();
public DosegasenRekord()
{
new strFromFile[24], arrCoords[6][5], File: file = fopen("rekord.txt", io_read);
if(file)
{
    fread(file, strFromFile);
    odvoi(strFromFile, arrCoords, ',');
    postoeckirekord = strval(arrCoords[0]);
    fclose(file);
}
return 1;
}
forward ZacuvajRekord();
public ZacuvajRekord()
{
new coordsstring[24];
format(coordsstring, sizeof(coordsstring), "%d", postoeckirekord);
new File: file = fopen("rekord.txt", io_write);
fwrite(file, coordsstring);
fclose(file);
return 1;
}
forward RekordTimer(playerid);
public RekordTimer(playerid)
{
if(postoeckirekord)
{
    new string1[512];
    format(string1, 512, "~y~Online igraci:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
            TextDrawSetString(OnlineRecord, string1);
}
onlinepl++;
    if(postoeckirekord < onlinepl)
    {
        postoeckirekord = onlinepl;
        new string[128], string1[512];
        format(string, sizeof(string), "Noviot rekord e: %d", postoeckirekord);
        SendClientMessageToAll(0xFCB833FF, string);
        ZacuvajRekord();
format(string1, 512, "~y~Online igraci:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
TextDrawSetString(OnlineRecord, string1);
    }
        return 1;
}
stock odvoi(const strsrc[], strdest[][], delimiter)
{
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
        if(strsrc[i] == delimiter || i == strlen(strsrc))
        {
            len = strmid(strdest[aNum], strsrc, li, i, 128);
            strdest[aNum][len] = 0;
            li = i+1;
            aNum++;
        }
        i++;
    }
    return 1;
}
forward Konektirano();
public Konektirano()
{
new Connected;
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !IsPlayerNPC(i)) Connected++;
return Connected;
}
« Последно менување: Јануари 18, 2020, 04:46:44 pm Edward Rose »

Wegam

  • Почетник
  • *
  • Пораки: 3
Одг: Давам - [Online Rekord]
« Одговори #1 на: Јануари 16, 2020, 02:28:40 am »
Име Презиме: Edward Rose
Што давате: Онлајн и Рекорд систем на играчи.
Објаснување: Нема потреба
Слика/Видео (Задолжително): /

#include <a_samp>
#include <foreach>

#define TDSFP TextDrawShowForPlayer

new onlinepl, postoeckirekord, Text:OnlineRecord;

public OnFilterScriptInit()
{
DosegasenRekord();
onlinepl = Konektirano();

OnlineRecord = TextDrawCreate(495.000000,101.000000,"~y~Online igraci:~w~ ~n~~y~Rekord:~w~ ");
TextDrawAlignment(OnlineRecord,0);
TextDrawBackgroundColor(OnlineRecord,0);
TextDrawFont(OnlineRecord,2);
TextDrawLetterSize(OnlineRecord,0.299999,1.000000);
TextDrawColor(OnlineRecord,0xffffffff);
TextDrawSetProportional(OnlineRecord,1);
TextDrawSetShadow(OnlineRecord,0);
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

public OnPlayerConnect(playerid)
{
SetTimerEx("RekordTimer", 3000, false, "d", playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    onlinepl--;
return 1;
}

public OnPlayerSpawn(playerid)
{
    new string1[530];
    format(string1, 530, "~y~Online igraci:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
    TextDrawSetString(OnlineRecord, string1);
    TDSFP(playerid, OnlineRecord);
return 1;
}
///////////////////////////////////////////////////////////////////////////
forward DosegasenRekord();
public DosegasenRekord()
{
new strFromFile[24], arrCoords[6][5], File: file = fopen("rekord.txt", io_read);
if(file)
{
fread(file, strFromFile);
odvoi(strFromFile, arrCoords, ',');
postoeckirekord = strval(arrCoords[0]);
fclose(file);
}
return 1;
}
forward ZacuvajRekord();
public ZacuvajRekord()
{
new coordsstring[24];
format(coordsstring, sizeof(coordsstring), "%d", postoeckirekord);
new File: file = fopen("rekord.txt", io_write);
fwrite(file, coordsstring);
fclose(file);
return 1;
}
forward RekordTimer(playerid);
public RekordTimer(playerid)
{
if(postoeckirekord)
{
new string1[512];
format(string1, 512, "~y~Online igraca:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
TextDrawSetString(OnlineRecord, string1);
}
onlinepl++;
    if(postoeckirekord < onlinepl)
    {
        postoeckirekord = onlinepl;
        new string[128], string1[512];
format(string, sizeof(string), "Noviot rekord e: %d", postoeckirekord);
        SendClientMessageToAll(0xFCB833FF, string);
        SacuvajRekord();
format(string1, 512, "~y~Online igraci:~w~ %d~n~~y~Rekord:~w~ %d", Konektirano(), postoeckirekord);
TextDrawSetString(OnlineRecord, string1);
    }
return 1;
}
stock odvoi(const strsrc[], strdest[][], delimiter)
{
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
        if(strsrc[i] == delimiter || i == strlen(strsrc))
        {
            len = strmid(strdest[aNum], strsrc, li, i, 128);
            strdest[aNum][len] = 0;
            li = i+1;
            aNum++;
        }
        i++;
    }
    return 1;
}
forward Konektirano();
public Konektirano()
{
new Connected;
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !IsPlayerNPC(i)) Connected++;
return Connected;
}
Eror vadi na Sacuvaj rekord red 89

Edward Rose

  • Напреден член
  • *****
  • Пораки: 102
  • Pawno Scripting
Одг: Давам - [Online Rekord]
« Одговори #2 на: Јануари 18, 2020, 04:47:27 pm »
Копирај ја уште еднаш нема да имаш еррори fix e
« Последно менување: Јануари 18, 2020, 05:03:24 pm Edward Rose »