Jump to content
  • 0

Problema conditie.


Reflex

Question

Problema intalnita (descriere): Vreau sa pun la mai multe comenzi ca un anumit player , de exemplu "Test" sa nu poata lua ban, kick, jail.  Cand incerc sa ii dau cuiva jail, imi spune "You cannot jail Test". La absolut toata lumea. Mai pe scurt, vreau sa fac ca player-ul Test sa nu poata lua jail de la nimeni.
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu): 

CMD:jail(playerid, params[])
{
    if(PlayerInfo[playerid][Level] < 3) return SendError(playerid, "You need to be Admin Level 3 to use this command!");
    //--------------------------------------------------------------------------
    new liPlayer, jTime, Reason[40]; eString[0] = EOS;
    new tmp[64];
    //--------------------------------------------------------------------------
    if(sscanf(params, "uiS(No Reason)[40]", liPlayer, jTime, Reason)) return
	SendUsage(playerid, "/jail [PlayerID] [Time] [Reason]");
	//--------------------------------------------------------------------------
	if(!IsPlayerConnected(liPlayer)) return
	SendError(playerid, "Player is not connected.");
	//--------------------------------------------------------------------------
	if(strcmp(tmp, "Test", true) == 0) return  //aceste 2 linii le-am pus
 	SendError(playerid, "You cannot jail Test");  //----
	//--------------------------------------------------------------------------
	if(liPlayer == playerid) return
	SendError(playerid, "You can't jail yourself!");
	//--------------------------------------------------------------------------
	if(PlayerInfo[liPlayer][Level] > PlayerInfo[playerid][Level]) return
	SendError(playerid, "You cannot use this command on this admin");
	//--------------------------------------------------------------------------
	if(PlayerInfo[liPlayer][Jailed] >= 1) return
	SendError(playerid, "Player is already in jail");
	//--------------------------------------------------------------------------
	if(jTime > 9999) return
	SendError(playerid, "Invalid Time!");
    //--------------------------------------------------------------------------
    PlayerInfo[playerid][PJails]++,		PlayerInfo[liPlayer][Jailed] = 1;
    gTime[liPlayer][0] = jTime-1,		gTime[liPlayer][1] = 60;
    //--------------------------------------------------------------------------
    SetTimerEx("ShowJailLeftTime", 1000, 0, "i", liPlayer),	SetTimerEx("JailPlayer", 5000, 0, "i", liPlayer),	SetTimerEx("Jail1", 1000, 0, "i", liPlayer);
    //--------------------------------------------------------------------------
    format(eString, sizeof(eString), "Administrator {FF0000}%s{D1D1D1} has Jailed {00A6FF}%s {D1D1D1}for %d Minutes. (Reason: %s)", PlayerName(playerid), PlayerName(liPlayer), jTime, Reason);
    SendClientMessageToAll(COLOR_GREY2, eString);
    //--------------------------------------------------------------------------
	return 1;
}

Imagini / Video (optional): -
Ati incercat sa rezolvati singur?: Da, am incercat mai multe posibilitati.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 1
CMD:jail(playerid, params[])
{
    if(PlayerInfo[playerid][Level] < 3) return SendError(playerid, "You need to be Admin Level 3 to use this command!");
    //--------------------------------------------------------------------------
    new liPlayer, jTime, Reason[40]; eString[0] = EOS;
    new tmp[64];
    //--------------------------------------------------------------------------
    if(sscanf(params, "uiS(No Reason)[40]", liPlayer, jTime, Reason)) return
	SendUsage(playerid, "/jail [PlayerID] [Time] [Reason]");
	//--------------------------------------------------------------------------
	if(!IsPlayerConnected(liPlayer)) return
	SendError(playerid, "Player is not connected.");
	//--------------------------------------------------------------------------
	if(strcmp(PlayerName(liPlayer), "Test", true) == 0) return SendError(playerid, "You cannot jail Test");
	//--------------------------------------------------------------------------
	if(liPlayer == playerid) return
	SendError(playerid, "You can't jail yourself!");
	//--------------------------------------------------------------------------
	if(PlayerInfo[liPlayer][Level] > PlayerInfo[playerid][Level]) return
	SendError(playerid, "You cannot use this command on this admin");
	//--------------------------------------------------------------------------
	if(PlayerInfo[liPlayer][Jailed] >= 1) return
	SendError(playerid, "Player is already in jail");
	//--------------------------------------------------------------------------
	if(jTime > 9999) return
	SendError(playerid, "Invalid Time!");
    //--------------------------------------------------------------------------
    PlayerInfo[playerid][PJails]++,		PlayerInfo[liPlayer][Jailed] = 1;
    gTime[liPlayer][0] = jTime-1,		gTime[liPlayer][1] = 60;
    //--------------------------------------------------------------------------
    SetTimerEx("ShowJailLeftTime", 1000, 0, "i", liPlayer),	SetTimerEx("JailPlayer", 5000, 0, "i", liPlayer),	SetTimerEx("Jail1", 1000, 0, "i", liPlayer);
    //--------------------------------------------------------------------------
    format(eString, sizeof(eString), "Administrator {FF0000}%s{D1D1D1} has Jailed {00A6FF}%s {D1D1D1}for %d Minutes. (Reason: %s)", PlayerName(playerid), PlayerName(liPlayer), jTime, Reason);
    SendClientMessageToAll(COLOR_GREY2, eString);
    //--------------------------------------------------------------------------
	return 1;
}

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

Incearca asta:

    if( !strcmp(PlayerName(playerid), "Orice vrei sa pui tu aici", false) )  return SendClientMessage(playerid, -1, "Nu poti folosi aceasta comanda pe --------

"); 

Edited by XStormiests

 

private void Copiati_asta(Plagiatori p)
{
      if(p.name != "unknown")
      {
           Cursor.Hide();
           MessageBox.Show("Daca copiezi, esti considerat un zeu iar daca muncesti este consderat un nimic");
           MessageBox.Show("Cei ce muncesc sunt criticati mai aspru decat cei care copiaza, fiindca de la cei care muncesc se asteapta performante..");
           MessageBox.Show("Ofera acelei persoane care a muncit, macar un multumesc fiindca el e cel care-ti aduce tie laudele pe care el ar trebui sa le primeasca.");
           MessageBox.Show("Poti mintii o lume intreaga dar nu te poti minti pe tine.");
           MessageBox.Show("Sper ca acest mesaj sa-ti intre bine in cap, reputatie negativa imi va dovedi ca nu ai inteles nimic");
           MessageBox.Show("Multumesc....");
           Program.close();
      }
}
Link to comment
Share on other sites

  • 0

@KnowN, Noi nu am fost atenti la script, el avea ca variabila pentru sscanf (params) liPlayer = name, ceea ce faceam noi era sa verificam daca numele jucatorului care testeaza comanda este = Test deci automat ca dadea acea eroare.

 

private void Copiati_asta(Plagiatori p)
{
      if(p.name != "unknown")
      {
           Cursor.Hide();
           MessageBox.Show("Daca copiezi, esti considerat un zeu iar daca muncesti este consderat un nimic");
           MessageBox.Show("Cei ce muncesc sunt criticati mai aspru decat cei care copiaza, fiindca de la cei care muncesc se asteapta performante..");
           MessageBox.Show("Ofera acelei persoane care a muncit, macar un multumesc fiindca el e cel care-ti aduce tie laudele pe care el ar trebui sa le primeasca.");
           MessageBox.Show("Poti mintii o lume intreaga dar nu te poti minti pe tine.");
           MessageBox.Show("Sper ca acest mesaj sa-ti intre bine in cap, reputatie negativa imi va dovedi ca nu ai inteles nimic");
           MessageBox.Show("Multumesc....");
           Program.close();
      }
}
Link to comment
Share on other sites

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.