SA-MP Forums Archive
Pregunta. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Pregunta. (/showthread.php?tid=560276)



Pregunta. - jwalker - 27.01.2015

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?


Respuesta: Pregunta. - jotajeda - 27.01.2015

Respuesta.







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


Respuesta: Pregunta. - Wayzzar - 27.01.2015

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.



Respuesta: Pregunta. - maicolpao - 27.01.2015

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


Re: Pregunta. - Choidito - 27.01.2015

Con cuerdo con lo que dice maicolpao y Jotajeda.


Respuesta: Pregunta. - gaara13 - 28.01.2015

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


Respuesta: Pregunta. - hotspicytaco - 28.01.2015

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


Respuesta: Pregunta. - jwalker - 28.01.2015

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.


Respuesta: Pregunta. - Zume - 28.01.2015

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.