Help dialog compare String
#1

Help error:
Код:
else if(strcmp(name, "%s", PlayerName(playerid))) { // error 035: argument type mismatch (argument 3)
Код:
error 035: argument type mismatch (argument 3)
Command:

Код:
	CMD:fmembers(playerid) {
		new nomeorg[30], string[256];
		new orgid = fmembro[playerid];
		format(nomeorg,sizeof(nomeorg),"%s members", FactionInfo[orgid][facname]);
		
		format(string,sizeof(string),"01 - Leader = %s\n02 - Vice-Leader = %s\n03 - Vice-Leader = %s\n04 - Member = %s\n05 - Member = %s\n06 - Member = %s\n07 - Member = %s\n08 - Member = %s\n09 - Member = %s\n10 - Member = %s\n11 - Member = %s\n12 - Member = %s\n13 - Member = %s\n14 - Member = %s\n15 - Member = %s"
		, FactionInfo[orgid][lider1], FactionInfo[orgid][lider2], FactionInfo[orgid][lider3], FactionInfo[orgid][membro1], FactionInfo[orgid][membro2], FactionInfo[orgid][membro3], FactionInfo[orgid][membro4], FactionInfo[orgid][membro5], FactionInfo[orgid][membro6], FactionInfo[orgid][membro7], FactionInfo[orgid][membro8], FactionInfo[orgid][membro9], FactionInfo[orgid][membro10], FactionInfo[orgid][membro11], FactionInfo[orgid][membro12] );
		
		ShowPlayerDialog(playerid, 590, DIALOG_STYLE_LIST, nomeorg, string, "Gerenciar", "Fechar");  
	}
Код:
	// gerenciar
	if(dialogid == 590){
		new name[30];
		new orgid = fmembro[playerid];
		if(!response) return true;

		switch( listitem ) {
			case 0: format(name, 30, "%s", FactionInfo[orgid][lider1]);
			case 1: format(name, 30, "%s", FactionInfo[orgid][lider2]);
			case 2: format(name, 30, "%s", FactionInfo[orgid][lider3]);
			case 3: format(name, 30, "%s", FactionInfo[orgid][membro1]);
			case 4: format(name, 30, "%s", FactionInfo[orgid][membro2]);
			case 5: format(name, 30, "%s", FactionInfo[orgid][membro3]);
			case 6: format(name, 30, "%s", FactionInfo[orgid][membro4]);
			case 7: format(name, 30, "%s", FactionInfo[orgid][membro5]);
			case 8: format(name, 30, "%s", FactionInfo[orgid][membro6]);
			case 9: format(name, 30, "%s", FactionInfo[orgid][membro7]);
			case 10: format(name, 30, "%s", FactionInfo[orgid][membro8]);
			case 11: format(name, 30, "%s", FactionInfo[orgid][membro9]);
			case 12: format(name, 30, "%s", FactionInfo[orgid][membro10]);
			case 13: format(name, 30, "%s", FactionInfo[orgid][membro11]);
			case 14: format(name, 30, "%s", FactionInfo[orgid][membro12]);
		}
		if(strcmp(name, "Empty")) {
			ShowPlayerDialog(playerid, 591, DIALOG_STYLE_INPUT, "Gerenciar", "Digite abaixo o nome do jogador", "Invite", "Cancel");
		}
		else if(strcmp(name, "%s", PlayerName(playerid))) { // error 035: argument type mismatch (argument 3)
			ShowPlayerDialog(playerid, 592, DIALOG_STYLE_INPUT, "Gerenciar", "Pedir Contas", "Select", "Cancel");
		}
		else {
			ShowPlayerDialog(playerid, 593, DIALOG_STYLE_INPUT, "Gerenciar", "Demitir\nMudar Cargo", "Select", "Cancel");
		}
	}
Reply
#2

Seems that you do not know how to use strcmp.

https://sampwiki.blast.hk/wiki/Strcmp
Reply
#3

GetPlayerName instead of PlayerName, also you should store strings locally in a new variable in case you need to re-use the string.

PHP код:
if(dialogid == 590){
        new 
Name1[MAX_PLAYER_NAME];
        
//string for players name
        
new Name2[MAX_PLAYER_NAME];
        
GetPlayerNameplayeridName2sizeof(Name2) );
        new 
orgid fmembro[playerid];
        if(!
response) return true;
        switch( 
listitem ) {
            
//sizeof automatically retrieves max array size of string
            
case 0format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider1]);
            case 
1format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider2]);
            case 
2format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider3]);
            case 
3format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro1]);
            case 
4format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro2]);
            case 
5format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro3]);
            case 
6format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro4]);
            case 
7format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro5]);
            case 
8format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro6]);
            case 
9format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro7]);
            case 
10format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro8]);
            case 
11format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro9]);
            case 
12format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro10]);
            case 
13format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro11]);
            case 
14format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro12]);
        }
        if(
strcmp(name"Empty")) {
            
ShowPlayerDialog(playerid591DIALOG_STYLE_INPUT"Gerenciar""Digite abaixo o nome do jogador""Invite""Cancel");
        }
        else if(
strcmp(Name1Name2)) { // error 035: argument type mismatch (argument 3)
            
ShowPlayerDialog(playerid592DIALOG_STYLE_INPUT"Gerenciar""Pedir Contas""Select""Cancel");
        }
        else {
            
ShowPlayerDialog(playerid593DIALOG_STYLE_INPUT"Gerenciar""Demitir\nMudar Cargo""Select""Cancel");
        }
    } 
Reply
#4

Quote:
Originally Posted by GXLZPGX
Посмотреть сообщение
GetPlayerName instead of PlayerName, also you should store strings locally in a new variable in case you need to re-use the string.

PHP код:
if(dialogid == 590){
        new 
Name1[MAX_PLAYER_NAME];
        
//string for players name
        
new Name2[MAX_PLAYER_NAME];
        
GetPlayerNameplayeridName2sizeof(Name2) );
        new 
orgid fmembro[playerid];
        if(!
response) return true;
        switch( 
listitem ) {
            
//sizeof automatically retrieves max array size of string
            
case 0format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider1]);
            case 
1format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider2]);
            case 
2format(Name1sizeof(Name1), "%s"FactionInfo[orgid][lider3]);
            case 
3format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro1]);
            case 
4format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro2]);
            case 
5format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro3]);
            case 
6format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro4]);
            case 
7format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro5]);
            case 
8format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro6]);
            case 
9format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro7]);
            case 
10format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro8]);
            case 
11format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro9]);
            case 
12format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro10]);
            case 
13format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro11]);
            case 
14format(Name1sizeof(Name1), "%s"FactionInfo[orgid][membro12]);
        }
        if(
strcmp(name"Empty")) {
            
ShowPlayerDialog(playerid591DIALOG_STYLE_INPUT"Gerenciar""Digite abaixo o nome do jogador""Invite""Cancel");
        }
        else if(
strcmp(Name1Name2)) { // error 035: argument type mismatch (argument 3)
            
ShowPlayerDialog(playerid592DIALOG_STYLE_INPUT"Gerenciar""Pedir Contas""Select""Cancel");
        }
        else {
            
ShowPlayerDialog(playerid593DIALOG_STYLE_INPUT"Gerenciar""Demitir\nMudar Cargo""Select""Cancel");
        }
    } 
I rep you, but it dont work bro, dont show real names on FactionInfo[orgid][lider1], lider2..........

And all times when i choose a item enter on else
else {
ShowPlayerDialog(playerid, 593, DIALOG_STYLE_INPUT, "Gerenciar", "Demitir\nMudar Cargo", "Select", "Cancel");
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)