Jump to content
  • 0

pomoc Ukládání a načítání [DOF2]


Paulee

Dotaz

Zdravím,

dělám pár admin příkazů a potřebuju nějak uložit admin level přes dof2. Zkoušel jsem i hledal ale bohužel nic pořádného jsem nenašel. Potřebuju jen příklad, jak dát do OnPlayerConnected načtení admin levelu a vytvoření složky. Pak do OnPlayerDisconnected jenom uložení admin levelu do souboru se jménem. Doufám, že mi pomůžete :d

 

Díky za přečtení,

S pozdravem Petr.

Edited by PetrPaulik
Link to comment
Share on other sites

Recommended Posts

  • 0

//HORE//
#define FILE "Ucet/%s.ini" // Nadefinujeme cestu k suboru hraca v slozke /scriptfiles/Ucet/hrac.ini

new AdminLevel[MAX_PLAYERS];

//CONNECT//
new file[50+1], name[24]; //Do file si nadefinujeme cestu, do premennej name si nadefinujeme meno hraca
GetPlayerName(playerid, name, 24); //Definujeme meno hraca
format(file, sizeof(file), FILE, name); //Davame premennej file meno hraca - odteraz to vie uz meno hraca a uz len pracujeme

if(!DOF2_FileExists(file)) DOF2_CreateFile(file); //Ak subor hraca neexistuje vytvorime ho
else { //Ak už existuje
AdminLevel = DOF2_GetInt(file, "AdminLevel"); //Do premennej AdminLevel ziskame admin level.
DOF2_SaveFile(file); //Uložime subor
}

//DISCONNECT
new file[50+1], name[24];
GetPlayerName(playerid, name, 24);
format(file, sizeof(file), FILE, name);
DOF2_SetInt(file, "AdminLevel", AdminLevel); //Z premennej AdminLevel ukladame do suboru.
DOF2_SaveFile(file); //Ulozime subor
Link to comment
Share on other sites

  • 0

 

DOF2_SaveFile(file); //Ulozime subor

 

~> Nemusíš přidávat cestu. Ta funkce je převzata ze fclose, takže stačí bohatě:

 

DOF2_SaveFile();
Link to comment
Share on other sites

  • 0

Wow, díky ale píše to chyby a warningy. Přemýšlel jsem proč, ale k ničemu jsem nedošel :d

 

CHYBY:

C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(173) : error 022: must be lvalue (non-constant)
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(176) : warning 217: loose indentation
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(176) : error 029: invalid expression, assumed zero
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(176) : error 004: function "OnPlayerDisconnect" is not implemented
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(178) : warning 219: local variable "file" shadows a variable at a preceding level
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(178) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(182) : warning 202: number of arguments does not match definition
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(186) : warning 225: unreachable code
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(186) : error 029: invalid expression, assumed zero
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(186) : error 017: undefined symbol "cmd_setlvl"
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(186) : error 029: invalid expression, assumed zero
C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(186) : fatal error 107: too many error messages on one line

Můj "GAMEMODE" :d

 

 

#include <a_samp>
#include <sscanf2>
#include <zcmd>
#include <dof2>

new Vezeni[MAX_PLAYER_NAME];
new Zmrazeni[MAX_PLAYER_NAME];

#define FILE "Ucet/%s.ini"

enum pData
{
	AdminLevel
};
new PlayerData[MAX_PLAYERS][pData];
new level,
	admina[MAX_PLAYER_NAME],
	nicka[MAX_PLAYER_NAME],
	stringa[128],
	ID;

public OnFilterScriptInit()
{
	print(" Testovaci Gamemode zapnut");
	return 1;
}

public OnFilterScriptExit()
{
    print(" Testovaci Gamemode vypnut");
	return 1;
}

main()
{
	print(" Testovaci mod");
}
	CMD:reset(playerid, params[]){
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"Nejste Administrátor");
	SendRconCommand("gmx");
	SendClientMessage(playerid, -1, "Restartoval jsi server!");
	return (true);
}
	CMD:help(playerid, params[]) {
	ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Help", "Něco o módu\nPrikazy", "Otevřít","Zavřít");
	return (true);
}
public OnDialogResponse (playerid, dialogid, response, listitem, inputtext [])
{
    switch (dialogid)
    {
        case 100:
		{
	    if (response)
            {
                switch (listitem)
                {
                case 0: ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "Něco o módu", "Tento mod byl vytvořen PetremPaulíkem.\nZ důvodu, že se nudil a chtěl nějak zabít čas.\nTento mod je ještě ve zkušební verzi, takže pokud máte nápad neváhejte to napsat on-line Administrátorovi.\nVerze tohoto modu: 1.","Zavřít","");
                case 1: ShowPlayerDialog(playerid, 102, DIALOG_STYLE_MSGBOX, "Příkazy", "Příkazy ještě dodám.","Zavřít","");
                }
            }
        }
    }
}
public OnGameModeInit()
{
    CreateVehicle(419, 2074.7708,1413.1582,10.6719,182.9751, -1, -1, 60);
    CreateVehicle(422, 2075.1433,1353.5892,10.6719,179.8417, -1, -1, 60);
    CreateVehicle(426, 2074.7925,1311.4354,10.6719,180.1547, -1, -1, 60);
    CreateVehicle(429, 2074.6958,1256.5328,10.6719,179.8413, -1, -1, 60);
    CreateVehicle(477, 2074.5996,1210.0990,10.6719,180.4680, -1, -1, 60);
    CreateVehicle(402, 2074.9419,1167.7819,10.6719,180.4680, -1, -1, 60);
    CreateVehicle(400, 2074.9124,1121.0992,10.6719,180.1547, -1, -1, 60);
    CreateVehicle(411, 2074.5520,1082.1980,10.6719,179.2147, -1, -1, 60);
    CreateVehicle(412, 2074.1917,1015.8622,10.6719,179.8414, -1, -1, 60);
    CreateVehicle(424, 2039.6134,997.6927,10.6719,359.9864, -1, -1, 60);
    CreateVehicle(451, 2039.8164,1053.5800,10.6719,1.0295, -1, -1, 60);
    AddStaticVehicle(402,2096.9929,1408.8201,10.8203,170.4417, -1, -1); // Vozidla u spawnu1
	AddStaticVehicle(405,2100.8345,1408.9669,10.8203,181.4084, -1, -1); // Vozidla u spawnu1
	AddStaticVehicle(410,2103.9224,1408.4440,10.8203,176.0817, -1, -1); // Vozidla u spawnu3
	AddStaticVehicle(411,2107.2759,1408.1431,10.8203,182.0351, -1, -1); // Vozidla u spawnu4
	AddStaticVehicle(419,2119.9944,1397.6613,10.8125,0.3235, -1, -1); // Vozidla u spawnu5
	AddStaticVehicle(424,2126.2861,1397.8502,10.8125,1.8902, -1, -1); // Vozidla u spawnu6
	AddStaticVehicle(429,2139.0950,1398.4071,10.8125,353.7434, -1, -1); // Vozidla u spawnu7
	AddStaticVehicle(436,2145.3669,1397.9915,10.8125,351.2368, -1, -1); // Vozidla u spawnu8
	AddStaticVehicle(451,2148.7820,1408.8137,10.8203,183.3119, -1, -1); // Vozidla u spawnu9
	AddStaticVehicle(458,2135.8452,1408.8516,10.8203,177.3585, -1, -1); // Vozidla u spawnu10
	AddStaticVehicle(522,2085.3567,1353.5369,10.8203,144.7715, -1, -1); // Motorka
	AddStaticVehicle(535,2206.4031,1878.9023,10.4999,359.2941,14,13); // Auto u Kasina
	AddStaticVehicle(541,2202.8660,1878.8431,10.5000,3.5868,13,13); // Auto u Kasina
	AddStaticVehicle(543,2185.1521,1856.7577,10.5000,180.1490,8,-1); // Auto u Kasina
	AddStaticVehicle(554,2196.2251,1857.0134,10.5000,185.2617,13,13); // Auto u Kasina
	AddStaticVehicle(555,2172.1755,1973.4844,10.5000,270.4496,13,13); // Auto u banky
	AddStaticVehicle(559,2172.2471,1992.5460,10.5000,267.2834,13,-1); // Auto u banky
	AddStaticVehicle(562,2186.9241,2004.0222,10.4998,270.9644,13,13); // Auto u banky
	AddStaticVehicle(566,2103.6501,2039.7964,10.5000,87.9206,13,13); // Auta u obchodu
	AddStaticVehicle(567,2103.6882,2043.2179,10.5000,90.9176,13,-1); // Auta u obchodu
	AddStaticVehicle(603,2102.6812,2049.7649,10.5000,91.0133,13,13); // Auta u obchodu
	AddStaticVehicle(602,2102.5598,2092.5720,10.5000,92.8468,13,13); // Auta u obchodu
	AddStaticVehicle(587,2102.3247,2098.9678,10.5000,91.0240, -1,13); // Auta u obchodu
	AddStaticVehicle(522,2076.1235,2226.3501,10.5000,182.1835,13,13); // Motorka u obchodu
	AddStaticVehicle(598,2309.6072,2418.8416,10.4237,90.0378,13,13); // Policejni auto
	AddStaticVehicle(598,2288.1516,2418.6631,10.4302,87.4763,13,13); // Policejni auto
	AddStaticVehicle(523,2282.3645,2425.7649,10.5000,140.9485,-1,13); // Policejni motorka
	AddStaticVehicle(599,2251.4189,2476.4575,10.5000,180.6658,13,13); // Tereni Policejni auto
	AddStaticVehicle(599,2251.5991,2460.9404,10.5000,180.6656,13,-1); // Tereni Policejni auto
	AddStaticVehicle(599,2260.7573,2444.2869,10.5000,0.7930,13,-1); // Tereni Policejni auto
	AddStaticVehicle(599,2273.4514,2461.2688,10.5000,0.4263,13,13); // Tereni Policejni auto
	AddStaticVehicle(523,2282.5435,2477.5339,10.4999,178.8645,13,13); // Policejni motorka
	AddStaticVehicle(598,2272.9922,2478.8391,10.4995,182.2333,-1,13); // Policejni auto
	AddStaticVehicle(409,2129.3181,2354.5649,10.3516,91.5936,13,13); // Limuzina u uradu
	AddStaticVehicle(409,2421.8992,1136.0928,10.4230,177.2392,13,-1); // Limuzina u uradu
	AddStaticVehicle(409,2422.0879,1112.4731,10.4232,179.6798,13,13); // Limuzina u uradu
	AddStaticVehicle(559,2393.7798,986.7538,10.5000,88.9974,13,13); // Auto u tunirny v lv
	AddStaticVehicle(562,2394.2959,995.0987,10.5000,88.8070,-1,13); // Auto u tunirny v lv
	AddStaticVehicle(561,2118.6831,950.8719,10.4971,274.6211,13,13); // auto u benzinky
	AddStaticVehicle(565,2118.2148,956.5975,10.4961,276.0297,13,13); // auto u benzinky
	AddStaticVehicle(575,2171.8184,1015.9771,10.4996,92.0689,13,-1); // Parkoviste v LV
	AddStaticVehicle(576,2163.4395,1015.8538,10.4949,90.2489,7,13); // Parkoviste v LV
	AddStaticVehicle(587,2142.3794,1006.4069,10.4998,87.2070,13,-1); // Parkoviste v LV
	AddStaticVehicle(559,2132.7957,1015.9973,10.4991,269.3100,13,13); // Parkoviste v LV
	AddStaticVehicle(560,2132.2026,1022.6951,10.4999,268.3176,-1,13); // Parkoviste v LV
	AddStaticVehicle(402,2142.0388,1028.5873,10.5000,271.0630,13,13); // Parkoviste v LV
	AddStaticVehicle(411,2161.5703,1028.9492,10.5000,271.0625,7,-1); // Parkoviste v LV
	AddStaticVehicle(426,2179.0232,987.9654,10.5000,180.5629,13,13); // Parkoviste v LV
	AddStaticVehicle(421,2185.5452,987.2286,10.5009,181.0957,-1,13); // Parkoviste v LV
	AddStaticVehicle(419,2129.0081,987.9747,10.5000,182.4961,13,13); // Parkoviste v LV
	AddStaticVehicle(415,2122.3850,987.9914,10.5000,180.8026,13,-1); // Parkoviste v LV
	AddStaticVehicle(477,1881.5908,954.1877,10.5000,272.1196,0,0); // Gansterauto
	AddStaticVehicle(477,1881.2631,963.7668,10.5000,266.5107,0,0); // Gansterauto
	AddStaticVehicle(477,1918.1036,952.9379,10.4961,94.6710,0,0); // Gansterauto
	AddStaticVehicle(477,1918.3442,957.3300,10.4965,83.7840,0,0); // Gansterauto
	AddStaticVehicle(593,1658.6649,1541.1317,10.4888,357.0524,36,36); // Letadlo DODO LV
	AddStaticVehicle(593,1627.2297,1529.9053,10.5030,36.1396,36,36); // Letadlo DODO LV
	AddStaticVehicle(519,1586.9652,1437.5422,10.5408,61.2754,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(519,1570.8433,1645.0370,10.5273,129.6812,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(519,1373.8357,1763.1781,10.5267,253.4183,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(593,1365.3549,1715.8500,10.5273,269.9079,36,36); // Letadlo DODO LV
	AddStaticVehicle(583,1330.1656,1562.3195,10.5276,272.1793,36,36); // Tenvozík LV
	AddStaticVehicle(451,1330.6855,1515.5684,10.5260,259.0014,36,36); // Tenvozík LV
	AddStaticVehicle(593,1282.0953,1363.3818,10.5281,269.7741,36,36); // Letadlo DODO LV
	AddStaticVehicle(593,1279.5043,1324.3772,10.5288,270.1328,36,36); // Letadlo DODO LV
	AddStaticVehicle(402,1315.6893,1279.3048,10.5266,180.4697,36,36); // Auto na letisti LV
	AddStaticVehicle(411,1328.8507,1278.8085,10.5265,2.3334,36,36); // Auto na letisti LV
	AddStaticVehicle(593,1627.5476,1366.1329,10.5121,132.9275,36,36); // Letadlo DODO LV
	AddStaticVehicle(411,1716.8999,1613.1345,9.7214,251.5699,36,36); // Infernus
	AddStaticVehicle(522,1841.2687,1465.3551,10.5257,271.7432,-1,-1); // Motorka NRG-500
	AddStaticVehicle(522,2025.2449,1420.0459,10.5265,268.5803,-1,-1); // Motorka NRG-500
	SetGameModeText("Gamemode by PetrPaulik");
	AddPlayerClass(0,2134.8225,1442.3258,10.8203,175.7684,0,0,0,0,0,0);
 	return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success) SendClientMessage(playerid, -1, "Příkaz neexistuje! Pro nápovědu použi /help");
    return (true);
}
public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 2134.8225,1442.3258,10.8203);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}
public OnPlayerConnect(playerid)
{
    new file[50+1], name[24]; //Do file si nadefinujeme cestu, do premennej name si nadefinujeme meno hraca
	GetPlayerName(playerid, name, 24); //Definujeme meno hraca
	format(file, sizeof(file), FILE, name); //Davame premennej file meno hraca - odteraz to vie uz meno hraca a uz len pracujeme
	if(!DOF2_FileExists(file)) DOF2_CreateFile(file); //Ak subor hraca neexistuje vytvorime ho
	else { //Ak už existuje
 	AdminLevel = DOF2_GetInt(file, "AdminLevel"); //Do premennej AdminLevel ziskame admin level.
  	return (true);
}
public OnPlayerDisconnect(playerid, reason)
{
    new file[50+1], name[24];
	GetPlayerName(playerid, name, 24);
	format(file, sizeof(file), FILE, name);
	DOF2_SetInt(file, "AdminLevel", AdminLevel); //Z premennej AdminLevel ukladame do suboru.
	DOF2_SaveFile(file); //Ulozime subor
	return (true);
}

CMD:setlvl(playerid, params[]) {

    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nejsi na RCON!");
    if(sscanf(params, "ii", ID, level)) return SendClientMessage(playerid, -1, "Použití: /setlvl [ID] [LVL]");
    if(level > 5) return SendClientMessage(playerid,0xFF0000FF,"Rozmezi lvlu je 0 - 5!");
    GetPlayerName(playerid, admina, MAX_PLAYER_NAME);
    GetPlayerName(ID, nicka, MAX_PLAYER_NAME);
    PlayerData[ID][AdminLevel] = level;
    DOF2_SetInt(stringa, "Level", AdminLevel);
    format(stringa, 128, "Administrátor %s dal hráči %s admin level %d", admina, nicka, level);
    SendClientMessageToAll(-1, stringa);
    return (true);
}
CMD:weapon(playerid, params[]) {

	new id,
		idw,
		munice,
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if(PlayerData[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");
	if (sscanf(params, "iii", id, idw, munice)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /weapon [ID/JMÉNO HRÁČE] [ID ZBRANĚ] [MUNICE]");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if (idw < 1 || idw > 45) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné ID zbraně !");
	if (munice < 1 || munice > 99999) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné zadaná minuce !");
	GivePlayerWeapon(id, idw, munice);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{ff0000}Administrátor %s dal hráčovi %s zbraň s ID:%d", admin, nick, idw);
	SendClientMessageToAll(-1, string);
	return 1;
}
CMD:health(playerid, params[]) {

	new
		id,
		hp,
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if (sscanf(params, "ii", id, hp)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /health [ID] [HP]");
 	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if (hp < 0 || hp > 100) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné zadané HP!");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{ff0000}Administrátor %s nastavil hráčovi %s životy na %d", admin, nick, hp);
	SendClientMessageToAll(-1, string);
 	SetPlayerHealth(id, hp);
	return (true);
}
CMD:var(playerid, params[]) {

	new
	    id,
		msg[140],
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
 	if (sscanf(params, "is", id, msg)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /var [ID] [Důvod]");
 	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{FF0000}Administrátor %s varoval hráče %s [ DŮVOD: %s ]", admin, nick, msg);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:kick(playerid, params[]) {

	new
	    id,
	    msg[140],
   		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if (sscanf(params, "is", id, msg)) return SendClientMessage(playerid, -1, "Použití: /kick [ID] [Důvod]");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "[ ! ] Hráč není připojený !");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{FF0000}Administrátor %s vyhodil hráče %s [ DŮVOD: %s ]", admin, nick, msg);
	SendClientMessageToAll(-1, string);
	Kick(id);
	return (true);
}
CMD:respawn(playerid, params[])
    {
     new duvod[64],
     	id,
        hrac[MAX_PLAYER_NAME],
        admin[MAX_PLAYER_NAME];
	 GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	 GetPlayerName(id, hrac, MAX_PLAYER_NAME);
     if(sscanf(params,"is", id, duvod)) return SendClientMessage(playerid,0xFF0000FF,"Použití: /respawn [ID] [DŮVOD]");
     if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000FF,"Hráč není na serveru!");
     new strs[250];
     format(strs,sizeof(strs),"{FF0000}Administrátor %s respawnul hráče %s [ DŮVOD: %s ]", admin, hrac, duvod);
     SendClientMessageToAll(0xFF0000FF,strs);
     SpawnPlayer(id);
     return 1;
}
CMD:odebratz(playerid, params[]) {

	new duvod[64],
		id,
        hrac[MAX_PLAYER_NAME],
        admin[MAX_PLAYER_NAME],
        string[140];
 	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
 	GetPlayerName(id, hrac, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití /odebratz [ID] [DŮVOD]");
	ResetPlayerWeapons(id);
	format(string, sizeof(string), "{FF0000}Administrátor %s odebral hráči %s zbraně [ DŮVOD: %s ]", admin, hrac, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:clear(playerid, params[]) {

	#pragma unused params
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	new string[140],
 	    nick[MAX_PLAYER_NAME];
	GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
 	format(string, 140, "{FF0000}Administrátor %s promazal chat!", nick);
 	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:admin(playerid, params[]) {

    if(PlayerData[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");
	ShowPlayerDialog(playerid, 105, DIALOG_STYLE_MSGBOX, "Admin příkazy", "/clear -----> Vyčištění chatu\n/weapon -----> Givování zbraní\n/health -----> Nastavení HP\n/respawn -----> Respawnutí hráče\n/odebratz -----> Odebrat hráči zbraně\n/kick -----> Vyhození hráče\n/var -----> Varování hráče\n/cas -----> Nastavení času\n/jail    -----> Dát hráče do vězení\n/unjail -----> Propustit hráče z vězení\n/freeze -----> Zmrazit hráče\n/unfreeze -----> Odmrazit hráče\n", "Zavřít","");
	return (true);
}
CMD:cas(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    string[140],
	    cas;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	if(sscanf(params, "i", cas)) return SendClientMessage(playerid, -1, "Použití /cas [ČAS]");
	if(cas < 1 || cas > 24) return SendClientMessage(playerid, -1, "Špatně zadaný čas! Rozmezí 1-24");
	SetWorldTime(cas);
	format(string, 140, "{FF0000}Administrátor %s nastavil čas na %d:00", admin, cas);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:jail(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    duvod[140],
	    id,
	    cas,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "iis", id, cas, duvod)) return SendClientMessage(playerid, -1, "Použití: /jail [ID] [ČAS][DŮVOD]");
	if(cas < 1 || cas > 100) return SendClientMessage(playerid, -1, "Maximální čas je 100 min!");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	SetPlayerInterior(id,3);
	SetPlayerPos(id,198.3796, 160.8905, 1003.03);
	Vezeni[id] = 1;
	format(string, 140, "{FF0000}Administrátor %s zatknul hráče %s na %d minut [ DŮVOD: %s ]", admin, nick, cas, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}

CMD:unjail(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Použití: /unjail [ID]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if(Vezeni[id] == 0) return SendClientMessage(playerid,-1,"Hrac neni ve vezeni");
	format(string, 140, "{FF0000}Administrátor %s osvobodil hráče %s s vězení", admin, nick);
	SpawnPlayer(id);
	SetPlayerInterior(id, 0);
	Vezeni[id] = 0;
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:freeze(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    duvod[140],
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití: /freeze [ID] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hrac neni na serveru");
	TogglePlayerControllable(id, false);
	Zmrazeni[id] = 1;
	format(string, 140, "Administrátor %s zmrazil hráče %s [DŮVOD: %s ]", admin, nick, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:unfreeze(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Použití: /unfreeze [ID]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hrac neni na serveru");
	TogglePlayerControllable(id, true);
	Zmrazeni[id] = 0;
	format(string, 140, "Administrátor %s odmrazil hráče %s", admin, nick);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:gm(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    string[140],
	    duvod,
	    id,
	    penize;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "iis", id, penize, duvod)) return SendClientMessage(playerid, -1, "Použití: /gm [ID] [PENÍZE] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Hráč není na serveru");
	if(penize < 1 || penize > 10000000) return SendClientMessage(playerid, -1, "Můžeš dát maximálně 10 000 000 $!");
	format(string, 140, "Administrátor %s dal hráči %s %d $! [ DŮVOD: %s ]", admin, nick, penize, duvod);
	SendClientMessageToAll(-1, string);
	GivePlayerMoney(id, penize);
	return (true);
}
CMD:rmoney(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    string[140],
	    duvod[140],
	    id;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití: /rmoney [ID] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Hráč není na serveru");
	format(string, 140, "Administrátor %s restartoval peníze hráči %s [ DŮVOD: %s ]", admin, nick, duvod);
	SendClientMessageToAll(-1, string);
	ResetPlayerMoney(id);
	return (true);
}
CMD:kill(playerid, params[]) {

    if(Vezeni[playerid] > 0) return SendClientMessage(playerid,-1,"Jsi ve vězení! Nemůžeš použít tento příkaz");
    if(Zmrazeni[playerid] > 0) return SendClientMessage(playerid, -1, "Jsi zmražen! Nemůžeš použít tento příkaz");
	SetPlayerHealth(playerid, 0.0);
	return (true);
}

 

 

Edited by PetrPaulik
Link to comment
Share on other sites

  • 0

Nic se tím nezměnilo...

~> Ale změní, věř mi. Jinak:

~> Na řádku (172) s tím else, tam otevíráš blok ale nikde ho nezavíráš.

~> Na řádku (173) blbě pracuješ s poli (chybí závorky).

~> Pak blbě tabuješ.

~> Na řádku (183), to co jsem ti už psal, co nemusíš přidávat tu cestu.

~> A ta tuna errorů na řádku (186) je kvůli tomu otevřenému bloku.

Link to comment
Share on other sites

  • 0


enum pData
{
AdminLevel
};


 

Tento enum tam mám

Píše to chybu na 173. řádku, ale jaké závorky? A ještě warning:

C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(479) : warning 203: symbol is never used: "DOF2_Exit"
Link to comment
Share on other sites

  • 0

Píše to chybu na 173. řádku, ale jaké závorky? A ještě warning:

C:\Users\KluciNTB\Desktop\GTA San Andreas\samp037_svr_R2-1-1_win32\gamemodes\testovacimod.pwn(479) : warning 203: symbol is never used: "DOF2_Exit"

#pragma unused DOF2_Exit
~> A nebo to použij v callbacku

 

public OnFilterScriptInit() / OnGameModeInit() { DOF2_Exit();
Link to comment
Share on other sites

  • 0

Server mi padá. Když zapnu lokální server tak běží, ale po chvíly spadne ... V logu nic není.


A ve scriptfies se nic neuložilo.

 

Přikládám můj gamemode jak to tam mám teď.

 

 

#include <a_samp>
#include <sscanf2>
#include <zcmd>
#include <dof2>

new Vezeni[MAX_PLAYER_NAME];
new Zmrazeni[MAX_PLAYER_NAME];

#define FILE "Ucet/%s.ini"

enum pData
{
	AdminLevel
};
new PlayerData[MAX_PLAYERS][pData];
new level,
	admina[MAX_PLAYER_NAME],
	nicka[MAX_PLAYER_NAME],
	stringa[128],
	ID;
public OnFilterScriptInit()
{
	print(" Testovaci Gamemode zapnut");
	return 1;
}

public OnFilterScriptExit()
{
    print(" Testovaci Gamemode vypnut");
	return 1;
}

main()
{
	print(" Testovaci mod");
}
	CMD:reset(playerid, params[]){
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"Nejste Administrátor");
	SendRconCommand("gmx");
	SendClientMessage(playerid, -1, "Restartoval jsi server!");
	return (true);
}
	CMD:help(playerid, params[]) {
	ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Help", "Něco o módu\nPrikazy", "Otevřít","Zavřít");
	return (true);
}
public OnDialogResponse (playerid, dialogid, response, listitem, inputtext [])
{
    switch (dialogid)
    {
        case 100:
		{
	    if (response)
            {
                switch (listitem)
                {
                case 0: ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "Něco o módu", "Tento mod byl vytvořen PetremPaulíkem.\nZ důvodu, že se nudil a chtěl nějak zabít čas.\nTento mod je ještě ve zkušební verzi, takže pokud máte nápad neváhejte to napsat on-line Administrátorovi.\nVerze tohoto modu: 1.","Zavřít","");
                case 1: ShowPlayerDialog(playerid, 102, DIALOG_STYLE_MSGBOX, "Příkazy", "Příkazy ještě dodám.","Zavřít","");
                }
            }
        }
    }
}
public OnGameModeInit()
{
    CreateVehicle(419, 2074.7708,1413.1582,10.6719,182.9751, -1, -1, 60);
    CreateVehicle(422, 2075.1433,1353.5892,10.6719,179.8417, -1, -1, 60);
    CreateVehicle(426, 2074.7925,1311.4354,10.6719,180.1547, -1, -1, 60);
    CreateVehicle(429, 2074.6958,1256.5328,10.6719,179.8413, -1, -1, 60);
    CreateVehicle(477, 2074.5996,1210.0990,10.6719,180.4680, -1, -1, 60);
    CreateVehicle(402, 2074.9419,1167.7819,10.6719,180.4680, -1, -1, 60);
    CreateVehicle(400, 2074.9124,1121.0992,10.6719,180.1547, -1, -1, 60);
    CreateVehicle(411, 2074.5520,1082.1980,10.6719,179.2147, -1, -1, 60);
    CreateVehicle(412, 2074.1917,1015.8622,10.6719,179.8414, -1, -1, 60);
    CreateVehicle(424, 2039.6134,997.6927,10.6719,359.9864, -1, -1, 60);
    CreateVehicle(451, 2039.8164,1053.5800,10.6719,1.0295, -1, -1, 60);
    AddStaticVehicle(402,2096.9929,1408.8201,10.8203,170.4417, -1, -1); // Vozidla u spawnu1
	AddStaticVehicle(405,2100.8345,1408.9669,10.8203,181.4084, -1, -1); // Vozidla u spawnu1
	AddStaticVehicle(410,2103.9224,1408.4440,10.8203,176.0817, -1, -1); // Vozidla u spawnu3
	AddStaticVehicle(411,2107.2759,1408.1431,10.8203,182.0351, -1, -1); // Vozidla u spawnu4
	AddStaticVehicle(419,2119.9944,1397.6613,10.8125,0.3235, -1, -1); // Vozidla u spawnu5
	AddStaticVehicle(424,2126.2861,1397.8502,10.8125,1.8902, -1, -1); // Vozidla u spawnu6
	AddStaticVehicle(429,2139.0950,1398.4071,10.8125,353.7434, -1, -1); // Vozidla u spawnu7
	AddStaticVehicle(436,2145.3669,1397.9915,10.8125,351.2368, -1, -1); // Vozidla u spawnu8
	AddStaticVehicle(451,2148.7820,1408.8137,10.8203,183.3119, -1, -1); // Vozidla u spawnu9
	AddStaticVehicle(458,2135.8452,1408.8516,10.8203,177.3585, -1, -1); // Vozidla u spawnu10
	AddStaticVehicle(522,2085.3567,1353.5369,10.8203,144.7715, -1, -1); // Motorka
	AddStaticVehicle(535,2206.4031,1878.9023,10.4999,359.2941,14,13); // Auto u Kasina
	AddStaticVehicle(541,2202.8660,1878.8431,10.5000,3.5868,13,13); // Auto u Kasina
	AddStaticVehicle(543,2185.1521,1856.7577,10.5000,180.1490,8,-1); // Auto u Kasina
	AddStaticVehicle(554,2196.2251,1857.0134,10.5000,185.2617,13,13); // Auto u Kasina
	AddStaticVehicle(555,2172.1755,1973.4844,10.5000,270.4496,13,13); // Auto u banky
	AddStaticVehicle(559,2172.2471,1992.5460,10.5000,267.2834,13,-1); // Auto u banky
	AddStaticVehicle(562,2186.9241,2004.0222,10.4998,270.9644,13,13); // Auto u banky
	AddStaticVehicle(566,2103.6501,2039.7964,10.5000,87.9206,13,13); // Auta u obchodu
	AddStaticVehicle(567,2103.6882,2043.2179,10.5000,90.9176,13,-1); // Auta u obchodu
	AddStaticVehicle(603,2102.6812,2049.7649,10.5000,91.0133,13,13); // Auta u obchodu
	AddStaticVehicle(602,2102.5598,2092.5720,10.5000,92.8468,13,13); // Auta u obchodu
	AddStaticVehicle(587,2102.3247,2098.9678,10.5000,91.0240, -1,13); // Auta u obchodu
	AddStaticVehicle(522,2076.1235,2226.3501,10.5000,182.1835,13,13); // Motorka u obchodu
	AddStaticVehicle(598,2309.6072,2418.8416,10.4237,90.0378,13,13); // Policejni auto
	AddStaticVehicle(598,2288.1516,2418.6631,10.4302,87.4763,13,13); // Policejni auto
	AddStaticVehicle(523,2282.3645,2425.7649,10.5000,140.9485,-1,13); // Policejni motorka
	AddStaticVehicle(599,2251.4189,2476.4575,10.5000,180.6658,13,13); // Tereni Policejni auto
	AddStaticVehicle(599,2251.5991,2460.9404,10.5000,180.6656,13,-1); // Tereni Policejni auto
	AddStaticVehicle(599,2260.7573,2444.2869,10.5000,0.7930,13,-1); // Tereni Policejni auto
	AddStaticVehicle(599,2273.4514,2461.2688,10.5000,0.4263,13,13); // Tereni Policejni auto
	AddStaticVehicle(523,2282.5435,2477.5339,10.4999,178.8645,13,13); // Policejni motorka
	AddStaticVehicle(598,2272.9922,2478.8391,10.4995,182.2333,-1,13); // Policejni auto
	AddStaticVehicle(409,2129.3181,2354.5649,10.3516,91.5936,13,13); // Limuzina u uradu
	AddStaticVehicle(409,2421.8992,1136.0928,10.4230,177.2392,13,-1); // Limuzina u uradu
	AddStaticVehicle(409,2422.0879,1112.4731,10.4232,179.6798,13,13); // Limuzina u uradu
	AddStaticVehicle(559,2393.7798,986.7538,10.5000,88.9974,13,13); // Auto u tunirny v lv
	AddStaticVehicle(562,2394.2959,995.0987,10.5000,88.8070,-1,13); // Auto u tunirny v lv
	AddStaticVehicle(561,2118.6831,950.8719,10.4971,274.6211,13,13); // auto u benzinky
	AddStaticVehicle(565,2118.2148,956.5975,10.4961,276.0297,13,13); // auto u benzinky
	AddStaticVehicle(575,2171.8184,1015.9771,10.4996,92.0689,13,-1); // Parkoviste v LV
	AddStaticVehicle(576,2163.4395,1015.8538,10.4949,90.2489,7,13); // Parkoviste v LV
	AddStaticVehicle(587,2142.3794,1006.4069,10.4998,87.2070,13,-1); // Parkoviste v LV
	AddStaticVehicle(559,2132.7957,1015.9973,10.4991,269.3100,13,13); // Parkoviste v LV
	AddStaticVehicle(560,2132.2026,1022.6951,10.4999,268.3176,-1,13); // Parkoviste v LV
	AddStaticVehicle(402,2142.0388,1028.5873,10.5000,271.0630,13,13); // Parkoviste v LV
	AddStaticVehicle(411,2161.5703,1028.9492,10.5000,271.0625,7,-1); // Parkoviste v LV
	AddStaticVehicle(426,2179.0232,987.9654,10.5000,180.5629,13,13); // Parkoviste v LV
	AddStaticVehicle(421,2185.5452,987.2286,10.5009,181.0957,-1,13); // Parkoviste v LV
	AddStaticVehicle(419,2129.0081,987.9747,10.5000,182.4961,13,13); // Parkoviste v LV
	AddStaticVehicle(415,2122.3850,987.9914,10.5000,180.8026,13,-1); // Parkoviste v LV
	AddStaticVehicle(477,1881.5908,954.1877,10.5000,272.1196,0,0); // Gansterauto
	AddStaticVehicle(477,1881.2631,963.7668,10.5000,266.5107,0,0); // Gansterauto
	AddStaticVehicle(477,1918.1036,952.9379,10.4961,94.6710,0,0); // Gansterauto
	AddStaticVehicle(477,1918.3442,957.3300,10.4965,83.7840,0,0); // Gansterauto
	AddStaticVehicle(593,1658.6649,1541.1317,10.4888,357.0524,36,36); // Letadlo DODO LV
	AddStaticVehicle(593,1627.2297,1529.9053,10.5030,36.1396,36,36); // Letadlo DODO LV
	AddStaticVehicle(519,1586.9652,1437.5422,10.5408,61.2754,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(519,1570.8433,1645.0370,10.5273,129.6812,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(519,1373.8357,1763.1781,10.5267,253.4183,36,36); // Letadlo Tryskáč LV
	AddStaticVehicle(593,1365.3549,1715.8500,10.5273,269.9079,36,36); // Letadlo DODO LV
	AddStaticVehicle(583,1330.1656,1562.3195,10.5276,272.1793,36,36); // Tenvozík LV
	AddStaticVehicle(451,1330.6855,1515.5684,10.5260,259.0014,36,36); // Tenvozík LV
	AddStaticVehicle(593,1282.0953,1363.3818,10.5281,269.7741,36,36); // Letadlo DODO LV
	AddStaticVehicle(593,1279.5043,1324.3772,10.5288,270.1328,36,36); // Letadlo DODO LV
	AddStaticVehicle(402,1315.6893,1279.3048,10.5266,180.4697,36,36); // Auto na letisti LV
	AddStaticVehicle(411,1328.8507,1278.8085,10.5265,2.3334,36,36); // Auto na letisti LV
	AddStaticVehicle(593,1627.5476,1366.1329,10.5121,132.9275,36,36); // Letadlo DODO LV
	AddStaticVehicle(411,1716.8999,1613.1345,9.7214,251.5699,36,36); // Infernus
	AddStaticVehicle(522,1841.2687,1465.3551,10.5257,271.7432,-1,-1); // Motorka NRG-500
	AddStaticVehicle(522,2025.2449,1420.0459,10.5265,268.5803,-1,-1); // Motorka NRG-500
	SetGameModeText("Gamemode by PetrPaulik");
	AddPlayerClass(0,2134.8225,1442.3258,10.8203,175.7684,0,0,0,0,0,0);
 	return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success) SendClientMessage(playerid, -1, "Příkaz neexistuje! Pro nápovědu použi /help");
    return (true);
}
public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 2134.8225,1442.3258,10.8203);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}
public OnPlayerConnect(playerid)
{
    new file[50+1], name[24]; //Do file si nadefinujeme cestu, do premennej name si nadefinujeme meno hraca
	GetPlayerName(playerid, name, 24); //Definujeme meno hraca
	format(file, sizeof(file), FILE, name); //Davame premennej file meno hraca - odteraz to vie uz meno hraca a uz len pracujeme
	if(!DOF2_FileExists(file)) DOF2_CreateFile(file); //Ak subor hraca neexistuje vytvorime ho
	else { //Ak už existuje
 	PlayerData[playerid][AdminLevel] = DOF2_GetInt(file, "AdminLevel"); //Do premennej AdminLevel ziskame admin level.
	}
	return (true);
}
public OnPlayerDisconnect(playerid, reason)
{
    new file[50+1], name[24];
	GetPlayerName(playerid, name, 24);
	format(file, sizeof(file), FILE, name);
	DOF2_SetInt(file, "AdminLevel", AdminLevel); //Z premennej AdminLevel ukladame do suboru.
	DOF2_SaveFile(); //Ulozime subor
	return (true);
}

CMD:setlvl(playerid, params[]) {

    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nejsi na RCON!");
    if(sscanf(params, "ii", ID, level)) return SendClientMessage(playerid, -1, "Použití: /setlvl [ID] [LVL]");
    if(level > 5) return SendClientMessage(playerid,0xFF0000FF,"Rozmezi lvlu je 0 - 5!");
    GetPlayerName(playerid, admina, MAX_PLAYER_NAME);
    GetPlayerName(ID, nicka, MAX_PLAYER_NAME);
    PlayerData[ID][AdminLevel] = level;
    format(stringa, 128, "Administrátor %s dal hráči %s admin level %d", admina, nicka, level);
    SendClientMessageToAll(-1, stringa);
    return (true);
}
CMD:weapon(playerid, params[]) {

	new id,
		idw,
		munice,
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if(PlayerData[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");
	if (sscanf(params, "iii", id, idw, munice)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /weapon [ID/JMÉNO HRÁČE] [ID ZBRANĚ] [MUNICE]");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if (idw < 1 || idw > 45) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné ID zbraně !");
	if (munice < 1 || munice > 99999) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné zadaná minuce !");
	GivePlayerWeapon(id, idw, munice);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{ff0000}Administrátor %s dal hráčovi %s zbraň s ID:%d", admin, nick, idw);
	SendClientMessageToAll(-1, string);
	return 1;
}
CMD:health(playerid, params[]) {

	new
		id,
		hp,
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if (sscanf(params, "ii", id, hp)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /health [ID] [HP]");
 	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if (hp < 0 || hp > 100) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné zadané HP!");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{ff0000}Administrátor %s nastavil hráčovi %s životy na %d", admin, nick, hp);
	SendClientMessageToAll(-1, string);
 	SetPlayerHealth(id, hp);
	return (true);
}
CMD:var(playerid, params[]) {

	new
	    id,
		msg[140],
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
 	if (sscanf(params, "is", id, msg)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /var [ID] [Důvod]");
 	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{FF0000}Administrátor %s varoval hráče %s [ DŮVOD: %s ]", admin, nick, msg);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:kick(playerid, params[]) {

	new
	    id,
	    msg[140],
   		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	if (sscanf(params, "is", id, msg)) return SendClientMessage(playerid, -1, "Použití: /kick [ID] [Důvod]");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "[ ! ] Hráč není připojený !");
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{FF0000}Administrátor %s vyhodil hráče %s [ DŮVOD: %s ]", admin, nick, msg);
	SendClientMessageToAll(-1, string);
	Kick(id);
	return (true);
}
CMD:respawn(playerid, params[])
    {
     new duvod[64],
     	id,
        hrac[MAX_PLAYER_NAME],
        admin[MAX_PLAYER_NAME];
	 GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	 GetPlayerName(id, hrac, MAX_PLAYER_NAME);
     if(sscanf(params,"is", id, duvod)) return SendClientMessage(playerid,0xFF0000FF,"Použití: /respawn [ID] [DŮVOD]");
     if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000FF,"Hráč není na serveru!");
     new strs[250];
     format(strs,sizeof(strs),"{FF0000}Administrátor %s respawnul hráče %s [ DŮVOD: %s ]", admin, hrac, duvod);
     SendClientMessageToAll(0xFF0000FF,strs);
     SpawnPlayer(id);
     return 1;
}
CMD:odebratz(playerid, params[]) {

	new duvod[64],
		id,
        hrac[MAX_PLAYER_NAME],
        admin[MAX_PLAYER_NAME],
        string[140];
 	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
 	GetPlayerName(id, hrac, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití /odebratz [ID] [DŮVOD]");
	ResetPlayerWeapons(id);
	format(string, sizeof(string), "{FF0000}Administrátor %s odebral hráči %s zbraně [ DŮVOD: %s ]", admin, hrac, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:clear(playerid, params[]) {

	#pragma unused params
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	SendClientMessageToAll(-1, " ");
 	new string[140],
 	    nick[MAX_PLAYER_NAME];
	GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
 	format(string, 140, "{FF0000}Administrátor %s promazal chat!", nick);
 	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:admin(playerid, params[]) {

    if(PlayerData[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");
	ShowPlayerDialog(playerid, 105, DIALOG_STYLE_MSGBOX, "Admin příkazy", "/clear -----> Vyčištění chatu\n/weapon -----> Givování zbraní\n/health -----> Nastavení HP\n/respawn -----> Respawnutí hráče\n/odebratz -----> Odebrat hráči zbraně\n/kick -----> Vyhození hráče\n/var -----> Varování hráče\n/cas -----> Nastavení času\n/jail    -----> Dát hráče do vězení\n/unjail -----> Propustit hráče z vězení\n/freeze -----> Zmrazit hráče\n/unfreeze -----> Odmrazit hráče\n", "Zavřít","");
	return (true);
}
CMD:cas(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    string[140],
	    cas;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	if(sscanf(params, "i", cas)) return SendClientMessage(playerid, -1, "Použití /cas [ČAS]");
	if(cas < 1 || cas > 24) return SendClientMessage(playerid, -1, "Špatně zadaný čas! Rozmezí 1-24");
	SetWorldTime(cas);
	format(string, 140, "{FF0000}Administrátor %s nastavil čas na %d:00", admin, cas);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:jail(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    duvod[140],
	    id,
	    cas,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "iis", id, cas, duvod)) return SendClientMessage(playerid, -1, "Použití: /jail [ID] [ČAS][DŮVOD]");
	if(cas < 1 || cas > 100) return SendClientMessage(playerid, -1, "Maximální čas je 100 min!");
	if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	SetPlayerInterior(id,3);
	SetPlayerPos(id,198.3796, 160.8905, 1003.03);
	Vezeni[id] = 1;
	format(string, 140, "{FF0000}Administrátor %s zatknul hráče %s na %d minut [ DŮVOD: %s ]", admin, nick, cas, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}

CMD:unjail(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Použití: /unjail [ID]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if(Vezeni[id] == 0) return SendClientMessage(playerid,-1,"Hrac neni ve vezeni");
	format(string, 140, "{FF0000}Administrátor %s osvobodil hráče %s s vězení", admin, nick);
	SpawnPlayer(id);
	SetPlayerInterior(id, 0);
	Vezeni[id] = 0;
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:freeze(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    duvod[140],
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití: /freeze [ID] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hrac neni na serveru");
	TogglePlayerControllable(id, false);
	Zmrazeni[id] = 1;
	format(string, 140, "Administrátor %s zmrazil hráče %s [DŮVOD: %s ]", admin, nick, duvod);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:unfreeze(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    id,
	    string[140];
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Použití: /unfreeze [ID]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hrac neni na serveru");
	TogglePlayerControllable(id, true);
	Zmrazeni[id] = 0;
	format(string, 140, "Administrátor %s odmrazil hráče %s", admin, nick);
	SendClientMessageToAll(-1, string);
	return (true);
}
CMD:gm(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    string[140],
	    duvod,
	    id,
	    penize;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "iis", id, penize, duvod)) return SendClientMessage(playerid, -1, "Použití: /gm [ID] [PENÍZE] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Hráč není na serveru");
	if(penize < 1 || penize > 10000000) return SendClientMessage(playerid, -1, "Můžeš dát maximálně 10 000 000 $!");
	format(string, 140, "Administrátor %s dal hráči %s %d $! [ DŮVOD: %s ]", admin, nick, penize, duvod);
	SendClientMessageToAll(-1, string);
	GivePlayerMoney(id, penize);
	return (true);
}
CMD:rmoney(playerid, params[]) {

	new admin[MAX_PLAYER_NAME],
	    nick[MAX_PLAYER_NAME],
	    string[140],
	    duvod[140],
	    id;
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	if(sscanf(params, "is", id, duvod)) return SendClientMessage(playerid, -1, "Použití: /rmoney [ID] [DŮVOD]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Hráč není na serveru");
	format(string, 140, "Administrátor %s restartoval peníze hráči %s [ DŮVOD: %s ]", admin, nick, duvod);
	SendClientMessageToAll(-1, string);
	ResetPlayerMoney(id);
	return (true);
}
CMD:kill(playerid, params[]) {

    if(Vezeni[playerid] > 0) return SendClientMessage(playerid,-1,"Jsi ve vězení! Nemůžeš použít tento příkaz");
    if(Zmrazeni[playerid] > 0) return SendClientMessage(playerid, -1, "Jsi zmražen! Nemůžeš použít tento příkaz");
	SetPlayerHealth(playerid, 0.0);
	return (true);
}

 

 

 

Žádná chyba, ani warning to nevyhazuje, ale padá server.

Link to comment
Share on other sites

  • 0

Už jo, na server se jde připojit, ale píše tabulku s nápovědami. Jako F1 display to the help dialog atd... A když dám zavřít tak se nic nestane. Ta tabulka tam je furt.


Ok už mi vše jde, vše se zapisuje, ale neukládá... Ve scriptfiles ve složce Ucty tak tam je furt napsané  AdminLevel =  0 ... Ani se ti nehne, chyba musí být někde v setlvl ale nevím kde.

 

 

CMD:setlvl(playerid, params[]) {

    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nejsi na RCON!");
    if(sscanf(params, "ii", ID, level)) return SendClientMessage(playerid, -1, "Použití: /setlvl [ID] [LVL]");
    if(level > 5) return SendClientMessage(playerid,0xFF0000FF,"Rozmezi lvlu je 0 - 5!");
    GetPlayerName(playerid, admina, MAX_PLAYER_NAME);
    GetPlayerName(ID, nicka, MAX_PLAYER_NAME);
    PlayerData[ID][AdminLevel] = level;
    format(stringa, 128, "Administrátor %s dal hráči %s admin level %d", admina, nicka, level);
    SendClientMessageToAll(-1, stringa);
    return (true);
}

 

 

Edited by PetrPaulik
Link to comment
Share on other sites

  • 0

Špatná proměnná při ukládání:

public OnPlayerDisconnect(playerid, reason)
{
    new file[50+1], name[24];
	GetPlayerName(playerid, name, 24);
	format(file, sizeof(file), FILE, name);
	DOF2_SetInt(file, "AdminLevel", PlayerData[playerid][AdminLevel]); //tady jsi měl chybku
	DOF2_SaveFile(); //Ulozime subor
	return (true);
}
Edited by Dandys 
Link to comment
Share on other sites

  • 0

Díky moc, konečně můžu začít s modem :d. A nevíte někdo definici jak udělat že k tomu příkazu napíšu jen třeba LEVEL(1); A ono to dá podmínku a napíše i zprávu? Někde jsem to tu viděl ale už nevím kde. Místo tohodle: 

if(PlayerData[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");

Takovou tu definici :d

Link to comment
Share on other sites

  • 0
#define LEVEL(%0); if(PlayerData[playerid][AdminLevel] < %0) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!")


Command:x() {

LEVEL(1);
}
Link to comment
Share on other sites

  • 0

Fce:

forward LEVEL(playerid, lvl);
public LEVEL(playerid, lvl);
{
If(PlayerData[playerid][AdminLevel] < lvl ) 
return SendClientMessage(playerid, -1, "Nemáš dostatečný level!");
}//ale nevím jestli to je dobře...

Použití LEVEL(playerid, 1);

 

#define LEVEL(%0); if(PlayerData[playerid][AdminLevel] < %0) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!")


Command:x() {

       LEVEL(1); 
}

Co když to dá potom do cyklu?

Edited by Dandys 
Link to comment
Share on other sites

  • 0

Co když to dá potom do cyklu?

~> Tak do toho preprocesoru přidá jen další specifikátor, nic více.

 

Chyba: (209) : error 001: expected token: ";", but found "if" Zas nevím proč :/

 

Píše mi to pod podmínkou kde mám ten LEVEL(1);

~> Buď zkus psát normálně LEVEL(1) ale bez středníku na konči a nebo můžeš ještě zkusit v tom preprocesoru dát ho pryč:

 

LEVEL(%0) if(...)
Link to comment
Share on other sites

  • 0

CMD:weapon(playerid, params[]) {

	new id,
		idw,
		munice,
		string[140],
		nick[MAX_PLAYER_NAME],
		admin[MAX_PLAYER_NAME];
	LEVEL(1);
	if(sscanf(params, "iii", id, idw, munice)) return SendClientMessage(playerid, -1, "{ff0000}Použití: /weapon [ID/JMÉNO HRÁČE] [ID ZBRANĚ] [MUNICE]"); //Tento řádek píše error.
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Hráč není připojený !");
	if(idw < 1 || idw > 45) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné ID zbraně !");
	if(munice < 1 || munice > 99999) return SendClientMessage(playerid, -1, "{ff0000}[ ! ] Špatné zadaná minuce !");
	GivePlayerWeapon(id, idw, munice);
	GetPlayerName(id, nick, MAX_PLAYER_NAME);
	GetPlayerName(playerid, admin, MAX_PLAYER_NAME);
	format(string, 140, "{ff0000}Administrátor %s dal hráčovi %s zbraň s ID:%d", admin, nick, idw);
	SendClientMessageToAll(-1, string);
	return 1;
}

Tu kod.  ERROR: error 001: expected token: ";", but found "if"

 

~> Tak do toho preprocesoru přidá jen další specifikátor, nic více.

 

 

~> Buď zkus psát normálně LEVEL(1) ale bez středníku na konči a nebo můžeš ještě zkusit v tom preprocesoru dát ho pryč:

 

LEVEL(%0) if(...)

Nefunguje, zkoušel jsem to píše to furt ten samý error.

Edited by PetrPaulik
Link to comment
Share on other sites

  • 0
#define LEVEL(%0); if(PlayerData[playerid][AdminLevel] < %0) return SendClientMessage(playerid, -1, "Nemáš dostatečný level!")
~> Na konci chybí středník...
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...