Pregunta.
#1

Hola, estoy trabajando mediante Filterscripts para un determinado sistema, pero me olvidй cуmo evitar que los diбlogos del FS se mezclen con los del gamemode.

їQuй habrнa que hacer?
Reply
#2

Respuesta.







Pues mira que no estйn con el mismo id, pero mejor podrнa ser meter los dialog de fs al gamemode.
Reply
#3

No soy muy bueno en pawn pero creo que debes colocar #if defined FILTERSCRIPT en el principio del Filterscript (un espacio luego del ъltimo include) y #endif al final del Gamemode, creo.
Reply
#4

Solo debes hacer lo que te dice jotajeda cambiar los ids de los dialgs por ejemplo yo en los filterscripts uso ids elevadas por ejemplo #define SPRAYTAG_EDIT_MAIN (9809) el 9809 es la id ves puedes usar cualquier id siempre y cuando no este usada por una en tu gm
Reply
#5

Con cuerdo con lo que dice maicolpao y Jotajeda.
Reply
#6

Solo fijate que los ids de los dialogs del tu FS no sean los mismos que tengas con los dialogs de tu GM
o de Otros Fs
Reply
#7

Como te han dicho, asegъrate de que no estйs usando el mismo ID en tus diбlogos. Otra manera de hacerlo serнa retornando 0 en todos los scripts en los que uses OnDialogResponse, de forma que te quede mбs o menos asн:

GM.pwn
pawn Код:
#include <...>

#define ...

public OnDialogResponse(...)
{
   ...
   return 0;
}

FS.pwn
pawn Код:
#define FILTERSCRIPT

#include <...>

#define ...

public OnDialogResponse(...)
{
   ...
   return 0;
}
O podrнas ahorrarte esos dolores de cabeza y usar alguno de los includes que hay en el foro como easyDialog, es muy fбcil de usar. - Pero si eres de los que les encanta "optimizar" su cуdigo, te recomiendo y_dialogs (tutorial).
Reply
#8

Eso lo sй, pero no utilizo nъmeros para definir los diбlogos. Es decir por ejemplo:

pawn Код:
enum
{
    showAnounceVehicle,
    showPlayerVehicles,
};
Esa es la definiciуn de los diбlogos y asн estбn en OnDialogResponse.

pawn Код:
switch( dialogid )
    {
        case showAnounceVehicle:
        {
            if( !response )
            {
                //Funciуn.
            }
            else cmd_comprarvehiculo( playerid );
       }
Aъn asн se mezclan.
Reply
#9

Por supuesto que sн.. retornan cero.. Si no se mezclasen con Filterscripts se mezclarнan con su mismo cуdigo. Tienes que setear un valor a las variables del enumerador, a mi recomendaciуn es que si lo harбs asн utilices operadores Bitwise que te harнa la vida mбs fбcil o hagas un "procesador" de diбlogos haciendo un cуdigo asн como el de ZCMD para hacerlo por Callbacks sin preocupaciуn de definirle un nъmero.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)