Jump to content

Recommended Posts

  

easyDialog.inc

sampctl

Tentang

easyDialog adalah sebuah include yang sering banyak orang pakai karena sangat mudah untuk membuat sebuah dialog dengan gampang, ditambah versi ini lebih mempermudah kalian membuat dialog dengan native dari samp yaitu `ShowPlayerDialog`.

Selain itu, easyDialog versi ini juga ditambah dengan fitur seperti `IsPlayerDialogOpened` dan `ClosePlayerDialog` yang memudahkan kalian untuk melakukan pengecekan dan penutupan dialog tanpa melakukannya secara manual.

Fitur yang paling terbaru dari include ini adalah, kalian sekarang dapat mendeklarasi dialog response dengan argumen sesuka hati berkat code-parse.inc.

 

Cara Install

Cukup ketikkan perintah di bawah ini jika kalian memiliki sampctl:

sampctl package install Aiuraa/easyDialog

Atau download secara manual dengan menekan link ini.

 

Setelah itu, kalian bisa mulai memakai nya dengan memasukkan kode ini kedalam skrip kalian:

#include <easyDialog>

 

List Fungsi

Callback:

// terpanggil ketika pemain telah melakukan sesuatu kepada dialog yang dibuka (Seperti menekan tombol ESC, menekan tombol "YES", dll)
forward OnDialogPerformed(playerid, const string:dialog[], response, bool:success)


Fungsi:

// Menampilkan dialog dengan nama fungsi seperti `ShowPlayerDialog(playerid, NamaDialog, ...);`
forward ShowPlayerDialog(playerid, nama_dialog, style, const string:caption[], const string:info[], const string:button1[], const string:button2[]);

// Sama seperti diatas, namun dengan formatting (memerlukan y_va untuk menggunakan fungsi ini)
forward ShowPlayerDialogFormatted(playerid, nama_dialog, style, const string:caption[], const string:info[], const string:button1[], const string:button2[], {Float, _}:...);

// Mengecek apakah pemain sedang membuka dialog tersebut
forward IsPlayerDialogOpened(playerid);

// Menutup dialog yang ditampilkan pemain secara paksa
forward ClosePlayerDialog(playerid);

 

Cara Pakai

#include <easyDialog>
  
CMD:weapons(playerid, params[])
{
    ShowPlayerDialog(playerid, WeaponMenu, DIALOG_STYLE_LIST, 
        "Weapon Menu", 
        "9mm\nSilenced 9mm\nDesert Eagle\nShotgun\nSawn-off Shotgun\nCombat Shotgun", 
        "Select", "Cancel"
    );
    return 1;
}

public OnDialogPerformed(playerid, const string:dialog[], response, success)
{
    if (!strcmp(dialog, "WeaponMenu") && IsPlayerInAnyVehicle(playerid))
    {
        SendClientMessage(playerid, -1, "Kamu harus tidak berada di kendaraan untuk menggunakan perintah ini.");
        return 0;
    }
    return 1;
}

DialogResponse WeaponMenu(playerid, response, listitem, string:inputtext[])
{
    if (response)
    {
        new str[64];
        format(str, 64, "Kamu telah memilih '%s'.", inputtext);

        GivePlayerWeapon(playerid, listitem + 22, 500);
        SendClientMessage(playerid, -1, str);
    }
    return 1;
}

 

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...