Jump to content
  • 0

pomoc SETLVL


FrOsTy14

Dotaz

Zdravím udělal jsem příkaz setlvl ale nějak mi to nefunguje v pawnu žádný error, ale na serveru to nic nedělá

public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(setlvl, 6, cmdtext);
dcmd_setlvl(playerid, params[])
{
	new Adminp = Admin[playerid];
	if(Adminp != 5)
	{
		new id;
		new admin;
		new Hrac[64];
		new Hname[MAX_PLAYER_NAME];
		GetPlayerName(playerid, Hname, sizeof(Hname));
		format(Hrac, sizeof(Hrac),"/Hraci/%s",Hname);
		if(dini_Exists(Hrac))
		{
			if(sscanf(params, "ui", id, admin))
			{
				SendClientMessage(playerid, COLOR_WHITE,"/setlvl [ID] [lvl]!");
				return 1;
			}
			else if(id == INVALID_PLAYER_ID)
			{
				SendClientMessage(playerid, COLOR_RED,"Hráč není na serveru!");
				return 1;
			}
			else if(Admin[id] == admin)
			{
				SendClientMessage(playerid, COLOR_RED, "Hráč už má tento adminlvl!");
				return 1;
			}
			else
			{
			    Admin[id] = admin;
				dini_IntSet(Hrac,"Admin", Adminp);
				SendClientMessage(playerid, COLOR_RED, "Změnil si admin lvl!");
				SendClientMessage(id, COLOR_RED, "Admin ti změnil admin lvl!");
				return 1;
			}
		}
		return 1;
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED,"Nemáš práva na užívaní tohoto příkazu!");
	}
	return 1;
}
Link to comment
Share on other sites

10 odpovědí na tuto otázku

Recommended Posts

  • 0

A proč jsi to narval pod onplayercommandtext? To má být mimo krom dcmd(setlvl, 6, cmdtext);

Jo mám to mám tam ještě jiný příkazy, ale mě štve že mi to nechce fakat na serveru musím to nastavovat manualně, funguje jen že když nemám žadný admin lvl tak mi to nepíše Nemáš práva na užívaní tohoto příkazu!

Link to comment
Share on other sites

  • 0

Kdyby sis tam hned na začátku dal podmínku, pro neexistující soubor, tak by si ihned přišel na chybu. Zde to máš opravené a máš tam přidanou i možnost, že hráč nemá vytvořený souboru ve SF.

dcmd_setlvl(playerid, params[])
{
	new Adminp = Admin[playerid];
	if(Adminp != 5)
	{
		new id;
		new admin;
		new Hrac[64];
		new Hname[MAX_PLAYER_NAME];
		GetPlayerName(playerid, Hname, sizeof(Hname));
		//format(Hrac, sizeof(Hrac),"/Hraci/%s",Hname); -->proč tady máš to /(lomítko) před Hraci?
                format(Hrac, sizeof(Hrac),"Hraci/%s",Hname);
		if(dini_Exists(Hrac))
		{
			if(sscanf(params, "ui", id, admin))
			{
				SendClientMessage(playerid, COLOR_WHITE,"/setlvl [ID] [lvl]!");
				return 1;
			}
			else if(id == INVALID_PLAYER_ID)
			{
				SendClientMessage(playerid, COLOR_RED,"Hráč není na serveru!");
				return 1;
			}
			else if(Admin[id] == admin)
			{
				SendClientMessage(playerid, COLOR_RED, "Hráč už má tento adminlvl!");
				return 1;
			}
			else
			{
			    Admin[id] = admin;
				dini_IntSet(Hrac,"Admin", Adminp);
				SendClientMessage(playerid, COLOR_RED, "Změnil si admin lvl!");
				SendClientMessage(id, COLOR_RED, "Admin ti změnil admin lvl!");
				return 1;
			}
		}
                else
                {
                SendClientMessage(playerid, -1, "Není možné dát hráči Admin level, protože nemá vytvořený soubor pro ukládání dat ve Scriptfiles !");
                return 1;
                } 
		
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED,"Nemáš práva na užívaní tohoto příkazu!");
	}
	return 1;
}
Link to comment
Share on other sites

  • 0

Teď když napíšu jenom /setlvl tak mi to hned začne psát Není možné dát hráči Admin level, protože nemá vytvořený soubor pro ukládání dat ve Scriptfiles !. Můžu napsat cokoliv a napíše mi to(setlvl).


Ale mě se ten soubor vytvoří už při registraci

Link to comment
Share on other sites

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