Fikkki
Uživatel-
Příspěvků
488 -
Registrován
-
Aktivní
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Everything posted by Fikkki
-
a když prostě chci aby clovek musel zadavat stejne heslo jako pri registraci? protoze kdyz se zaregistruju tak se muzu prihlasit pod libovolnym hesle a to je na hovn*
-
jak by to melo vypadat?
-
to je to same stejna slamastika
-
#include #include #include #include #define B_CERV #FF0000 #define B_ZLUTA #FFFF00 #define B_ZELENA #008000 #define B_MODRA #0000FF #define REGISTER 1 #define LOGIN 2 new bool:IsLogged[MAX_PLAYERS]; new file[MAX_PLAYERS][128]; forward OnPlayerRegister(playerid, heslo[]); forward OnPlayerLogin(playerid, heslo[]); forward OnPlayerSaveAcount(playerid); public OnPlayerConnect(playerid) { if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) { format(file[playerid], 128, "%s.ini", PlayerName(playerid)); IsLogged[playerid] = false; if(fexist(file[playerid])) { ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Přihlášení", "Vítáme vás na našem serveru!\nServer:\nHlavní Administrátor:", "Přihlásit", "Odpojit"); } else { ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_INPUT, "Registrace", "Vítáme vás na našem serveru!\nServer:\nHlavní Administrátor:", "Registrovat", "Odpojit"); } } return 1; } public OnPlayerDisconnect(playerid, reason) { if(IsPlayerConnected(playerid)) { OnPlayerSaveAcount(playerid); IsLogged[playerid] = false; } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(IsPlayerConnected(playerid)) { if(dialogid == REGISTER) { if(response == 1) { OnPlayerRegister(playerid, inputtext); } } if(dialogid == LOGIN) { if(response == 1) { new heslo[25]; strmid(heslo, inputtext, 0, strlen(inputtext), 25); OnPlayerLogin(playerid, heslo); } } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } public OnPlayerRegister(playerid, heslo[]) { if(IsPlayerConnected(playerid)) { if(strlen(heslo) == 0) return ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_INPUT, "Registrace", "Vítáme vás na našem serveru!\nServer: \nHlavní Administrátor:", "Registrovat", "Odpojit"); dini_Create(file[playerid]); dini_Set(file[playerid], "Heslo:", heslo); IsLogged[playerid] = true; } return 1; } public OnPlayerLogin(playerid, heslo[]) { if(IsPlayerConnected(playerid)) { if(strlen(heslo) == 0) return ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Přihlášení", "Vítáme vás na našem serveru!\nServer: Gate\nHlavní Administrátor:", "Přihlásit", "Odpojit"); if(strcmp(dini_Get(file[playerid], "Heslo"), heslo, true) == 0) { IsLogged[playerid] = true; SetPlayerMoney(playerid, dini_Int(file[playerid], "Peníze:")); } else { ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Přihlášení", "Vítáme vás na našem serveru!\nServer:\nHlavní Administrátor:", "Přihlásit", "Odpojit"); } } return 1; } public OnPlayerSaveAcount(playerid) { if(IsPlayerConnected(playerid)) { dini_IntSet(file[playerid], "Peníze", GetPlayerMoney(playerid)); } return 1; }
-
proste se zaregistruješ na serveru, ukoncis hru, znovu des na server a prihlasis se pod libovolnym heslem a ne pod tim jaky sis zadal pri registraci je to tento tut http://pawno.cz/pouziti-dini-a-dialogu-k-registraci-prihlaseni-v2-t10020.html
-
Zdarec mam registraci vse slape tak jak ma ale kdyz se regnu a znovu prihlasim pusti me to do hry pod jakimkoli hesle a nekdy ho ani nemusim zadat nevite co s tim?
-
pockej ted sem to nepobral vsude to mam dobre skopirovane
-
D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(286) : error 029: invalid expression, assumed zero D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(287) : error 001: expected token: ";", but found "return" D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(297) : error 029: invalid expression, assumed zero D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(297) : error 004: function "OnPlayerClickPlayer" is not implemented D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(301) : error 030: compound statement not closed at the end of file (started at line 262) Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 5 Errors. a radky to jsou 286- } 287- return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Přihlášení","Zadal jste chybné heslo!","Přihlásit","Konec"); 297- public OnPlayerClickPlayer(playerid, clickedplayerid, source) 301- to je dalsi radek a tam nic neni
-
D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(286) : error 029: invalid expression, assumed zero D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(287) : error 001: expected token: ";", but found "return" D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(297) : error 029: invalid expression, assumed zero D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(297) : error 004: function "OnPlayerClickPlayer" is not implemented D:\SA-MP\pawno\BrokeGate\BrokeGate.pwn(301) : error 030: compound statement not closed at the end of file (started at line 262) Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 5 Errors.
-
ted uz ta registrace vubec nenabiha ve hre neznate nejakou funkcni se vsema podminkama prosim ktera opravdu funguje?
-
tak sem to udelal smazal sem endif a else i ten defined filtescript a hazi me to tot D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(12) : error 021: symbol already defined: "PLAYERLIST_authed" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(87) : warning 217: loose indentation D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(94) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(97) : warning 217: loose indentation D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(266) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(268) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(281) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(283) : error 017: undefined symbol "PlayerName" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(294) : warning 217: loose indentation Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 7 Errors. a cely script mam takto //----Include #include #include #include //----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 #define BARVA 0xEFEFF7AA //----New new PLAYERLIST_authed[MAX_PLAYERS]; new bool:PLAYERLIST_authed[MAX_PLAYERS]; //----Stock stock SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,COLOR_SYSTEM,msg); } stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } return 1; } //----Ostatní public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { PLAYERLIST_authed[playerid] = false; if (!PLAYERLIST_authed[playerid]) { if(udb_Exists(PlayerName(playerid))) { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Vítej zpět !\nNapiš heslo !","Použít","Odpojit"); } else { ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrace","Vítej !\nZaregistruj se, napiš heslo","Použít","Odpojit"); } } return 1; } public OnPlayerDisconnect(playerid, reason) { if (PLAYERLIST_authed[playerid]) { dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); } PLAYERLIST_authed[playerid] = false; return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response == 1) { if (udb_Exists(PlayerName(playerid))) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Přihlaš se ! napiš heslo","Použít","Konec"); if (strlen(inputtext)==0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrace","Musíš napsat heslo !","Použít","Konec"); if (udb_Create(PlayerName(playerid),inputtext)) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Víborně, nyní napiš znovu heslo !","Použít","Odpojit"); } if(response == 2) { Kick(playerid); } } if(dialogid == 2) { if(response == 1) { if (strlen(inputtext)==0) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Musíš zadat heslo !\nNapiš heslo !","Použít","Konec"); if (udb_CheckLogin(PlayerName(playerid),inputtext)) { GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); PLAYERLIST_authed[playerid] = true; return SendClientMessage(playerid, BARVA, "Úspěšně jste se přihlásil!"); } return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Nespravne heslo !","Použít","Konec"); } if(response == 2) { Kick(playerid); } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
-
Mam tyhle errory D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : error 017: undefined symbol "PLAYERLIST_authed" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : warning 215: expression has no effect D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : error 001: expected token: ";", but found "]" D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : error 029: invalid expression, assumed zero D:\SA-MP\pawno\BrokenGate\BrokenGate.pwn(80) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors. je to na jednom radku ten vypada takhle PLAYERLIST_authed[playerid] = false; a cely script vypada takhle //----Include #include #include #include //----Define #if defined FILTERSCRIPT #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 BARVA 0xEFEFF7AA //----New new PLAYERLIST_authed[MAX_PLAYERS]; //----Stock stock SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,COLOR_SYSTEM,msg); } stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } return 1; } //----Ostatní public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { PLAYERLIST_authed[playerid] = false; if (!PLAYERLIST_authed[playerid]) { if(udb_Exists(PlayerName(playerid))) { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Vítej zpět !\nNapiš heslo !","Použít","Odpojit"); } else { ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrace","Vítej !\nZaregistruj se, napiš heslo","Použít","Odpojit"); } } return 1; } public OnPlayerDisconnect(playerid, reason) { if (PLAYERLIST_authed[playerid]) { dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); } PLAYERLIST_authed[playerid] = false; return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response == 1) { if (udb_Exists(PlayerName(playerid))) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Přihlaš se ! napiš heslo","Použít","Odpojit"); if (strlen(inputtext)==0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrace","Musíš napsat heslo !","Použít","Odpojit"); if (udb_Create(PlayerName(playerid),inputtext)) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Víborně, nyní napiš znovu heslo !","Použít","Odpojit"); } if(response == 2) { Kick(playerid); } } if(dialogid == 2) { if(response == 1) { if (strlen(inputtext)==0) return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Musíš zadat heslo !\nNapiš heslo !","Použít","Odpojit"); if (udb_CheckLogin(PlayerName(playerid),inputtext)) { GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); PLAYERLIST_authed[playerid] = true; return SendClientMessage(playerid, BARVA, "Úspěšně přihlášen !"); } return ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrace","Nespravne heslo !","Použít","Odpojit"); } if(response == 2) { Kick(playerid); } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
-
vy tady fakt melete pěkný haldy gta takova stara hra ja uz pawnim jen z nudy ale nehraju to
-
ale tenhle stock uz tam davno mam -- ned 11. črc 2010 13:23:45 -- prosimtě mužeš mě napsat jak ten cely prikaz ma vypadat toto je do nekonecna prosim napis me ho
-
to je v riti ani jedna verc nevysla
-
no vubec to nepobiram ale nevadi
-
pomoc HELP ROZDELENI LVLU PODLE JMENA
Fikkki replied to Fikkki's question in Herní (SA:MP, CS apod.)
ale neslo byto udelat ze nahore by bylo ze kdyz je lvl 1 = moderator atd az do 3 lvlu a rozpoznalo by to samo? -
pomoc HELP ROZDELENI LVLU PODLE JMENA
Fikkki replied to Fikkki's question in Herní (SA:MP, CS apod.)
ok -
pomoc HELP ROZDELENI LVLU PODLE JMENA
Fikkki replied to Fikkki's question in Herní (SA:MP, CS apod.)
hele a neslo by to udelat i s rconem? myslim jako vsechny moznosti rcon samotny a rcon se vsemi lvly -
to mam doplnit jako pod to co je v tom prikazu?
-
mysliš toto ? dcmd_pm(playerid, params[]) { if(IsPlayerConnected(playerid)) { new id,string[256]; if(sscanf(params,"us",id,string)) return SendClientMessage(playerid, B_CERV, "Použití: /pm [iD] [TEXT]"); // u = playerid, s = string SendClientMesdsage(id,barva,string); // atd ... } return 1; } to je cele?
-
pomoc HELP ROZDELENI LVLU PODLE JMENA
Fikkki replied to Fikkki's question in Herní (SA:MP, CS apod.)
lol sry nejak to vypadlo dcmd_admins(playerid, params[]) { #pragma unused params SendClientMessage(playerid, B_MODR, "Administrátoři On-line"); new adminu; for(new i=0;iif(IsPlayerConnected(i) && admin[i] > 0){ adminu = 1; break; } } if(adminu == 0) return SendClientMessage(playerid,B_CERV,"Na serveru není žádný Administrátor!"); new string[60]; for(new i=0;i<=MAX_PLAYERS_EX;i++) { if(IsPlayerConnected(i)) { if(IsPlayerAdmin(i) && admin[i] == 0) { format(string, 60, "[ On-line ] %s | [ RCON ]",PlayerName(i)); SendClientMessage(playerid,B_BILA,string); } else if(admin[i] > 0 && !IsPlayerAdmin(i)) { format(string, 60, "[ On-line ] %s | [ LVL %d ]",PlayerName(i),admin[i]); SendClientMessage(playerid,B_BILA,string); } else if(IsPlayerAdmin(i) && admin[i] > 0) { format(string, 60, "[ On-line ] %s | [ LVL %d + RCON ]",PlayerName(i),admin[i]); SendClientMessage(playerid,B_BILA,string); } } } return true; } -
vubec nevim co myslsi ale ja bych potreboval videt ten celej prikaz udelanej ja to vubec nepobral
-
Zdarec takhle mam prikaz /admins a mam to na 3 lvly a potrebuju to udelat ze stejne jako ve wtls misto cisel hodnost takze lvl 1 moderator lvl 2 administrator a lvl 3 hlavni administraotr nevite jak na to?
-
hele nejak sem nepochopil