[Ayuda] Como puedo pasar esto a dialog?
#1

Bueno como bien dice el tнtulo, me gustarнa pasar el comando /ayuda a diбlogo.

PHP код:
    zcmd(ayudaplayeridparams[])
    {
        new 
item[32];
        if(!
sscanf(params"s"item))
        {
            if        (
strcmp(item,    "faccion",        true) == 0)               Ayuda(playerid0);
            else if    (
strcmp(item,    "chat",            true) == 0)               Ayuda(playerid1);
            else if    (
strcmp(item,    "general",        true) == 0)               Ayuda(playerid2);
            else if    (
strcmp(item,    "lider",        true) == 0)               Ayuda(playerid3);
            else if    (
strcmp(item,    "trabajo",        true) == 0)               Ayuda(playerid4);
            else if    (
strcmp(item,    "telefono",        true) == 0)               Ayuda(playerid5);
            else if    (
strcmp(item,    "casa",            true) == 0)               Ayuda(playerid6);
            else if    (
strcmp(item,    "vehiculo",        true) == 0)               Ayuda(playerid7);
            else if    (
strcmp(item,    "garaje",        true) == 0)               Ayuda(playerid8);
            else if    (
strcmp(item,    "banco",        true) == 0)               Ayuda(playerid9);
            else if    (
strcmp(item,    "premium",        true) == 0)               Ayuda(playerid10);
            else if    (
strcmp(item,    "matrimonio",    true) == 0)               Ayuda(playerid11);
            else if    (
strcmp(item,    "armas",        true) == 0)               Ayuda(playerid12);
            else if    (
strcmp(item,    "familia",        true) == 0)               Ayuda(playerid13);
            else if    (
strcmp(item,    "pesca",        true) == 0)               Ayuda(playerid14);
        }
        else
        {
            
SendClientMessageEx(playerid0x2641FEAA"[USO]: {FFFFFF}/ayuda [Nombre]");
            
SendClientMessageEx(playerid0x2641FEAA"{FFFFFF}General, Concesionario, Trabajo, Chat, Lider, Telefono, Casa, Premium");
            
SendClientMessageEx(playerid0x2641FEAA"{FFFFFF}Vehiculo, Banco, Garaje, Matrimonio, Armas, Pesca, Familia y Faccion");
        }
        return 
1;
    } 
PHP код:
Ayuda(playeridtip)
{
    switch(
tip)
    {
        case 
0:
        {
            if(
IsAPolice(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Departamento de Policнa");
                
SendClientMessageEx(playeridCOLOR_WHITE"/radio /r /d (/m)egafono /su /ta(zer) /limpiarcamion /vmaletero /ram /luces /esposar /qesposas /placaex");
                
SendClientMessageEx(playeridCOLOR_WHITE"/quitar /multar /detener /bk /bkc (/tlc) /miranda /bar /qb /placa /embargar /tgunmaletero /pspikes /qspikes");
                
SendClientMessageEx(playeridCOLOR_WHITE"/limpiar /sospechosos /sapddiv /verllaves /vcoche /dejarmulta /sapd /arrestar /destruirplanta /radargun");
            }
            else if(
Team_SAMD(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Equipo SAMD");
                
SendClientMessageEx(playeridCOLOR_WHITE"/placa /duty (/r)adio (/d)epartaments /subirpt /dejarpt /curar /irpt /placaex");
            }
            else if(
Team_Mecanicos(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Los Santos Customs");
                
SendClientMessageEx(playeridCOLOR_WHITE"/menu /mduty /nitro /suspension /venderspray /remolcar /reparar /recargar");
            }
            else if(
Hitman(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Sicarios");
                
SendClientMessageEx(playeridCOLOR_WHITE"/buscar /acontrato /darhit /hrangos /pcontrato /equipo /darmehit /hits");
                
SendClientMessageEx(playeridCOLOR_WHITE"Nota: Se les ruega usar nombres en clave TS3 como: AG15 - Agente 15, etc.");
            }
            else if(
Team_NG(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"SAEM");
                
SendClientMessageEx(playeridCOLOR_WHITE"/misil [En la torre de control] /vestuario (/r)adio (/d)epartment (/m)egбfono (/ta)zer /tgunmaletero /placaex");
                
SendClientMessageEx(playeridCOLOR_WHITE"/revisar /bar /placa /qb /esposar /qesposas /gob /limpiarcamion /vmaletero /(q)(p)spikes /detener /prision");
                
SendClientMessageEx(playeridCOLOR_WHITE"Div Mйdicos: /dejarpt - /subirpt");
            }
            else if(
Team_LSTV(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"FOX");
                
SendClientMessageEx(playeridCOLOR_WHITE"/nr (Noticias) - /entrevista /f /apgarage");
            }
            else if(
Gobierno(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Gobierno");
                
SendClientMessageEx(playeridCOLOR_WHITE"/equipo (/gob)ierno /impuesto /sfondos /dfondos /gobdiv /apgarage");
            }
            else if(
Pandilleros(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Banda");
                
SendClientMessageEx(playeridCOLOR_WHITE"/f /robar(persona o 24/7)/vendar /atar /Equipo (En su HQ)");
            }
            if(
Team_ALQ(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_WHITE"/mgob /atentado /cbomba(Solo en el ayuntamiento) - /detonar(Activar la Bomba) /f /atar /vendar /equipo (En su HQ)");
                
SendClientMessageEx(playeridCOLOR_WHITE"/comprarbomba(Dentro de la HQ Al-qaeda, vale 30.000$) - /venderc4(Se vende por 10.000 $) - /verbombas");
                
SendClientMessageEx(playeridCOLOR_WHITE"");
            }
            if(
Team_ZR(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Zona Roja");
                
SendClientMessageEx(playeridCOLOR_WHITE"/atentado /mgob(mafiagobierno) /f /atar /vendar");
            }
            else if(
NedFor(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Need For Speed");
                
SendClientMessageEx(playeridCOLOR_WHITE"/f /robar(persona o 24/7) /vendar /atar /Equipo (En su HQ)");
            }
            else if(
NoDuty(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Sistema Judicial");
                
SendClientMessageEx(playeridCOLOR_WHITE"(/r)adio (/d)epartments /orden /qorden /multajudicial /scarcel /sprision /buscados");
                
SendClientMessageEx(playeridCOLOR_WHITE"/juicio /librarcargos /recompensa /verjuicios /revertir /presentar");
            }
            else if(
Team_LCN(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"La Cosa Nostra");
                
SendClientMessageEx(playeridCOLOR_WHITE"/equipo (En su HQ) /f /atar /vendar /robar (persona o 24-7)");
            }
            else if(
Team_FBI(playerid))
            {
                
SendClientMessageEx(playeridCOLOR_GENERAL"Federal Bureau of Investigation");
                
SendClientMessageEx(playeridCOLOR_WHITE"(/r)adio (/d)epartments (/m)egaphone (/su)spect /duty /esposar (/ta)zer /vmaletero /fbi /arrestar");
                
SendClientMessageEx(playeridCOLOR_WHITE"/revisar /cachearinv /quitar /multar /detener /miranda /encontrar /encontrarveh /esposar /qesposas");
                
SendClientMessageEx(playeridCOLOR_WHITE"/placa  (/ant)ecedente (/su)spect /limpiar /sospechosos /fbidiv /tgunmaletero /ram /placaex /luces");
            }
        }
        case 
1:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Chat");
            
SendClientMessageEx(playeridCOLOR_WHITE"Comandos IC:  /g /s /me /do /intentar");
            
SendClientMessageEx(playeridCOLOR_WHITE"Comandos OOC: /b /w /f");
        }
        case 
2:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - General");
            
SendClientMessageEx(playeridCOLOR_LIGHTBLUE,   "[ADMINISTRACIУN] /re /reportar /reportarbug /tipduda /retips /ayudame /duda");
            
SendClientMessageEx(playeridCOLOR_WHITE,   "[TU] /cuenta /inventario /subirnivel /cambiarclave /misarmas /tirar /mostrar /documentos");
            
SendClientMessageEx(playeridCOLOR_WHITE,   "[CMD'S] /ayudarol /pagar /hora /id /cfumar /cropa /licencias /ven /dararma /tirararma");
            
SendClientMessageEx(playeridCOLOR_WHITE,   "[CMD'S] /apgarage /cpgarage /togduda /togooc /tognews /togfam /togphone /darcheque /seguro");
            
SendClientMessageEx(playeridCOLOR_WHITE,   "[CMD'S] /eject /usarcrack /usarhierba /llenar /moneda /dar /numero /stopanim /acciones");
        }
        case 
3:
        {
            if(
Info[playerid][pLeader] < 1) return SendClientMessageEx(playeridCOLOR_GRAD2"ЎNo eres lнder de una facciуn!");
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Lнder");
            
SendClientMessageEx(playeridCOLOR_WHITE"/contratar /despedir /darrango");
        }
        case 
4:
        {
            switch(
Info[playerid][pJob])
            {
                case 
1SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Bartender {0099CC}- {FFFFFF}/venderbebida");
                case 
2SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Barrendero {0099CC}- {FFFFFF}/barrer /dbarrer");
                case 
3SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Telйfonos {0099CC}- {FFFFFF}/vendertelefono");
                case 
4SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Ladrуn {0099CC}- {FFFFFF}/robar /robarcasa /dejarrobo");
                case 
5SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}PizzaBoy {0099CC}- {FFFFFF}/tomarpizza [En el parking de las PizzaBikes]");
                case 
6SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Drogas {0099CC}- {FFFFFF}/vendercrack /venderhierba /comprarcrack /comprarhierba /plantar /checkplanta /sacarplanta");
                case 
7SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Camionero {0099CC}- {FFFFFF}/cargarcamion /robarcamion /skill");
                case 
8SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Armas {0099CC}- {FFFFFF}/creararma /dararma /materiales /vendermateriales /skill");
                case 
9SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Taxista {0099CC}- {FFFFFF}/tarifa /aceptar taxi /cancelar taxi");
                case 
10SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Cosechador {0099CC}- {FFFFFF}/cosechar /dcosechar /vendercosecha");
                case 
11SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Traficante {0099CC}- {FFFFFF}/paquete /skill");
                case 
12SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Guardaespaldas {0099CC}- {FFFFFF}/proteccion");
                case 
13SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Mecбnico {0099CC}- {FFFFFF}/reparar /recargar /mecaduty /fix");
                case 
14SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Artesano {0099CC}- {FFFFFF}/crear /materiales /vendermateriales");
                default: 
SendClientMessageEx(playeridCOLOR_GRAD2"ЎNo tienes un trabajo!");
            }
            switch(
Info[playerid][pJob2])
            {
                case 
1SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Bartender {0099CC}- {FFFFFF}/venderbebida");
                case 
2SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Barrendero {0099CC}- {FFFFFF}/barrer /dbarrer");
                case 
3SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Telйfonos {0099CC}- {FFFFFF}/vendertelefono");
                case 
4SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Ladrуn {0099CC}- {FFFFFF}/robar /robarcasa /dejarrobo");
                case 
5SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}PizzaBoy {0099CC}- {FFFFFF}/tomarpizza [En el parking de las PizzaBikes]");
                case 
6SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Drogas {0099CC}- {FFFFFF}/vendercrack /venderhierba /comprarcrack /comprarhierba /plantar /checkplanta /sacarplanta");
                case 
7SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Camionero {0099CC}- {FFFFFF}/cargarcamion /robarcamion /skill");
                case 
8SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Vendedor de Armas {0099CC}- {FFFFFF}/creararma /dararma /materiales /vendermateriales /skill");
                case 
9SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Taxista {0099CC}- {FFFFFF}/tarifa /aceptar taxi /cancelar taxi");
                case 
10SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Cosechador {0099CC}- {FFFFFF}/cosechar /dcosechar /vendercosecha");
                case 
11SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Traficante {0099CC}- {FFFFFF}/paquete /skill");
                case 
12SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Guardaespaldas {0099CC}- {FFFFFF}/proteccion");
                case 
13SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Mecбnico {0099CC}- {FFFFFF}/reparar /recargar /mecaduty /fix");
                case 
14SendClientMessageEx(playeridCOLOR_WHITE"{00FF00}Artesano {0099CC}- {FFFFFF}/crear /materiales /vendermateriales");
            }
        }
        case 
5:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Telйfono");
            
SendClientMessageEx(playeridCOLOR_WHITE"/llamar /sms /altavoz /colgar /numero");
        }
        case 
6:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Casa");
            
SendClientMessageEx(playeridCOLOR_WHITE"/comprarcasa /rentar /desrentar /timbre /vendermicasa /cajaestado /cseguro");
            
SendClientMessageEx(playeridCOLOR_WHITE"/vendercasa /vendercasa2 /ponerrenta /preciorenta /sarma /garma /cdepositar /cretirar /cmejorar");
        }
        case 
7:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Vehiculo");
            
SendClientMessageEx(playeridCOLOR_WHITE"/estacionar /casco /cinturon /v [nombre] /removertunning /seguro /gunlocker");
            
SendClientMessageEx(playeridCOLOR_WHITE"/vendermicoche /borrarmicoche /llenar /smaletero /gmaletero /darllave /quitarllave");
        }
        case 
8:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Garaje");
            
SendClientMessageEx(playeridCOLOR_GRAD2"/comprargaraje /vendergaraje /entrarg /salirg /gseguro");
        }
        case 
9:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Banco");
            
SendClientMessageEx(playeridCOLOR_GRAD2"/abrircuenta /atm");
        }
        case 
10:
        {
            if(
Info[playerid][pVIP] == 0) return SendClientMessageEx(playeridCOLOR_GRAD2"ЎNo eres VIP!");
            
SendClientMessageEx(playeridCOLOR_WHITE"Ayuda - Premium");
            if(
Info[playerid][pVIP] >= 1)
            {
                
SendClientMessageEx(playeridCOLOR_VIP"/invitaramigo /viplocker /venderfichasvip /togvip /automensaje");
                
SendClientMessageEx(playeridCOLOR_VIP"/ayudafichas /togphone /vip /spawncasa");
            }
        }
        case 
11:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Matrimonio");
            
SendClientMessageEx(playeridCOLOR_WHITE"/testigo /proponer /divorcio");
        }
        case 
12:
        {
              
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Armas");
            
SendClientMessageEx(playeridCOLOR_WHITE"/tirararma /recogerarma /dararma /aceptar <arma> /cancelar <arma>");
        }
        case 
13:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Familia");
            if (
Info[playerid][pFMember] != 255)
            {
                
SendClientMessageEx(playeridCOLOR_WHITE"/festado - /familias - /fdepositar - /fretirar - /cfdepositar - /fropa - /salirfamilia");
                
SendClientMessageEx(playeridCOLOR_WHITE"/fsarma - /fgarma - (Lider: /ajustar -  /ajustarrango - /anombrerango)");
                
SendClientMessageEx(playeridCOLOR_WHITE"/fseguro - /festacionar - /famllaves - /fcomprarseguro -> (En un 24/7)");
            }
            else 
SendClientMessageEx(playeridCOLOR_GENERAL"ЎNo eres parte de una familia o banda!");
        }
        case 
14:
        {
            
SendClientMessageEx(playeridCOLOR_GENERAL"Ayuda - Sistema de Pesca");
             
SendClientMessageEx(playeridCOLOR_WHITE"/liberarpez - /venderpez - /pescar");
             
SendClientMessageEx(playeridCOLOR_WHITE"/comprar - En la Tienda del Puerto.");
        }
    }
    return 
1;

Gracias de antemano
Reply
#2

Debes usar un dialogo del tipo DIALOG_STYLE_LIST, en el callback OnDialogResponse se crea un switch de acuerdo a la opciуn que eligiу se llama a la funciуn que creaste Ayuda(playerid, tip).

Ejemplo:
Код:
#define DIALOGO_ID 1 //Cambiarlo de acuerdo a tus dialogos.

zcmd(ayuda, playerid, params[]) 
{
  ShowPlayerDialog(playerid, DIALOGO_ID, DIALOG_STYLE_LIST, "Ayuda", "Facciуn\nChat\nGeneral\nLider...", "Seleccionar", "Cancelar");
  return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
  switch(dialogid) //Probablemente en tu GM estйs usando un switch y no condiciones.
   {
    case DIALOGO_ID:
     {
      if(response) //Si se cliqueу "Seleccionar" o se hizo doble click sobre alguna de las opciones.
       {
        switch(listitem) //Se realiza un switch y de acuerdo a la opciуn seleccionada se llamarб a la funciуn.
         {
          //Agrega los restantes.
          case 0: Ayuda(playerid, 0); //Se mostrarб la informaciуn de FACCIУN. 
          case 1: Ayuda(playerid, 1); //Se mostrarб la informaciуn de CHAT.
          case 2: Ayuda(playerid, 2); //Se mostrarб la informaciуn GENERAL.
         }
       }
     }
  }
  return 1;
}
Si quieres que la informaciуn de ayuda se muestre en un dialogo usa la funciуn Strcat.
Код:
//Ejemplo de uso de Strcat.
#define DIALOGO_ID_INFO 2 //Cambiarlo de acuerdo a tus diбlogos y lista de informaciуn.

Ayuda(playerid, tip) 
{ 
  switch(tip) 
   { 
    case 0: 
     {
      new Texto[150]; //El valor de la cadena dependerб de la cantidad de caracteres de tu texto.
      strcat(Texto, "Comandos de la facciуn Policнa:\n");
      strcat(Texto, "/radio /r /d (/m)egafono /su /ta(zer) /limpiarcamion /vmaletero /ram /luces /esposar /qesposas /placaex\n");
      ShowPlayerDialog(playerid, DIALOGO_ID_INFO, DIALOG_STYLE_MSGBOX, "Departamento de Policнa", Texto, "Aceptar", "");
     }
  } 
  return 1;
}
Reply
#3

Vale gracias, pero tengo una ultima pregunta, para cada case tengo que crear un new?

Es decir, tengo esto:

PHP код:
Ayuda(playeridtip

  switch(
tip
   { 
    case 
0
     {
      new 
Texto[150]; //El valor de la cadena dependerб de la cantidad de caracteres de tu texto.
      
strcat(Texto"Comandos de la facciуn Policнa:\n");
      
strcat(Texto"/radio /r /d (/m)egafono /su /ta(zer) /limpiarcamion /vmaletero /ram /luces /esposar /qesposas /placaex\n");
      
ShowPlayerDialog(playeridDIALOGO_ID_INFODIALOG_STYLE_MSGBOX"Departamento de Policнa"Texto"Aceptar""");
     }
  } 
  return 
1;

Tendria que seguir asi?

PHP код:
Ayuda(playeridtip

  switch(
tip
   { 
    case 
0
     {
      new 
Texto[150]; //El valor de la cadena dependerб de la cantidad de caracteres de tu texto.
      
strcat(Texto"Comandos de la facciуn Policнa:\n");
      
strcat(Texto"/radio /r /d (/m)egafono /su /ta(zer) /limpiarcamion /vmaletero /ram /luces /esposar /qesposas /placaex\n");
      
ShowPlayerDialog(playeridDIALOGO_ID_INFODIALOG_STYLE_MSGBOX"Departamento de Policнa"Texto"Aceptar""");
     }
      new 
Texto1[150];
      
strcat(Texto1"Comandos de la facciуn Mйdicos:\n");
      
strcat(Texto"/comandos etc\n");
  } 
  return 
1;

Reply
#4

Asн es, debes crear una cadena por cada caso, de lo contrario serнa una cadena muy grande, prбcticamente innecesario.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)