Zkoušel jsem si udělat jednoduchý admin script s pomocí dcmd. Vše jsem zkompiloval bez errorů, ale když použiju nějaký příkaz ve hře, tak mi to píše "Uknow command" zkrátka, že ten příkaz není.
Některé věci jsou tam zatím na nic ale to proto, že tam chci do budoucna připad ještě pár dalších funkcí
Vložím celý kód, protože netuším kde je chyba:
#include <a_samp>
#include <a_players>
#include <sscanf2>
#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
#define MAX_PLAYERS_EX 60
#define COLOR_1 0x33AA33AA
#define COLOR_2 0xFCEE21AA
new AdminLevel[MAX_PLAYERS_EX];
stock PlayerName(playerid)
{
new name[255];
GetPlayerName(playerid, name, 255);
return name;
}
dcmd_setadmin(playerid, params[])
{
new id = strval(params);
new string[128];
if (!strlen(params)) return SendClientMessage(playerid, COLOR_2, "[Chyba]: Nemáš admin level");
if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_2, "[Chyba]: Hráč není připojen na serveru");
if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_2, "[Chyba]: Nemáš RCON oprávnění!!!");
format(string, sizeof(string), "RCON %s udělil hráči %s administrátorská práva", PlayerName(playerid), PlayerName(id));
SendClientMessageToAll(COLOR_2, string);
AdminLevel[id] = 1;
return 1;
}
dcmd_kick(playerid, params[])
{
new id = strval(params);
new bylv[128];
new bylsv[128];
if (!strlen(params)) return SendClientMessage(playerid, COLOR_2, "[Chyba]: /kick (id)");
if (AdminLevel[playerid] != 1) return SendClientMessage(playerid, COLOR_2, "[Chyba]: Nemáš admin level");
if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_2, "[Chyba]: Hráč není připojen na serveru");
format(bylv, sizeof(bylv), "Administrator %s vyhodil hráče %s ze serveru", PlayerName(playerid), PlayerName(id));
format(bylsv, sizeof(bylsv), "Administrator %s te vyhodil ze serveru", PlayerName(playerid));
SendClientMessageToAll(COLOR_2, bylv);
SendClientMessage(id,COLOR_2, bylsv);
Kick(id);
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
dcmd(kick,4,cmdtext);
dcmd(setadmin,8,cmdtext);
return 0;
}
Dotaz
Klayman 0
Dobrý den
Zkoušel jsem si udělat jednoduchý admin script s pomocí dcmd. Vše jsem zkompiloval bez errorů, ale když použiju nějaký příkaz ve hře, tak mi to píše "Uknow command" zkrátka, že ten příkaz není.
Některé věci jsou tam zatím na nic ale to proto, že tam chci do budoucna připad ještě pár dalších funkcí
Vložím celý kód, protože netuším kde je chyba:
Předem děkuji za všechny užitečné rady.
Link to comment
Share on other sites
7 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now