Jump to content
  • 0

pomoc Admin systém


DilexCZ

Dotaz

Dobrý den.

Jsem DilexCZ a potřeboval bych pomoct ohledně admin systému.

 

Když sem se koukal na ty admin příkazy tak  sem tam furt viděl ZCMD a command atd..

Ktomu potřebuji ZCMD a nemůžu ho nikde najít (našel sem několik odkazů na stáhnutí, ale nešo to).

A když najdu nějaký admin systém tak tam to je nastavené jen pro RCON a není tam jako například v RZE /setlvl ID abych někomu nastavil admina. Tak vás prosím jestli byste mi zkusily napsat jak se to dělá když mám jen include SAMP.

 

Nebo pokuď se dá použít něco co už tam mam když sem to stáhl ze stránky sa-mp.cz .

To je asi poslední věc která mi brání udělat si vlastní GAMEMODE .

Protože sám bych to na sereru nezvládl jako jeden admin a RCON jim dávat rozhodně nechci :) .

 

Děkuji za pozornost a doufám že mi nějaký zkušený pawner pomůže :)

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0

tak keď máš iba include <a_samp> sa to možno dá ale dám ti tu taký rýchli TuT a našiel som ho tu na pawne :d

 

Include:

#include <a_samp>
#include <Dini>
#include <sscanf>
 
/*NEW*/
new Admin[MAX_PLAYERS];
new readmin[400];
new adminsave[50];
 
/*STOCK*/
stock Meno(playerid)
{
new pName[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, pName, sizeof(pName));
}
  return pName;
}

 

/*DEFINE*/

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

 

 

public OnPlayerConnect(playerid)
{
format(adminsave, sizeof(adminsave), "Admins/%s.ini",Meno(playerid));
Admin[playerid] = dini_Bool(adminsave, "Admins");
return 1;
}
 
 
public OnPlayerCommandText(playerid, cmdtext[])
{
 
tak tu si vytvor pírkaz aký chceš tak napr setlvl..ja používam /setadmin a /readmin takže sem to Commandu dáš
 
dcmd(readmin,       7, cmdtext);
dcmd(setadmin,      8, cmdtext);
return false;
}
 
dcmd_setadmin(playerid, params[])
{
new id = strval(params);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF, "Iba RCON môže použiť tento príkaz");
if (!strlen(params)) return SendClientMessage(playerid, 0x23FF00FF, "{00CC00}Použi{FFFFFF}: /{0087FF}setadmin {828282}[iD]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0x23FF00FF, "Hráč nie je pripojený");
else if(Admin[id] == 1) return SendClientMessage(playerid, 0x23FF00FF, "Tento hráč už je administrátorom");
else
{
Admin[id] = 1;
new getadmin[400];
format(getadmin, sizeof(getadmin), "{FF0000}Hlavný Administrátor {00D100}%s {FF0000}pridelil funkciu administrátora hráčovi {00D100}%s {FF0000}[Dôvod: Vybraný/Nábor/Iné]", Meno(playerid), Meno(id));
SendClientMessageToAll(0x23FF00FF, getadmin);
format(adminsave, sizeof(adminsave), "Admins/%s.ini", Meno(id));
if(!dini_Exists(adminsave))
{
dini_Create(adminsave);
dini_BoolSet(adminsave, "Admins", Admin[playerid]);
 }
 }
 return 1;
 }
 
dcmd_readmin(playerid, params[])
{
new id = strval(params);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF, "Iba RCON môže použiť tento príkaz");
if (!strlen(params)) return SendClientMessage(playerid, 0x23FF00FF, "{00CC00}Použi{FFFFFF}: /{0087FF}readmin {828282}[iD]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, "Hráč nie je pripojený");
else if(Admin[id] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Tento hráč nie je administrátor");
else
{
Admin[id] = 0;
format(readmin, sizeof(readmin), "{FF0000}Hlavný administrátor {00D100}%s {FF0000}odobral funkciu administrátora hráčovi {00D100}%s {FF0000}[Dôvod: Vyhodený/Odišiel/Iné]",Meno(playerid), Meno(id));
SendClientMessageToAll(0x23FF00FF, readmin);
  format(adminsave, sizeof(adminsave), "Admins/%s.ini", Meno(id));
  if(dini_Exists(readmin))
  {
dini_Remove(readmin);
}
}
return 1;
 }
 
a máš hotovo ak nevieš príkazy vytvoriť tak stačí si spraviť:
 
dcmd_tvojpríkaz(playerid,params[])
{
//čo to má robiť
return 1;
}
a zapíšeš to CommandTextu
Ak si chcel toto tak nemáš začo :d
 
napríklad tu máš príkaz na /kills ID Dôvod
 
dcmd_kills(playerid, params[])
{
new reason[80];
new id = strval(params);
if(Admin[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF,"Tento príkaz môže použiť iba administrátor");
if (sscanf(params, "uz", id, reason)) return SendClientMessage(playerid,0xFF0000FF,"Použi: /kills [iD] [DÔVOD]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF,"Hráč nie je pripojený");
format(reason,sizeof(reason),"Administrátor %s zabil hráča %s [Dôvod: %s]",Meno(playerid),Meno(id),reason);
SendClientMessageToAll(0xFF0000FF,reason);
SetPlayerHealth(id,0);
return 1;
}
a dcmd(kills,         5, cmdtext); napíše do OnPlayerCommandText
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...