Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: #leivyz poslato Oktobar 07, 2021, 19:52:45 POSLE PODNE

Naslov: AFK system
Poruka od: #leivyz poslato Oktobar 07, 2021, 19:52:45 POSLE PODNE
Pozdravko, zelim da vam pokazem kako sto jednostavnije da napravite 'AFK system' na vasem serveru!
Smatram da vam ovo moze biti od neke pomoci


Potrebni includovi za ovaj sistem:
[pawn]#include a_samp[/pawn]

Zatim je potrebno da dodate New:

[pawn]new AFK[MAX_PLAYERS];
new Float:OldHealth;[/pawn]

Gledajte da napravite ispod nekih vasih #define-ova!
Zatim dodajte sledecu Public funkciju OnPlayerText:


[pawn]public OnPlayerText(playerid, text[])
{
    if(AFK[playerid] ==1)
    {
        SendClientMessage(playerid,BOJA_CRVENA,"Vi ste AFK, ne mozete da razgovarate s ostalima!");
        return 0;
}
    return 1;
}[/pawn]

[pawn]    if(AFK[playerid] ==1)[/pawn]

Ovo sto vidite to vam je da ukoliko igrac pokusa da napise poruku a prethodno je ukucao /afk
Kada ste to uradili dodajte sledecu i zadnju Public funkciju OnPlayerCommandText:


[pawn]public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/afk", cmdtext, true, 10) == 0)
    {
        if(AFK[playerid] == 1)
        {
        return SendClientMessage(playerid,BOJA_CRVENA,"Vi ste vec AFK");
        }
        new string[128];
        new PNAME[MAX_PLAYER_NAME];
        new vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
        AFK[playerid] = 1;
        SetPlayerHealth(playerid,999999999);
        SetVehicleHealth(vehicleid,9999999999);
        GetPlayerHealth(playerid,OldHealth);
        GetVehicleHealth(vehicleid,OldHealth);
        SendClientMessage(playerid,BOJA_CRVENA,"Uspesno ste postavili vas status u AFK!");
        GetPlayerName(playerid, PNAME, MAX_PLAYERS);
        format(string, sizeof(string), "%s je postavio status u AFK", PNAME);
        SendClientMessageToAll(BOJA_PLAVA,string);
        TogglePlayerControllable(playerid,0);
        return 1;
    }

    if (strcmp("/back", cmdtext, true, 10) == 0)
    {
        if(AFK[playerid] == 0)
        {
        return SendClientMessage(playerid,BOJA_CRVENA,"Nisi stavio svoj status AFK, ne mozes ovo!");
        }
        new string[128];
        new PNAME[MAX_PLAYER_NAME];
        AFK[playerid] = 0;
        new vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
        SetPlayerHealth(playerid,OldHealth);
        SetVehicleHealth(vehicleid,OldHealth);
        SendClientMessage(playerid,BOJA_ZELENA,"Uspesno ste promenili vas status, vratili ste se za tastaturu!");
        GetPlayerName(playerid, PNAME, MAX_PLAYERS);
        format(string, sizeof(string), "%s se uspesno vratio/la za tastaturu!", PNAME);
        SendClientMessageToAll(BOJA_NARANDZASTA,string);
        TogglePlayerControllable(playerid,1);
        return 1;
    }
    return 0;
}[/pawn]

Ovo mozete da iskoristite kao FilterScriptu ukoliko vam nije jasno kako treba da se ubaci!
Naravno AFK system moze ne 100 nacina da se napravi, ja sam odlucio da to prezentujem ovako!
Naslov: Odg: AFK system
Poruka od: #leivyz poslato Oktobar 07, 2021, 20:01:50 POSLE PODNE
Da se samo nadovezem, Boje vi pravite i definisete kako vi zelite! Posto vidim da sam ostavio boje a nisam define za njih napisao!  :-X
Naslov: Odg: AFK system
Poruka od: Galardo poslato Oktobar 07, 2021, 20:23:14 POSLE PODNE
Citat: Stevanovic.pwn poslato Oktobar 07, 2021, 20:01:50 POSLE PODNE
Da se samo nadovezem, Boje vi pravite i definisete kako vi zelite! Posto vidim da sam ostavio boje a nisam define za njih napisao!  :-X
(https://i.redd.it/2he0amxzms271.jpg)