[Ajuda] Ajuda sistema de demiзгo, pegar nome transformar em ID
#1

To com um problema pra demitir os membros de uma facзгo

Queria pegar o nome de um membro de uma faction
FactionInfo[facid][membro1]
FactionInfo[facid][membro2]
...


Pra transformar em um ID para que eu possa trabalhar no meu /demitir ou sei lб ou jeito de resolver isso aqui dessa parte
Код:
				/*
				new targetid = Name1;
				fmembro[targetid] = 0;
				fcargo[targetid] = 0;
				
				format(string, sizeof(string), "Vocк foi demitido por %s!", PlayerName(playerid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);
				
				format(string, sizeof(string), "Vocк demitiu %s!", PlayerName(targetid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);
				*/
Код:
		if(dialogid == 593) { // slot de outra pessoa que nгo seja vc
		if(fcargo[playerid] < 5) return SendClientMessage(playerid, COLOR_WHITE, "Somente lideres podem gerenciar vagas de outras pessoas.");
		switch ( listitem ) {
Parte de Demitir
Код:
			case 0: { // demitir
				new string[40];
				new Name1[MAX_PLAYER_NAME];
				new facid = fmembro[playerid];
				
				switch( vagamexendo[playerid] ) {
					case 0:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro1]);	}
					case 1:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro2]);	}
					case 2:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro3]);	}
					case 3:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro4]);	}
					case 4:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro5]);	}
					case 5:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro6]);	}
					case 6:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro7]);	}
					case 7:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro8]);	}
					case 8:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro9]);	}
					case 9:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro10]);	}
					case 10:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro11]);	}
					case 11:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro12]);	}
					case 12:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro13]);	}
					case 13:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro14]);	}
					case 14:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro15]);	}
				}
				/*
				new targetid = Name1;
				fmembro[targetid] = 0;
				fcargo[targetid] = 0;
				
				format(string, sizeof(string), "Vocк foi demitido por %s!", PlayerName(playerid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);
				
				format(string, sizeof(string), "Vocк demitiu %s!", PlayerName(targetid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);
				*/
				new ept[30];
				ept = "Empty";
				if(vagamexendo[playerid] == 1) {
					FactionInfo[facid][membro1] = ept;
					FactionInfo[facid][cargo1] = 1;
				}
				else if(vagamexendo[playerid] == 2) {
					FactionInfo[facid][membro2] = ept;
					FactionInfo[facid][cargo2] = 1;
				}
				else if(vagamexendo[playerid] == 3) {
					FactionInfo[facid][membro3] = ept;
					FactionInfo[facid][cargo3] = 1;
				}
				else if(vagamexendo[playerid] == 4) {
					FactionInfo[facid][membro4] = ept;
					FactionInfo[facid][cargo4] = 1;
				}
				else if(vagamexendo[playerid] == 5) {
					FactionInfo[facid][membro5] = ept;
					FactionInfo[facid][cargo5] = 1;
				}
				else if(vagamexendo[playerid] == 6) {
					FactionInfo[facid][membro6] = ept;
					FactionInfo[facid][cargo6] = 1;
				}
				else if(vagamexendo[playerid] == 7) {
					FactionInfo[facid][membro7] = ept;
					FactionInfo[facid][cargo7] = 1;
				}
				else if(vagamexendo[playerid] == 8) {
					FactionInfo[facid][membro8] = ept;
					FactionInfo[facid][cargo8] = 1;
				}
				else if(vagamexendo[playerid] == 9) {
					FactionInfo[facid][membro9] = ept;
					FactionInfo[facid][cargo9] = 1;
				}
				else if(vagamexendo[playerid] == 10) {
					FactionInfo[facid][membro10] = ept;
					FactionInfo[facid][cargo10] = 1;
				}
				else if(vagamexendo[playerid] == 11) {
					FactionInfo[facid][membro11] = ept;
					FactionInfo[facid][cargo11] = 1;
				}
				else if(vagamexendo[playerid] == 12) {
					FactionInfo[facid][membro12] = ept;
					FactionInfo[facid][cargo12] = 1;
				}
				else if(vagamexendo[playerid] == 13) {
					FactionInfo[facid][membro13] = ept;
					FactionInfo[facid][cargo13] = 1;
				}
				else if(vagamexendo[playerid] == 14) {
					FactionInfo[facid][membro14] = ept;
					FactionInfo[facid][cargo14] = 1;
				}
				else if(vagamexendo[playerid] == 15) {
					FactionInfo[facid][membro15] = ept;
					FactionInfo[facid][cargo15] = 1;
				}
			}
Reply
#2

PHP код:
stock GetPlayerIdFromName(playername[])
{
  for(new 
0<= MAX_PLAYERSi++)
  {
    if(
IsPlayerConnected(i))
    {
      new 
playername2[MAX_PLAYER_NAME];
      
GetPlayerName(iplayername2sizeof(playername2));
      if(
strcmp(playername2playernametruestrlen(playername)) == 0)
      {
        return 
i;
      }
    }
  }
  return 
INVALID_PLAYER_ID;

Reply
#3

Putz cara obrigadгo, vou te dar um rep aqui, muito da hora essa funзгo, sу me tira umas duvidas por favor?

Se o nome nгo for valido ou nгo estiver online o valor de ID vai ser o que? 0
Por que se nгo tiver nгo queria que fize-se a funзгo com ninguem pq o proprio script checa qnd loga se vc й um dos membros da facзгo

E oq й esse erro?

Код:
targetid = GetPlayerIdFromName(Name1[])
error 029: invalid expression, assumed zero
completo
Код:
			case 0: { // demitir
				new string[40];
				new Name1[MAX_PLAYER_NAME];
				new facid = fmembro[playerid];
				
				switch( vagamexendo[playerid] ) {
					case 0:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro1]);	}
					case 1:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro2]);	}
					case 2:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro3]);	}
					case 3:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro4]);	}
					case 4:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro5]);	}
					case 5:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro6]);	}
					case 6:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro7]);	}
					case 7:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro8]);	}
					case 8:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro9]);	}
					case 9:	{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro10]);	}
					case 10:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro11]);	}
					case 11:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro12]);	}
					case 12:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro13]);	}
					case 13:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro14]);	}
					case 14:{	format(Name1, sizeof(Name1), "%s", FactionInfo[facid][membro15]);	}
				}
				new targetid;
				targetid = GetPlayerIdFromName(Name1[])
				fmembro[targetid] = 0;
				fcargo[targetid] = 0;
				
				format(string, sizeof(string), "Vocк foi demitido por %s!", PlayerName(playerid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);
				
				format(string, sizeof(string), "Vocк demitiu %s!", PlayerName(targetid));
				SendClientMessage(targetid, COLOR_LIGHTBLUE, string);

				new ept[30];
				ept = "Empty";
				if(vagamexendo[playerid] == 1) {
					FactionInfo[facid][membro1] = ept;
					FactionInfo[facid][cargo1] = 1;
				}
				else if(vagamexendo[playerid] == 2) {
					FactionInfo[facid][membro2] = ept;
					FactionInfo[facid][cargo2] = 1;
				}
				else if(vagamexendo[playerid] == 3) {
					FactionInfo[facid][membro3] = ept;
					FactionInfo[facid][cargo3] = 1;
				}
				else if(vagamexendo[playerid] == 4) {
					FactionInfo[facid][membro4] = ept;
					FactionInfo[facid][cargo4] = 1;
				}
				else if(vagamexendo[playerid] == 5) {
					FactionInfo[facid][membro5] = ept;
					FactionInfo[facid][cargo5] = 1;
				}
				else if(vagamexendo[playerid] == 6) {
					FactionInfo[facid][membro6] = ept;
					FactionInfo[facid][cargo6] = 1;
				}
				else if(vagamexendo[playerid] == 7) {
					FactionInfo[facid][membro7] = ept;
					FactionInfo[facid][cargo7] = 1;
				}
				else if(vagamexendo[playerid] == 8) {
					FactionInfo[facid][membro8] = ept;
					FactionInfo[facid][cargo8] = 1;
				}
				else if(vagamexendo[playerid] == 9) {
					FactionInfo[facid][membro9] = ept;
					FactionInfo[facid][cargo9] = 1;
				}
				else if(vagamexendo[playerid] == 10) {
					FactionInfo[facid][membro10] = ept;
					FactionInfo[facid][cargo10] = 1;
				}
				else if(vagamexendo[playerid] == 11) {
					FactionInfo[facid][membro11] = ept;
					FactionInfo[facid][cargo11] = 1;
				}
				else if(vagamexendo[playerid] == 12) {
					FactionInfo[facid][membro12] = ept;
					FactionInfo[facid][cargo12] = 1;
				}
				else if(vagamexendo[playerid] == 13) {
					FactionInfo[facid][membro13] = ept;
					FactionInfo[facid][cargo13] = 1;
				}
				else if(vagamexendo[playerid] == 14) {
					FactionInfo[facid][membro14] = ept;
					FactionInfo[facid][cargo14] = 1;
				}
				else if(vagamexendo[playerid] == 15) {
					FactionInfo[facid][membro15] = ept;
					FactionInfo[facid][cargo15] = 1;
				}
			}
Reply
#4

alguйm sabe?
Reply
#5

Nгo da pra fazer fmembro[Name1] e ir direto do nome em vez do id brother?
Reply
#6

Quote:
Originally Posted by gmstrikker
Посмотреть сообщение
Nгo da pra fazer fmembro[Name1] e ir direto do nome em vez do id brother?
Nгo da essa й uma array de inteiros, vai ter que arrumar um jeito de converter o nome pra ID
Acho q й sу arrumar a do cara lб

Se conseguir me avisa vou usar pra uma parada diferente
Reply
#7

Se o nome nгo for valido, o id nгo й 0, mas sim INVALID_PLAYER_ID. Se nгo me engano й um id negativo alguma coisa...

Coloca isso:
PHP код:
targetid GetPlayerIdFromName(Name1); 
Reply
#8

Quote:
Originally Posted by garotin
Посмотреть сообщение
Se o nome nгo for valido, o id nгo й 0, mas sim INVALID_PLAYER_ID. Se nгo me engano й um id negativo alguma coisa...

Coloca isso:
PHP код:
targetid GetPlayerIdFromName(Name1); 
Obrigado! +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)