[ayuda]dialog.
#1

Hola bueno soy nuevo, y estoy empezando a hacer dialog, bueno tengo este problema:

pawn Код:
if ( response )
    {
        switch ( dialogid )
        {
            case 1 :
            {
                switch ( listitem )
                {
                case 0 : ShowPlayerDialog( playerid, 2, DIALOG_STYLE_LIST,"Desert Eagle/n9MM/n9MM Silenciada","Aceptar","cancelar");
                case 1 : ShowPlayerDialog( playerid, 3, DIALOG_STYLE_LIST,"MP5/nTec/nMicro","aceptar""cancarlar");
                case 2 : ShowPlayerDialog( playerid, 4, DIALOG_STYLE_LIST,"m4/nak-47","Aceptar","Cancelar");
                }
             }
             case 2:
             {
              if ( listitem == 0 )
                {
                    GivePlayerWeapon(playerid, 24, 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Desert!");
                }
               
              if ( listitem == 1 )
                {
                    GivePlayerWeapon(playerid, 22 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su 9mm!");
                }
              if ( listitem == 2 )
                {
                    GivePlayerWeapon(playerid, 23 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su 9mm silenciada!");
                }
             if ( listitem == 3 )
                {
                    GivePlayerWeapon(playerid, 29 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su MP5!");
                }
            if ( listitem == 4 )
                {
                    GivePlayerWeapon(playerid, 32 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Tec!");
                }
            if ( listitem == 5 )
                {
                    GivePlayerWeapon(playerid, 28 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Micro!");
                }
            if ( listitem == 6 )
                {
                    GivePlayerWeapon(playerid, 31 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su M4!");
                }
            if ( listitem == 7 )
                {
                    GivePlayerWeapon(playerid,  30, 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su AK-47!");
                }
            }
        }
        return 1;
        }
Me tiran estos errores:

Код:
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1132) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1134) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1136) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1138) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1140) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1141) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1142) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1145) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1147) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1153) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1158) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1163) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1168) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1173) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1178) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1183) : error 010: invalid function or declaration
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 (www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1190) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


17 Errors.
Y lo otro es como poner textos flotantes, es decir por ejemplo en la puerta de un lugar diga "Escribe /entrar para ingresar al sitio" o cosas asн. Espero que me puedan ayudar, saludos.
Reply
#2

Para hacerlo mas visual por favor... Cambia [CODE][\CODE] por [PAWN][\PAWN]
Reply
#3

Tus problemas estaban en los dialogos que creaste.

pawn Код:
case 1 : ShowPlayerDialog( playerid, 3, DIALOG_STYLE_LIST,"MP5/nTec/nMicro","aceptar""cancarlar"); // Aqui tienes un "·" antes de la comilla de cancarlar. Tambien te falta un parametro que es el titulo del dialogo.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (response)
    {
        switch (dialogid)
        {
            case 1:
            {
                switch (listitem)
                {
                    case 0: ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "ARMAS", "Desert Eagle/n9MM/n9MM Silenciada", "Aceptar", "Cancelar");
                    case 1: ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, "ARMAS", "MP5/nTec/nMicro", "Aceptar", "Cancelar");
                    case 2: ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "ARMAS", "m4/nak-47", "Aceptar", "Cancelar");
                }
            }
            case 2:
            {
                if (listitem == 0)
                {
                    GivePlayerWeapon(playerid, 24, 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Desert!");
                }

                if (listitem == 1)
                {
                    GivePlayerWeapon(playerid, 22 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su 9mm!");
                }
                if (listitem == 2)
                {
                    GivePlayerWeapon(playerid, 23 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su 9mm silenciada!");
                }
                if (listitem == 3)
                {
                    GivePlayerWeapon(playerid, 29 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su MP5!");
                }
                if (listitem == 4)
                {
                    GivePlayerWeapon(playerid, 32 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Tec!");
                }
                if (listitem == 5)
                {
                    GivePlayerWeapon(playerid, 28 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su Micro!");
                }
                if (listitem == 6)
                {
                    GivePlayerWeapon(playerid, 31 , 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su M4!");
                }
                if (listitem == 7)
                {
                    GivePlayerWeapon(playerid,  30, 9999);
                    SendClientMessage(playerid, COLOR_YELLOW, "Disfrute de su AK-47!");
                }
            }
        }
    }
    return 1;
}
Reply
#4

Muchas gracias, ya no me aparece el error, solo que en el juego me pasa esto:
Reply
#5

Porque las barras la puso para el otro lado. Siempre que hagas una barra, proba de presionar Alt Gr + la tecla que estб debajo del Esc.

\ ← esa es la barra
Reply
#6

Muchas gracias, ahora lo que me pasa es que la primer categorнa de armas anda bien pero el resto no, no me pone el arma ni el mensaje.
Reply
#7

Mira ahora quise hacer otro en el mismo callback y me aparece este error:

pawn Код:
C:\Users\Nestor\Desktop\Alci's IMG Editor 1.5 ([url]www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1169[/url]) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Nestor\Desktop\Alci'
s IMG Editor 1.5 ([url]www.mods-gtasa.blogspot.com)\Server\gamemodes\prueba.pwn(1169[/url] -- 1170) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Este es el script (los mensajes aun los tengo que modificar pero no creo que sea eso):

pawn Код:
if (response)
    {
        switch (dialogid)
        {
            case 1:
            {
                switch (listitem)
                {
               
                  if (listitem == 0)
                  {
               
                      SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
                      SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");

                   }



                 if (listitem == 1)
                {
                SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
                SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");
                }
               
                if (listitem == 2)
                {
                SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
                SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");
                }

                if (listitem == 3)
                {
                SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
                SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");
                }

                if (listitem == 4)
                {
                SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
                SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");
                }
                 if (listitem == 5)
                {
                SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
                SendClientMessage(playerid,-1,"Cambiaste tu estilo de pelea a {00FF40}boxeo {FFFFFF}para volver al estilo de pelea normal pon {FFFF00}/estilos.");
                }

               }
            }
        }
    return 1;
  }
Reply
#8

Te explico como es. Primero definimos el dialogo

PHP код:
#define Arma 100 //Esto sirve para controlar los dialogos asi no te confundis y tenes varios dialogos con el mismo numero 
Luego el comando

PHP код:
CMD:armas(playeridparams[])
{                                                    
  
ShowPlayerDialog(playeridArmasDIALOG_STYLE_LIST"Lista de Packs""Texto1\nTexto2\nTexto3""Ok""Cancelar");
  return 
1;

Explicacion:
ShowPlayerDialog(playerid, Armas, DIALOG_STYLE_LIST, "Lista de armas"

Armas: Es el numero q le asigne al #Define
DIALOG_STYLE_LIST: Aparecera en forma de Lista.
Lista de Packs: es el nombre q aparece en la cabeza de la box.

Ahora para q aparezca un texto debajo de otro texto, tienes q usar "/n"(sin comillas)
por ejemplo

PHP код:
ShowPlayerDialog(playeridArmasDIALOG_STYLE_LIST"Lista de Packs""Texto1\nTexto2\nTexto3""Ok""Cancelar"); 
Ahora vamos al public OnDialogResponse

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
  if(
dialogid == Armas)//comienza el dialogo
  
{
     if(
response)
     {
       if(
listitem == 0//corresponde al Texto 1
       
{
          
SendClientMessage(playerid,Color_No,"Hola, Soy el texto 1");
          
//agregar mas funciones como armas o lo q quieras
       
}
       if(
listitem == 1//corresponde al Texto 2
       
{
          
SendClientMessage(playerid,Color_No,"Hola, Soy el texto 2");
          
//agregar mas funciones como armas o lo q quieras
       
}
       if(
listitem == 2//corresponde al Texto 3
       
{
          
SendClientMessage(playerid,Color_No,"Hola, Soy el texto 3");
          
//agregar mas funciones como armas o lo q quieras
       
}
     }
  }
//Finaliza el dialogo
  
return 1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)