SA-MP Forums Archive
Command - 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: Command (/showthread.php?tid=514887)



Command - rumen98 - 23.05.2014

Hi I want to ask, how can I do that as a command /set (playerid-partofname) (level or xp or money for example) (value)
and when admin type for example /set rumen98 Level 50 , to set level ot ,,rumen98'' to level 50
just wanna know how I can make the base, I'll do the actual command??
if its possible in <zcmd> command

and my other question is, how can I do in OnPlayerClickPlayer function like /pay command, but however with inputtext dialog??


Re: Command - Fred1993 - 23.05.2014

pawn Код:
CMD:set(playerid,params[])
{
    new id, thing[128] , value;
    if(!sscanf(params, "ds[128]d", id, thing, value))
    {
         if(strcmp(thing,"level", true) == 0)
          {
           // your code here
          }
          if(strcmp(thing,"xp", true) == 0)
          {
           // your code here
          }
          if(strcmp(thing,"money", true) == 0)
          {
           // your code here
          }
    }
    else
     SendClientMessage(playerid, -1, "USAGE: /set [playerid/partofName] [Thing] [value]");

return 1;
}
Hope i helped


Re: Command - iFiras - 23.05.2014

Explain more on OnPlayerClickPlayer thing.
What's your point? What do you want to happen when a player clicks on the other one?


Re: Command - rumen98 - 23.05.2014

iFiras When Player Click player to show him Dialog ,,What would you like to send'' and menus are as Money, XP, Fuel. When you select one of these menus, there appears to inputtext dialog and write the number, verify that you have chosen something that the player who has chosen is 5 meters from him and gives them


Re: Command - AndySedeyn - 23.05.2014

Quote:
Originally Posted by Fred1993
Посмотреть сообщение
pawn Код:
CMD:set(playerid,params[])
{
    new id, thing[128] , value;
    if(!sscanf(params, "ds[128]d", id, thing, value))
    {
         if(strcmp(thing,"level", true) == 0)
          {
           // your code here
          }
          if(strcmp(thing,"xp", true) == 0)
          {
           // your code here
          }
          if(strcmp(thing,"money", true) == 0)
          {
           // your code here
          }
    }
    else
     SendClientMessage(playerid, -1, "USAGE: /set [playerid/partofName] [Thing] [value]");

return 1;
}
Hope i helped
If you want to use the playerid OR a part of the player's name. Use "u" not "d".
It will look like this:
pawn Код:
if(!sscanf(params, "us[128]d", id, thing, value))



Re: Command - Fred1993 - 23.05.2014

Quote:
Originally Posted by Bible
Посмотреть сообщение
If you want to use the playerid OR a part of the player's name. Use "u" not "d".
It will look like this:
pawn Код:
if(!sscanf(params, "us[128]d", id, thing, value))
Oh yeah sorry forgot that


Re: Command - rumen98 - 23.05.2014

Bump, Help with OnPlayerClickPlayer please


Re: Command - AndySedeyn - 23.05.2014

https://sampwiki.blast.hk/wiki/OnPlayerClickPlayer

I think it works like this:
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    ShowPlayerDialog(playerid, DIALOG_CLICKMENU, DIALOG_STYLE_LIST, "What do you want to do?", "Give Money\nGive EXP\nGive Fuel\n", "Continue", "Close");
    return 1;
}
Continue the Dialog responses under the OnDialogResponse callback.


Re: Command - rumen98 - 23.05.2014

Quote:
Originally Posted by Bible
Посмотреть сообщение
https://sampwiki.blast.hk/wiki/OnPlayerClickPlayer

I think it works like this:
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    ShowPlayerDialog(playerid, DIALOG_CLICKMENU, DIALOG_STYLE_LIST, "What do you want to do?", "Give Money\nGive EXP\nGive Fuel\n", "Continue", "Close");
    return 1;
}
Continue the Dialog responses under the OnDialogResponse callback.
i know that, i just want to know how to make an function like when Money to show inputtext dialog and when player type example 500 and have 500 money and clicked player is around 5 meter from player to give him 500 money... It's like /pay command, but however with dialogс


Re: Command - Jacksta21 - 23.05.2014

You mean something like this?
pawn Код:
new StoreID[MAX_PLAYERS];

public OnPlayerClickPlayer(playerid, clickedplayerid, source) //Bibles example
{
    ShowPlayerDialog(playerid, DIALOG_CLICKMENU, DIALOG_STYLE_LIST, "What do you want to do?", "Give Money\nGive EXP\nGive Fuel\n", "Continue", "Close");
    StoreID[playerid] = clickedplayerid;
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_CLICKPLAYER:
        {
            if(response)
            {
                switch(listitem)
                {
                    case 0: //Lets give a player a defined amount of money...
                    {
                        ShowPlayerDialog(playerid, DIALOG_GIVEMONEY, DIALOG_STYLE_INPUT, "Give Money", "How much?", "Go", "Cancel");
                    }
                }
            }
        }
        case DIALOG_GIVEMONEY:
        {
            if(response)
            {
                new Float:x, Float:y, Float:z;
                GetPlayerPos(StoreID[playerid], x, y, x);
                if(IsPlayerInRangeOfPoint(playerid, 5, x, y, z)//Are you within 5 units?
                {
                    GivePlayerMoney(StoreID[playerid], inputtext); //This will give the player the amount of moeny you entered
                }
            }
        }
    }
}
I wouldn't recommend using that, it's just a rough example to help you.