PEMBERITAHUAN: INI ADALAH REPOSITORI HASIL MODIFIKASI
Versi easyDialog ini adalah hasil fork dari repositori asli milik Awsomedude/easyDialog. Modifikasi ini dikelola oleh tim Revolution Multiplayer untuk menambahkan dukungan dan perbaikan fitur yang spesifik.
- ✅ Dukungan Penuh SA-MP 0.3.7-R2
Include ini sekarang kompatibel penuh dengan
samp-stdlibstandar yang digunakan pada server SA-MP versi 0.3.7-R2, menghilangkan warning dan memastikan fungsionalitas yang modern. - ✅ Perbaikan Bug Klien Android Memperbaiki masalah krusial di mana dialog akan muncul kosong (empty dialog) saat ditampilkan kepada pemain yang menggunakan klien SA-MP Android 0.3.7.
The purpose of this include is to make dialogs easier to use in general.
Imagine having over 100 dialog checks under OnDialogResponse. It's just too messy and most of the time, it's unorganized and harder to look for certain dialogs for future editing, and remembering certain dialog ID's can be a pain in the ass.
However, easyDialog.inc fixes that by introducing a "named dialog feature" which allows scripters to declare a dialog by name, rather than ID.
| Feature | OnDialogResponse | easyDialog.inc |
|---|---|---|
| Crash Proof | No | Yes |
| Named Dialogs | No | Yes |
| Calling a dialog manually | No | Yes |
| Custom callback for handling | No | Yes |
Show dialog to player
Dialog_Show(playerid, dialog, style, caption[], info[], button1[], button2[], {Float,_}:...);Closes any opened dialogs.
Dialog_Close(playerid);Returns 1 if the dialog is opened for the specified player.
Dialog_Opened(playerid);This callback is called before a dialog is shown to a player (using Dialog_Show, that is). Returning 0 under this callback will prevent the dialog from working.
public OnDialogPerformed(playerid, const dialog[], response, success) {
return 1;
}CMD:weapons(playerid, params[]) {
Dialog_Show(playerid, WeaponMenu, DIALOG_STYLE_LIST, "Weapon Menu", "9mm\nSilenced 9mm\nDesert Eagle\nShotgun\nSawn-off Shotgun\nCombat Shotgun", "Select", "Cancel");
return 1;
}
Dialog:WeaponMenu(playerid, response, listitem, inputtext[]) {
if (response) {
new str[64];
format(str, 64, "You have selected the '%s'.", inputtext);
GivePlayerWeapon(playerid, listitem + 22, 500);
SendClientMessage(playerid, -1, str);
}
return 1;
}
public OnDialogPerformed(playerid, const dialog[], response, success) {
if (!strcmp(dialog, "WeaponMenu") && IsPlayerInAnyVehicle(playerid)) {
SendClientMessage(playerid, -1, "You must be on-foot to spawn a weapon.");
return 0;
}
return 1;
}Emmet_ - for easyDialog Southclaws - for sampctl AliLogic - for const correction MichelDev - for fix (open.mp rc2)