Problem(error/warning): Nije error samo mi treba pomoc kako da napravim ove 2 koamnde
Dio skripte: [ pawn ]Ako bude šta trebalo poslacu nije problem[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
/skiniadmina /postaviadmina
548
pregleda
5
postova
6. Jul 2018.
6. Jul 2018.
Evo ti iz SA moda prilagodi svom modu
YCMD:postaviadmina(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera == 0) return SCM(playerid,-1,"SA:RP | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo >= 6 || IsPlayerAdmin(playerid))
{
new player, level, string;
if(sscanf(params, "ud", player, level)) return SendClientMessage(playerid, -1, "SA:RP Pomoc | "ZUTA"/postaviadmina [ID/Ime] [Level (1-6)]");
if(!IsPlayerConnected(player)) return SCM(playerid, -1,""CRVENA"[SA:RP] "BELA"Pogresan ID!");
if(level < 0 || level > 6) return SendClientMessage(playerid, -1, ""CRVENA"[SA:RP] "SIVA"Admin Level ne moze biti manji od 0 i veci od 6!");
PlayerInfo = level;
format(string, sizeof(string), ""ZUTA"A | "BELA"Admin %s vam je postavio %d Admin Level.", GetName(playerid), level);
SendClientMessage(player, -1, string);
format(string, sizeof(string), ""ZUTA"A | "BELA"Igracu %s ste postavili Admin Level na %d.", GetName(player), level);
SendClientMessage(playerid, -1, string);
if(level == 0)
{
SetPlayerColor(player, BELA2);
AdminDuty = 0;
}
else
{
PlayerInfo = 10000+random(899999);
new INI:File = INI_Open(Korisnici(player));
INI_WriteInt(File,"Adminpin",PlayerInfo);
INI_Close(File);
format(string, sizeof(string), ""ZUTA"A | "BELA"Vas pin kod je: %d "CRVENA"OBAVEZNO ZAPISI", PlayerInfo);
SendClientMessage(player, -1, string);
new arank;
if(PlayerInfo == 1) { arank = "Skripter"; }
else if(PlayerInfo == 1) { arank = "Vlasnik"; }
else if(PlayerInfo == 6) { arank = "Direktor"; }
else { arank = "Admin"; }
format(string, sizeof(string), "Cestitamo Vam, postali ste admin na Skill Arena RolePlay serveru!\nAdmin Level %d Vam je dao %s %s.\nVazno : Pri svakom ulasku na server trazice Vam se provera PIN koda radi sigurnosti!\nZapisite negde ovaj broj na papir ili neki txt dokument i sacuvajte, da znate za ubuduce!\nKOD : %d",level,arank, GetName(playerid),PlayerInfo);
ShowPlayerDialog(player, 336, DIALOG_STYLE_MSGBOX, "Admin", string, "Uredu", "");
}
SavePlayer(player);
}
else
{
SendClientMessage(playerid, -1, ""CRVENA"[SA:RP] "SIVA"Samo Vlasnik!");
}
return 1;
}6. Jul 2018.
COMMAND:posaviadmina(playerid, params[])
{
new id,alvl;
new Query;
if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Samo RCON!");
if(sscanf(params, "ud", id,alvl)) return SendClientMessage(playerid, -1, "/postaviadmina [ ID ] [ Level ]");
if(alvl > 1338 || alvl < 1) return 1;
if(!IsPlayerConnected(id)) return 1;
if(alvl == 0) return 1;
mysql_format(bazaPodataka, Query, sizeof( Query ), "SELECT * FROM admini WHERE Ime = '%s'", ImeIgraca(id));
mysql_pquery( bazaPodataka, Query, "PostaviAdmina", "iii", playerid, id, alvl );
return 1;
}
COMMAND:smjeniadmina(playerid, params[])
{
if (!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, -1, "Samo RCON!");
return 1;
}
new smjeniadmina;
if (sscanf(params, "s", smjeniadmina))
{
SendClientMessage(playerid, -1, "/smjeniadmina [ Nick ]");
return 1;
}
new Query[ 1000 ];
mysql_format(bazaPodataka, Query, sizeof( Query ), "SELECT * FROM admini WHERE Ime = '%s'", smjeniadmina);
mysql_pquery( bazaPodataka, Query, "SmjeniAdmina", "is", playerid, smjeniadmina );
return 1;
}Funkcije:
forward PostaviAdmina(playerid, id, alvl);
public PostaviAdmina(playerid, id, alvl)
{
new string;
new Query;
new rows;
cache_get_row_count(rows);
if(rows ) // Igrac postoji u `admini` na bazi podataka
{
SendClientMessage(playerid, -1, "Igrac je administrator!");
return 1;
}
else // igrac postavljen za admina ...
{
mysql_format(bazaPodataka, Query, sizeof(Query), "INSERT INTO `admini` (`Ime`, `Level`) VALUES ('%s', '%d')", ImeIgraca(id), alvl);
mysql_tquery( bazaPodataka,Query);
SetPVarInt(id, "AdminLevel", alvl);
format(string, sizeof(string), "Postavljen vam je level %d Admina.", alvl);
SendClientMessage(id, 0xFF6347AA, string);
}
return 1;
}
forward SmjeniAdmina(playerid, ime[]);
public SmjeniAdmina(playerid, ime[])
{
new rows;
new Query;
cache_get_row_count(rows);
new trazimigraca;
if(rows )
{
new jelonlinesmrad = 0; new idigraca = -1;
for(new i=0; i
if(IsPlayerConnected(i)) // Provjerava jel igrac online
{
GetPlayerName(i, trazimigraca, sizeof(trazimigraca));
if(strcmp(trazimigraca,ime,true)==0)
{
idigraca = i; // id igraca za online micanje admina
jelonlinesmrad=1; // Igrac je online
}
}
}
if(jelonlinesmrad==1) // online micanje admina
{
SendClientMessage(idigraca, -1, "Smjenjeni ste sa admin pozicije!");
SetPVarInt(idigraca, "AdminLevel", 0):
mysql_format( bazaPodataka,Query, sizeof(Query),"DELETE from `admini` where `Ime` = '%s'", ime);
mysql_tquery( bazaPodataka, Query );
return 1;
}
else // offline micanje admina
{
mysql_format( bazaPodataka,Query, sizeof(Query),"DELETE from `admini` where `Ime` = '%s'", ime);
mysql_tquery( bazaPodataka, Query );
}
}
else
{
SendClientMessage(playerid, -1, "Taj igrac nije admin!");
}
return 1;
} Provjerava da li je igrac admin na logiranju
new Query;
format( Query, sizeof( Query ), "SELECT * FROM admini WHERE Ime = '%s'", ImeIgraca(playerid));
mysql_pquery( bazaPodataka, Query, "ProvjeraAdminPozicije", "i", playerid );forward ProvjeraAdminPozicije(playerid);
public ProvjeraAdminPozicije(playerid)
{
if(GetPVarInt(playerid, "AdminLevel") > 0)
{
new rows;
cache_get_row_count(rows);
if(rows )
{
new lvl;
cache_get_value_name_int(0, "Level", lvl);
if(GetPVarInt(playerid, "AdminLevel") != lvl)
{
// igracu promjenjen admin level
SetPVarInt(playerid, "AdminLevel);
}
}
else
{
// Tekst kad je igrac smjenjen
SetPVarInt(playerid, "AdminLevel", 0);
}
}
return 1;
}
//----------- ime igraca (smrada)
stock ImeIgraca(playerid)
{
new imesmrada;
GetPlayerName(playerid, imesmrada, MAX_PLAYER_NAME);
return imesmrada;
}
Komanda za listu admina
COMMAND:admini(playerid, params[])
{
new qadmin;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "admini na serveru:");
mysql_format( bazaPodataka, qadmin, sizeof( qadmin ), "SELECT * FROM `admini`");
mysql_pquery( bazaPodataka, qadmin, "serverAdmins", "i", playerid );
return 1;
}
// izvrsavanje querya
forward serverAdmins(playerid);
public serverAdmins(playerid)
{
new rows, admBroj, adminBrojac = 1;
cache_get_row_count(rows);
new adminIme, adminLevel;
new trazimigraca;
if( rows )
{
for( new i = 0; i < rows; i ++ )
{
admBroj = adminBrojac;
cache_get_value_name( i, "Ime", adminIme[ admBroj ], 129 );
cache_get_value_name_int( i, "Level", adminLevel);
new jelonlinesmrad = 0;
for(new p=0; p {
if(IsPlayerConnected(p))
{
GetPlayerName(p, trazimigraca, sizeof(trazimigraca));
if(strcmp(trazimigraca,adminIme[ admBroj ],true)==0)
{
jelonlinesmrad=1;
}
}
}
new string;
new status;
if(jelonlinesmrad == 0) { status = "{DB023E}Offline"; } // nije tu
else if(jelonlinesmrad == 1) { status = "{33AA33}Online"; } // tu je
format(string, sizeof(string),"- %s (lvl: %d ) %s", adminIme[ admBroj ], adminLevel, status);
SendClientMessage(playerid, -1, string);// Ispisuje informacije o adminu
adminBrojac++;
}
}
return 1;
} SQL
CREATE TABLE `admini` (
`broj` int(11) NOT NULL,
`Ime` varchar(129) NOT NULL,
`Level` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Indexes for table `admini`
--
ALTER TABLE `admini`
ADD PRIMARY KEY (`broj`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `admini`
--
ALTER TABLE `admini`
MODIFY `broj` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
COMMIT;7. Jul 2018.
Ako na takav naÄin misliÅ¡ skriptati,poÅ¡tedi i sebe i nas - Odustani.
Ako zaista želiÅ¡ nauÄiti skriptati ne možeÅ¡ poÄeti "uÄiti" praviti takve komandu dok ne poznajeÅ¡ neke osnovne stvari.
Ako zaista želiÅ¡ nauÄiti skriptati ne možeÅ¡ poÄeti "uÄiti" praviti takve komandu dok ne poznajeÅ¡ neke osnovne stvari.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava