How to Make a Simple Dialog -
Blessed - 25.05.2012
INTRO
Although, most of you don't need this, but there are still some of those new PAWNer's out there, and this might deem useful to them. It is not hard to make a Dialog, and is probably the first thing I even learned in Scripting! I know this isn't much of an Intro, so I'm just going to move on...
MAKING THE DIALOG
ShowPlayerDialog(playerid, dialogid, style, "Title", "info \n for new lines", "First Button", "Second Button");
Okay, this here tells you everything. This is the format for making a Dialog. Now there are 4 types of Dialog's, of which I'm not going to go into detail with but can be found here:
https://sampwiki.blast.hk/wiki/Dialog_Styles
Now, There are several ways to make these... I'm going to make a simple /getgun (For
Admins).
*NOTE* Remove
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1)
if you are doing TDM, DM, etc...(unless you want it for admins only) If you don't remove it, you should get errors unless you have PlayerInfo, and pAdmin defined!
Also, you see the
That is the Admin's level. If you want it for a higher Admin, all you have to do is make it your desired Admin level.
*So here is what I came up with:
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1) return
ShowPlayerDialog(playerid, 1, 2, "Gun Menu","AK47\nM41",
"Get Gun", "Cancel");
(In this there are only two guns, but you can add more.)
However, this isn't it. If you click on Get Gun, you aren't going to get a gun. Heres the Second part.
PART 2
You must go to the 'public OnDialogResponse'
pawn Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(listitem == 0) GivePlayerWeapon(playerid, 30, 9999);
if(listitem == 1) GivePlayerWeapon(playerid, 31, 9999);
}
return 1;
}
This pretty much sums it up. I know it isn't great, but it should help out for some of you new PAWNer's. Mind you, this stuff does get complicated. Oh, and if you want to take it off Admin only, just erase the first line. Let me know if anyone finds any problems, I'll fix them. Thanks.
If this helped you, +rep me.
-Blessed
Re: How to Make a Simple Dialog -
Infinity90 - 25.05.2012
Use [ pawn ] [ /pawn ] for the Coding.Also you should explain it a lot more.
Re: How to Make a Simple Dialog -
[RMD]MaTriX - 25.05.2012
Nice
Re: How to Make a Simple Dialog -
newbienoob - 25.05.2012
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1);
Code:
error 017: undefined symbol "PlayerInfo"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
Re: How to Make a Simple Dialog -
Infinity90 - 25.05.2012
Quote:
Originally Posted by newbienoob
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1);
Code:
error 017: undefined symbol "PlayerInfo"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
|
He said, Thats what he came up with, you would need to define PlayerInfo pAdmin using Enum's, so thats why that will NOT work, remove that line to make things work
Re: How to Make a Simple Dialog -
Blessed - 25.05.2012
Thanks Infinity, I will work on explaining this.
Re: How to Make a Simple Dialog -
SkL_MD - 25.05.2012
Good Job
Re: How to Make a Simple Dialog -
MarTaTa - 25.05.2012
This dialogs was fully messed up in my head, good job I understznd them now
Re: How to Make a Simple Dialog -
[MG]Dimi - 25.05.2012
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1);
ShowPlayerDialog(playerid, 1, 2, "Gun Menu","AK47\nM41",
"Get Gun", "Cancel");
This simply won't go. You are closing "if" statement right after you called it. It should return an error "empty statement" or something like that on that line. Good code would be
pawn Code:
if(PlayerInfo[playerid][pAdmin] >= 1) return ShowPlayerDialog(playerid, 1, 2, "Gun Menu","AK47\nM41", "Get Gun", "Cancel");
//or
if(PlayerInfo[playerid][pAdmin] >= 1)
{
ShowPlayerDialog(playerid, 1, 2, "Gun Menu","AK47\nM41", "Get Gun", "Cancel");
return 1;
}
Re: How to Make a Simple Dialog -
2KY - 26.05.2012
Use a switch statement rather than an if statement. It's much more efficient.