samp.directory
← Scripts y librerías

Awsomedude/easyDialog

easyDialog include by Emmet_

Librería★ 36actualizado hace 3 díasSin licenciaPawnsampctl
Abrir en GitHub

Este repositorio no tiene archivo de licencia. Se puede leer, pero eso por sí solo no da permiso para reutilizarlo.

Instalar con sampctl

sampctl package install Awsomedude/easyDialog

Ejecútalo en la carpeta de tu proyecto. sampctl descarga el paquete y sus dependencias.

Depende de 1 paquete

README.md

easyDialog

Note: You must use https://github.com/openmultiplayer/omp-stdlib otherwise, you'll get more warnings!!

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.

FeatureOnDialogResponseeasyDialog.inc
Crash ProofNoYes
Named DialogsNoYes
Calling a dialog manuallyNoYes
Custom callback for handlingNoYes

Functions

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);

Callback

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;
}

Example

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;
}

Credits

Emmet_ - for easyDialog Southclaws - for sampctl AliLogic - for const correction MichelDev - for fix (open.mp rc2)

Esta página se genera con lo que GitHub publica sobre el repositorio. samp.directory no aloja el código. Informar de un problema con esta ficha

Awsomedude/easyDialog: Librería de SA-MP | samp.directory