Hướng dẩn tạo Dialog Menu cho server

Trong một server samp có rất nhiều chức năng và bạn phải sử dụng chức năng bằng cách dùng commands ( lệnh), sử dụng lênh có khi lại mất rất nhiều thời gian cho 1 scripts mà nó có nhiều chức năng khác nhau .

Ví dụ như như bạn muốn mua đồ dùng lại 24/7 ,để mua đồ thì bạn cần dùng lênh /mua coca , /mua sigar , /mua khoaxe … nó sẽ mất rất nhiều thời gian cho việc sử dụng lênh nhưng đối với Dialog menu thì bạn chỉ cần dùng lênh /mua , sau đó nó sẽ hộp thoại menu chứa tất cả các sản phẩm của 24/7 cho các bạn chọn và mua rất dể dàng và tiết kiệm được thời gian , thêm dialog vào thì server của bạn cũng khá chuyên nghiệp đấy .

dialog

Để tạo một Dialog thì bạn cần thực hiện trong pawn của gamemode và hoàn toàn thủ cộng

Các bước để tạo Dialog cho server samp .

Mình sẽ tạo Dialog thực hiện chức năng ăn thức ăn nhé .

Bước 1 :

Đầu tiên các bạn cần mở file gamemode.pwn theo dường dẩn gamemode/[Tên_gamemode].pwn bằng pawno .

Các bạn add command để sử dụng dialog vào , bằng đoạn code :

if(!strcmp(cmdtext, "/thucan", true))
{
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Ban co muon mua thuc an khong ?", "Ga Ran($1)\nPizza ($2)\nCom ($3)", "Mua", "Thoat");
    return 1;
}

 

Code để start dialog là ShowPlayerDialog , trong đó  bạn phải chọn style dialog thích hợp cho từng chức năng mà bạn muốn tạo .

Những STYLE của dialog bao gồm :

  • DIALOG_STYLE_MSGBOX
  • DIALOG_STYLE_INPUT
  • DIALOG_STYLE_LIST
  • DIALOG_STYLE_PASSWORD
  • DIALOG_STYLE_TABLIST
  • DIALOG_STYLE_TABLIST_HEADERS

 

Tham khảo thêm thông tin và hình ảnh về style dialog tại đây nhé

Code mình đã add ở phía trên có chức năng khi bạn /thucan thì nó sẽ thông báo dialog để chúng ta biết loại thức ăn nào để lựa chọn nhanh chóng , code ở phía trên tôi đã sử dụng style DIALOG_STYLE_LIST

 

dialog_style_list

Bước 2 :

Bạn add thẳng code vào pawno , sau đó thêm callback OnDialogResponse bằng đoạn code sau :

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
    {
    switch(dialogid)/
        {
		case 1:// 
    	    {
           	switch(listitem)// 
        	{
        	    case 0:// item dau  Ga ran
        	    {
        	        if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
        	        GivePlayerMoney(playerid, -1);
        	        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
        	    }
        	    case 1: // item 2 Pizza
        	    {
        	        if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
        	        GivePlayerMoney(playerid, -2);
        	        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
        	    }
        	    case 2: // Item 3 Com
        	    {
        	        if(GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
        	        GivePlayerMoney(playerid, -3);
        	        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
        	    }
        	}
    	    }
	}
    }
    return 1;
}

Các case 0 , case 1 , case 2 lần lượt là 3 item chúng ta đã add vào như Gà Rán , Pizza, Cơm .

Khi đã click vào item nó sẽ thực hiện chức năng mà bạn đã add vào , ví dụ như :

case 0:// item dau  Ga ran
        	    {
        	      Bạn add những chức năng khi sử dụng item vào . // khoảng trống
        	    }

Khoảng trống trên chính là nơi bạn add fuction cho item vào nhé . Case 1 , case 2 cũng tương tự như trên .

Bước 3 : 

Để hoàn thành dialog vừa mới add , các bạn Compiler bằng cách F5 và vào game sử dụng dialog vừa mới add .

Nếu các bạn có thắc mắc hãy comment dưới đây hoặc truy cập vào diển đàn để được trợ giúp nhanh chóng và chính xác nhất .

Video tham khảo 

Chúc các bạn thành công .

 

 

 

Hướng dẩn tạo Dialog Menu cho server
5 1 vote[s]

Hướng dẩn tất cả những thủ thuật mà tôi biết được . Hy vọng sẽ giúp được mọi người hiểu biết nhiều samp và chia sẽ vps free .

Comments (No)

Leave a Reply