Jump to content

WaterSmoke

Uživatel
  • Příspěvků

    2
  • Registrován

  • Aktivní

Příspěvky posted by WaterSmoke

  1. Takže ahoj,

    Ukážu vám jednoduchý základ admin systému :d vše jsem dělal já až na příkaz ten do 35% sem dělal já sám xD

    Pusťme se do toho :-)

    #include <a_samp>//zakladní include
    #include <dini>//ukladací include
    #include <izcmd>//přikazový include
    
    #define MAX_PLAYERS_EX 100 //zadejte si počet slotů které máte na serveru
    new al[MAX_PLAYERS_EX]; //podmínka kterou vzniká celý admin systém
    
    //========tak a pustíme se do práce========//
    //========1 věc ukladání========//
    stock SaveLevel(playerid)//ukladání admin levelu zapotřebí include dini
    {
    	new cesta[64];
    	format(cesta, sizeof(cesta),"WS/%s.cfg", Meno(playerid));// 'WS' je složka kterou máte vytvořenou ve scriptfiles jestli nemáte  vytvořte jí
    	if(!fexist(cesta)) dini_Create(cesta);
    	{
    		dini_IntSet(cesta, "ALevel", al[playerid]);//uložíme
    	}
    	return 1;
    }
    
    public OnPlayerDisconnect(playerid,reason)//když se hráč odpojí ze hry (/q)
    {
    	SaveLevel(playerid);//uloží mu to admin level
    	return 1;
    }
    //========2.načitání========//
    
    stock LoadLevel(playerid)//načitání admin levelu zapotřebí include dini
    {
    	new cesta[64];
    	format(cesta, sizeof(cesta),"WS/%s.cfg", Meno(playerid));
    	if(fexist(cesta))
    	{
    		al[playerid] = dini_Int(cesta,"ALevel");//načteme
    	}
     	if(!fexist(cesta)) fremove(cesta);
    	return 1;
    }
    
    public OnPlayerConnect(playerid)//když se hráč připojí
    {
    	LoadLevel(playerid);//načte mu to uložený admin level
            return 1;
    }
    //========3.Admin přikaz========//
    CMD:vyhra(playerid,params[])//výhra přikaz
    {//zacatek
     	if(al[playerid] < 3) return  SendClientMessage(playerid,  -1, "{ff0066}[ ES ] {ffffff}Musíš mít {00ccff}Dostatečný Level.");//když hráč má admin level stejný jak 3 a nebo i 3+ admin level např lvl 4 může použit příkaz
    	if(!strlen(params)||!IsNumeric(params)) return SendClientMessage(playerid,-1,"{ff0000}[ ES ] Použití: {ffffff}/Vyhra [ ID ]"); //použití = když hráč zadal např.: /vyhra 0 500000 vyjede mu tato zpráva že je špatně příkaz
     	new string[1000];//[1000] = délka písma jinak string je použít pro format a pro zprávu všem může být použit i na jiné věci než je sendclientmessagetoall
    	new CMD_ID = strval(params);//definice id zvoleného hráče
    	if(!IsPlayerConnected(CMD_ID)) return SendClientMessage(playerid,-1,"{ff0066}[ ES ] {ffffff}Tento Hráč neni pripojený.");//když hráč není připojený
    	format(string,sizeof(string),"{ff0000}Eventér {ffffff}%s {ff0000}udělil výhru hráčovi {ffffff}%s [{ff0000} 7.000.000{ffffff}]",Meno(playerid),Meno(CMD_ID));//format který použijeme níze pro zprávu všem
    	SendClientMessageToAll(0x0000FFFF,string);//zpráva do chatu pro všechny barva, format který jsme použili víš
    	GivePlayerMoney(CMD_ID, 7000000);//zakladní samp funcke pro davání pěněz POZOR!! ve rze 8 a nižší verze nejde
    	return CMD_SUCCESS;//samotný return
    }//konec
    
    
    //=======potřebné věci=====//
    stock IsNumeric(const string[])
    {
       new length=strlen(string);
       if (length==0) return false;
       for (new i = 0; i < length; i++)
       {
          if ((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')|| (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0)) return false;
       }
       if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
       return true;
    }
    
    stock Meno(playerid)
    {
       new pName[MAX_PLAYER_NAME];
       if(IsPlayerConnected(playerid))
       {
             GetPlayerName(playerid, pName, sizeof(pName));
       }
       return pName;
    }
    //=======KONEC=====//
    

    Includy máte v attachments xD

    Admin.rar

×
×
  • Create New...