SA-MP Forums Archive
clickedplayerid - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: clickedplayerid (/showthread.php?tid=428607)



clickedplayerid - NicholasA - 06.04.2013

So I want to use clickedplayerid outside the onplayerclickplayer thing. but how?
red color = error

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)//Ze hebben op ok gedrukt
    {
        switch(dialogid)//als je maar 1 dialog gebruikt is dit niet nodig, maar je weet maar nooit
        {
	    case 1://onze dialog
    	    {
           	switch(listitem)//welk item is gekozen
        	{
        	    case 0://Kick
        	    {
					Kick(clickedplayerid);
        	    }
        	    case 1://Ban
        	    {
        	        if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid, 0xFFFFFF, "Je hebt niet genoeg geld.");
        	        GivePlayerMoney(playerid, -2);
        	        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
        	    }
        	    case 2://Mute
        	    {
        	        if(GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid, 0xFFFFFF, "Je hebt niet genoeg geld.");
        	        GivePlayerMoney(playerid, -3);
        	        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
        	    }
        	}
    	    }
	}
    }
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    if(IsPlayerAdmin(playerid)) ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Dialog Admin by PhantomCraft", "Kick\nBan\nMute", "Confirm", "Cancel7");
	else SendClientMessage (playerid, -1, "ERROR: You are not an admin.");
	return 1;
}



Re: clickedplayerid - iJumbo - 06.04.2013

store in a var!


Re: clickedplayerid - NicholasA - 06.04.2013

Quote:
Originally Posted by [ISS]jumbo
Посмотреть сообщение
store in a var!
How?


Re: clickedplayerid - doreto - 06.04.2013

pawn Код:
// top

new ClickedPlayer[MAX_PLAYERS];

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)//Ze hebben op ok gedrukt
    {
        switch(dialogid)//als je maar 1 dialog gebruikt is dit niet nodig, maar je weet maar nooit
        {
        case 1://onze dialog
            {
            switch(listitem)//welk item is gekozen
            {
                case 0://Kick
                {
                    Kick(ClickedPlayer[playerid]); // we use our (ClickedPlayer) varible were is saved player id from OnPlayerClickPlayer
                }
                case 1://Ban
                {
                    if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid, 0xFFFFFF, "Je hebt niet genoeg geld.");
                    GivePlayerMoney(playerid, -2);
                    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
                }
                case 2://Mute
                {
                    if(GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid, 0xFFFFFF, "Je hebt niet genoeg geld.");
                    GivePlayerMoney(playerid, -3);
                    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
                }
            }
            }
    }
    }
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    if(IsPlayerAdmin(playerid)
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Dialog Admin by PhantomCraft", "Kick\nBan\nMute", "Confirm", "Cancel7");
        ClickedPlayer[playerid] = clickedplayerid;
    }
    else SendClientMessage (playerid, -1, "ERROR: You are not an admin.");
    return 1;
}
Edit: thanks [ISS]jumbo for point it , but both way works but :


Re: clickedplayerid - iJumbo - 06.04.2013

Example

when you click player you store clickedplayerid in a player variable

pawn Код:
PlayerVar[playerid] = clickedplayerid;
in dialog you kick the player by reading the playervar
pawn Код:
Kick(PlayerVar[playerid]);

you can create the playervar like this
pawn Код:
new PlayerVar[MAX_PLAYERS];



dear Doreto.. your var is not per player var


AW: clickedplayerid - Nero_3D - 06.04.2013

Or you format it into the dialog
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source) {
    if(IsPlayerAdmin(playerid) {
        new
            tmp[64]
        ;
        format(tmp, sizeof tmp, "Kick %d\nBan %d\nMute %d", clickedplayerid, clickedplayerid, clickedplayerid);
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Dialog Admin by PhantomCraft", tmp, "Confirm", "Cancel");
    }
    return true;
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
        case 1: {
            if(response) {
                switch(listitem) {
                    case 0: Kick(strval(inputtext[5]));
                    case 1: Ban(strval(inputtext[4]));
                    case 2: Mute(strval(inputtext[5])); // fictional function
                }
            }
        }
    }
    return true;
}



Re: AW: clickedplayerid - iJumbo - 06.04.2013

Quote:
Originally Posted by Nero_3D
Посмотреть сообщение
Or you format it into the dialog
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source) {
    if(IsPlayerAdmin(playerid) {
        new
            tmp[64]
        ;
        format(tmp, sizeof tmp, "Kick %d\nBan %d\nMute %d", clickedplayerid, clickedplayerid, clickedplayerid);
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Dialog Admin by PhantomCraft", tmp, "Confirm", "Cancel");
    }
    return true;
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
        case 1: {
            if(response) {
                switch(listitem) {
                    case 0: Kick(strval(inputtext[5]));
                    case 1: Ban(strval(inputtext[4]));
                    case 2: Mute(strval(inputtext[5]));
                }
            }
        }
    }
    return true;
}
what about if playerid is more than 1 chars or 2 chars?


AW: Re: AW: clickedplayerid - Nero_3D - 06.04.2013

Quote:
Originally Posted by [ISS]jumbo
Посмотреть сообщение
what about if playerid is more than 1 chars or 2 chars?
There shouldn't be a problem since tmp is 64 cells big...