Advertisement
Guest User

Dialog Creator - HTML + JAVASCRIPT

a guest
Jul 12th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 23.33 KB | None | 0 0
  1. <html>
  2.     <head>
  3.     <meta charset="ISO-8859-1">
  4.         <title>Dialog Creator - KixTz.</title>
  5.         <style>
  6.             #preview{
  7.                 background-image: url("http://wiki.sa-mp.com/wroot/images2/a/a1/Dialog_style_msgbox.png");
  8.                 width: 367px;
  9.                 height: 113px;
  10.             }
  11.         </style>
  12.         <script type="text/javascript">
  13.             /**
  14.              * Author: KixTz.
  15.              * Release date: 12/07/2014
  16.              **/
  17.             var style = {
  18.                 DIALOG_STYLE_MSGBOX: 1,
  19.                 DIALOG_STYLE_INPUT: 2,
  20.                 DIALOG_STYLE_LIST: 3,
  21.                 DIALOG_STYLE_PASSWORD: 4
  22.             };
  23.            
  24.             /**
  25.              * Controla a nova linha a ser inserida dos itens do DIALOG_STYLE_LIST.
  26.              * A primeira linha da tabela possui o índice zero e não um.
  27.              * @type int
  28.              */
  29.             var iPosRow;
  30.  
  31.             /**
  32.              * Gera o código conforme o estilo selecionado.
  33.              */
  34.             function generateCode() {
  35.                 var sPlayerId = document.getElementById("p_id").value;
  36.                 var sDialogId = document.getElementById("d_id").value;
  37.                 var sTitle    = document.getElementById("title").value;
  38.                 var sText     = document.getElementById("main_text").value;
  39.                 var sBtn1     = document.getElementById("text_btn_1").value;
  40.                 var sBtn2     = document.getElementById("text_btn_2").value;
  41.  
  42.                 var sStyle;
  43.                 switch (parseInt(document.getElementById("style").value)) {
  44.                     case style.DIALOG_STYLE_MSGBOX:
  45.                         sStyle = "DIALOG_STYLE_MSGBOX";
  46.                         sOnResponse = getResponseMsgBox(sDialogId);
  47.                         break;
  48.                     case style.DIALOG_STYLE_INPUT:
  49.                         sStyle = "DIALOG_STYLE_INPUT";
  50.                         sOnResponse = getResponseInput(sDialogId);
  51.                         break;
  52.                     case style.DIALOG_STYLE_LIST:
  53.                         sStyle = "DIALOG_STYLE_LIST";
  54.  
  55.                         if (iPosRow >= 7) {
  56.                             sText = document.getElementById("item0").value;
  57.                             if (iPosRow > 7) {
  58.                                 for (var i = 1; i < (iPosRow - 6); i++) {
  59.                                    sText += "\\n" + document.getElementById("item" + i).value;
  60.                                }
  61.                            }
  62.                        }
  63.                        sOnResponse = getResponseList(sDialogId);
  64.                        break;
  65.                    case style.DIALOG_STYLE_PASSWORD:
  66.                        sStyle = "DIALOG_STYLE_PASSWORD";
  67.                        var sDialog = "ShowPlayerDialog(" + sPlayerId + ", " + sDialogId + ", " + sStyle + ", \"" + sTitle + "\", \"" + sText + "\", \"" + sBtn1 + "\", \"" + sBtn2 + "\");";
  68.                        sOnResponse = getResponsePassword(sDialogId, sDialog);
  69.                        break;
  70.                }
  71.                var sFinalCode = "ShowPlayerDialog(" + sPlayerId + ", " + sDialogId + ", " + sStyle + ", \"" + sTitle + "\", \"" + sText + "\", \"" + sBtn1 + "\", \"" + sBtn2 + "\");<br><br>" + sOnResponse;
  72.                 var oDivFinalCode = document.getElementById("final_code");
  73.                 oDivFinalCode.style.display = "block";
  74.                 oDivFinalCode.innerHTML = sFinalCode;
  75.             }
  76.  
  77.             /**
  78.              * Altera a pré-visualização e alguns campos conforme estilo selecionado.
  79.              * @param {string} sType - Tipo do estilo
  80.              */
  81.             function onChangeStyle(sType) {
  82.                 //Todos os dados de entrada são string, portanto devemos converter
  83.                 var iType = parseInt(sType);
  84.                 var oElMainText = document.getElementById("table_row_main_text");
  85.                 switch (iType) {
  86.                     case style.DIALOG_STYLE_MSGBOX:
  87.                         changePreview("http://wiki.sa-mp.com/wroot/images2/a/a1/Dialog_style_msgbox.png", "367px", "113px");
  88.                         oElMainText.style.display = "table-row";
  89.                         deleteOptions();
  90.                         break;
  91.                     case style.DIALOG_STYLE_INPUT:
  92.                         changePreview("http://wiki.sa-mp.com/wroot/images2/d/d5/Dialog_style_input.png", "487px", "146px");
  93.                         oElMainText.style.display = "table-row";
  94.                         deleteOptions();
  95.                         break;
  96.                     case style.DIALOG_STYLE_LIST:
  97.                         changePreview("http://wiki.sa-mp.com/wroot/images2/b/b1/Dialog_style_list.png", "339px", "294px");
  98.                         oElMainText.style.display = "none";
  99.                         firstItem();
  100.                         addRowBtnAdd();
  101.                         break;
  102.                     case style.DIALOG_STYLE_PASSWORD:
  103.                         changePreview("http://wiki.sa-mp.com/wroot/images2/f/f8/Dialog_style_password.png", "658px", "146px");
  104.                         oElMainText.style.display = "table-row";
  105.                         deleteOptions();
  106.                         break;
  107.                 }
  108.             }
  109.            
  110.             /**
  111.              * Altera a pré-visualização conforme parâmetros.
  112.              * @param {string} sUrl    - Caminho que se encontra imagem de fundo
  113.              * @param {string} sWidth  - Largura da imagem
  114.              * @param {string} sHeight - Altura da imagem
  115.              */
  116.             function changePreview(sUrl, sWidth, sHeight) {
  117.                 document.getElementById("preview").style.backgroundImage = "url(" + sUrl + ")";
  118.                 document.getElementById("preview").style.width = sWidth;
  119.                 document.getElementById("preview").style.height = sHeight;
  120.             }
  121.  
  122.             /**
  123.              * Cria uma nova linha de item quando o estilo for list e habilita o botão "Delete item" do primeiro item quando esta função for disparada pelo botão "Add item".
  124.              */
  125.             function createItem() {
  126.                 //É criada essa variável novamente para passar no parâmetro do método deleteOption a linha atual e não a referência global
  127.                 var iPosCurrentRow = iPosRow;
  128.                 //Quando inserimos uma nova linha na tabela já é retornado um objeto html para a variável
  129.                 var oElRow = document.getElementById("tableEl").insertRow(iPosCurrentRow);
  130.                 //Recebe a primeira coluna da linha criada anteriormente
  131.                 var oElCelLabel = oElRow.insertCell(0);
  132.                 oElCelLabel.style.textAlign = "right";
  133.                 var oElSpan = document.createElement("span");
  134.                 oElSpan.innerHTML = "Item " + (iPosCurrentRow - 6) + ": ";
  135.                 oElCelLabel.appendChild(oElSpan);
  136.                 //Receba a segunda coluna da linha criada anteriormente
  137.                 var oElCelInput = oElRow.insertCell(1);
  138.                 //Vamos criar o input do item
  139.                 var oElInput = document.createElement("input");
  140.                 oElInput.id = "item" + (iPosCurrentRow - 6);
  141.                 oElInput.setAttribute("type", "text");
  142.                 //Vamos adicionar um filho(input criado) na coluna
  143.                 oElCelInput.appendChild(oElInput);
  144.                 oElInput.focus();
  145.  
  146.                 //Vamos criar um botão para deletar a linha
  147.                 var oBtnDelItem = document.createElement("input");
  148.                 oBtnDelItem.setAttribute("type", "button");
  149.                 oBtnDelItem.id = "btn_del" + iPosCurrentRow;
  150.                 //Propriedade criada, não existe no html
  151.                 oBtnDelItem.row = iPosCurrentRow;
  152.                 oBtnDelItem.value = "Deletar item";
  153.                 oBtnDelItem.onclick = function() {
  154.                     deleteOption(oBtnDelItem.row);
  155.                 };
  156.                 oElCelInput.appendChild(oBtnDelItem);
  157.  
  158.                 iPosRow++;
  159.                 toggleFirstBtnDel();
  160.             }
  161.  
  162.             /**
  163.              * Verifica se tem dois itens ou mais, se tiver habilita a opção de exclusão do item da primeira linha, caso contrário oculta.
  164.              */
  165.             function toggleFirstBtnDel() {
  166.                 if (iPosRow > 7) {
  167.                     document.getElementById("btn_del6").style.display = "inline-block";
  168.                 } else {
  169.                     document.getElementById("btn_del6").style.display = "none";
  170.                 }
  171.             }
  172.  
  173.             /**
  174.              * Cria a primeira opção dos itens, ocultando o botão de exclusão da primeira linha.
  175.              */
  176.             function firstItem() {
  177.                 iPosRow = 6;
  178.                 createItem();
  179.                 document.getElementById("btn_del6").style.display = "none";
  180.             }
  181.  
  182.             /**
  183.              * Deleta todos os itens, incluindo os botões de exclusão e o de "Add item".
  184.              * É usado quando é trocado o estilo do diálogo.
  185.              */
  186.             function deleteOptions() {
  187.                 //Validação feita para deletar somente as linhas criadas dos itens do DIALOG_STYLE_LIST
  188.                 if (iPosRow > 6) {
  189.                     //Vamos incrementar para remover a linha dos botões
  190.                     iPosRow++;
  191.                     for (var i = iPosRow; i > 6; i--) {
  192.                         iPosRow--;
  193.                         document.getElementById("tableEl").deleteRow(i - 1);
  194.                     }
  195.                 }
  196.             }
  197.            
  198.             /**
  199.              * Deleta a linha que disparou a função, atualiza informações dos itens a baixo dela e caso só existir um item esconde o botão "Delete item" da primeira linha.
  200.              * @param {int} iRowDel - Número da linha que disparou a função
  201.              */
  202.             function deleteOption(iRowDel) {
  203.                 if (iPosRow > 7) {
  204.                     document.getElementById("tableEl").deleteRow(iRowDel);
  205.                     iPosRow--;
  206.                     updateItems(iRowDel);
  207.                     toggleFirstBtnDel();
  208.                 }
  209.             }
  210.            
  211.             /**
  212.              * Adiciona a linha com o botão "add item" quando o estilo for list.
  213.              */
  214.             function addRowBtnAdd() {
  215.                 var oBtnAddItem = document.createElement("input");
  216.                 oBtnAddItem.setAttribute("type", "button");
  217.                 oBtnAddItem.value = "Add item";
  218.                 oBtnAddItem.onclick = function() {
  219.                     createItem();
  220.                 };
  221.  
  222.                 var oElRowBtnsItems = document.getElementById("tableEl").insertRow(iPosRow);
  223.                
  224.                 var oElCelBtns = oElRowBtnsItems.insertCell(0);
  225.                 oElCelBtns.colSpan = 2
  226.                 oElCelBtns.setAttribute("align", "center");
  227.                 oElCelBtns.appendChild(oBtnAddItem);
  228.             }
  229.            
  230.             /**
  231.              * Gera o código do response do message box.
  232.              * @param {type} sDialogId - ID para diálogo
  233.              * @returns {string}
  234.              */
  235.             function getResponseMsgBox(sDialogId) {
  236.                 var sCode =
  237.                         "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){<br>" +
  238.                         "&nbsp;&nbsp;&nbsp;if(response){<br>" +
  239.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(dialogid){<br>" +
  240.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "+sDialogId+":<br>" +
  241.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>" +
  242.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Obrigado por concordar com as regras do servidor!\");<br>"+
  243.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;<br>"+
  244.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  245.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  246.                         "&nbsp;&nbsp;&nbsp;}else{<br>" +
  247.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Você deve concordar com as regras do servidor para jogar aqui!\");<br>" +
  248.                         "&nbsp;&nbsp;&nbsp;}<br>" +
  249.                         "&nbsp;&nbsp;&nbsp;return 0;<br>" +
  250.                         "}";
  251.                 return sCode;
  252.             }
  253.            
  254.             /**
  255.              * Gera o código do response do input.
  256.              * @param {type} sDialogId - ID para diálogo
  257.              * @returns {string}
  258.              */
  259.             function getResponseInput(sDialogId) {
  260.                 var sCode =
  261.                         "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){<br>" +
  262.                         "&nbsp;&nbsp;&nbsp;if(response){<br>" +
  263.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(dialogid){<br>" +
  264.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "+sDialogId+":<br>" +
  265.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>" +
  266.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(algumaFuncao(playerid, inputtext)){<br>"+
  267.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;<br>"+
  268.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br><br>"+
  269.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>"+
  270.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  271.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  272.                         "&nbsp;&nbsp;&nbsp;}else{<br>" +
  273.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Você deve concordar com as regras do servidor para jogar aqui!\");<br>" +
  274.                         "&nbsp;&nbsp;&nbsp;}<br>" +
  275.                         "&nbsp;&nbsp;&nbsp;return 0;<br>" +
  276.                         "}";
  277.                 return sCode;
  278.             }
  279.            
  280.             /**
  281.              * Gera o código do response do list.
  282.              * @param {type} sDialogId - ID para diálogo
  283.              * @returns {string}
  284.              */
  285.             function getResponseList(sDialogId) {
  286.                 var sCode =
  287.                         "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){<br>" +
  288.                         "&nbsp;&nbsp;&nbsp;if(response){<br>" +
  289.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(dialogid){<br>" +
  290.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "+sDialogId+":<br>" +
  291.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>" +
  292.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(listitem){<br>";
  293.                 for (var i = 0; i < (iPosRow - 6); i++) {
  294.                    sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case " + i + ":<br>";
  295.                     sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>";
  296.                     sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Alguma coisa para o item "+i+"<br>";
  297.                     sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;<br>";
  298.                     sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>";
  299.                 }
  300.                 sCode += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  301.                          "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  302.                          "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  303.                          "&nbsp;&nbsp;&nbsp;}else{<br>" +
  304.                          "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Você deve concordar com as regras do servidor para jogar aqui!\");<br>" +
  305.                          "&nbsp;&nbsp;&nbsp;}<br>" +
  306.                          "&nbsp;&nbsp;&nbsp;return 0;<br>" +
  307.                          "}";
  308.                 return sCode;
  309.             }
  310.            
  311.             /**
  312.              * Gera o código do response do password.
  313.              * @param {string} sDialogId - ID para diálogo
  314.              * @param {string} sDialog   - Função usada no ShowPlayerDialog do tipo password
  315.              * @returns {string}
  316.              */
  317.             function getResponsePassword(sDialogId, sDialog) {
  318.                 var sCode =
  319.                         "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){<br>" +
  320.                         "&nbsp;&nbsp;&nbsp;if(response){<br>" +
  321.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(dialogid){<br>" +
  322.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "+sDialogId+":<br>" +
  323.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>" +
  324.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(CheckPassword(playerid, inputtext)){<br>"+
  325.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Você está logado!\"); return 1;<br>"+
  326.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br>"+
  327.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Falha no login.\");<br>"+
  328.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Mostra o diálogo do login novamente.<br>"+
  329.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+sDialog+"<br>"+
  330.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>"+
  331.                          "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  332.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>" +
  333.                         "&nbsp;&nbsp;&nbsp;}else{<br>" +
  334.                         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendClientMessage(playerid, 0xFFFFFF, \"Você deve concordar com as regras do servidor para jogar aqui!\");<br>" +
  335.                         "&nbsp;&nbsp;&nbsp;}<br>" +
  336.                         "&nbsp;&nbsp;&nbsp;return 0;<br>" +
  337.                         "}";
  338.                 return sCode;
  339.             }
  340.            
  341.             /**
  342.              * Atualiza os itens a baixo da linha passada como parâmetro.
  343.              * @param {int} iStartFrom - Número da linha
  344.              */
  345.             function updateItems(iStartFrom) {
  346.                 for (var i = iStartFrom; i < iPosRow; i++) {
  347.                    //Atualiza os labels dos itens
  348.                    document.getElementsByTagName("span")[i - 6].innerHTML = "Item " + (i - 6) + ": ";
  349.                    //Atualiza os id dos botões de exclusão dos itens
  350.                    document.getElementById("btn_del" + (i + 1)).id = "btn_del" + i;
  351.                    //Atualiza a linha que está o botão
  352.                    document.getElementById("btn_del" + i).row = i;
  353.                    //Atualiza os id dos input dos itens
  354.                    document.getElementById("item" + (i - 5)).id = "item" + (i - 6);
  355.                }
  356.            }
  357.        </script>
  358.     </head>
  359.     <body>
  360.         <div style="text-align:center;font-size:25px;font-weight:bold;border-top:2px solid black;border-bottom:2px solid black;padding:10px;">
  361.             Criador de Diálogos
  362.         </div>
  363.         <hr>
  364.         <div>Referências: <a href="http://wiki.sa-mp.com/wiki/Dialog_Styles">Dialog Styles</a> - <a href="http://wiki.sa-mp.com/wiki/ShowPlayerDialog">ShowPlayerDialog</a> - <a href="http://wiki.sa-mp.com/wiki/OnDialogResponse">OnDialogResponse</a></div>
  365.         <hr>
  366.         <table id="tableEl">
  367.             <tr>
  368.                 <td style="text-align:right;">
  369.                     O id do jogador para mostrar o diálogo:
  370.                 </td>
  371.                 <td>
  372.                     <input type="text" id="p_id" value="playerid">
  373.                 </td>
  374.             </tr>
  375.             <tr>
  376.                 <td style="text-align:right;">
  377.                     Um id para atribuir ao diálogo:
  378.                 </td>
  379.                 <td>
  380.                     <input type="text" id="d_id">
  381.                 </td>
  382.             </tr>
  383.             <tr>
  384.                 <td style="text-align:right;">
  385.                     Estilo do diálogo:
  386.                 </td>
  387.                 <td>
  388.                     <select id="style" onchange="onChangeStyle(this.value)">
  389.                         <option value="1">Message Box</option>
  390.                         <option value="2">Input</option>
  391.                         <option value="3">List</option>
  392.                         <option value="4">Password</option>
  393.                     </select>
  394.                 </td>
  395.             </tr>
  396.             <tr>
  397.                 <td style="text-align:right;">
  398.                     Pré-visualização:
  399.                 </td>
  400.                 <td>
  401.                     <div id="preview"></div>
  402.                 </td>
  403.             </tr>
  404.             <tr>
  405.                 <td style="text-align:right;">
  406.                     Título:
  407.                 </td>
  408.                 <td>
  409.                     <input type="text" id="title" maxlength="64">
  410.                 </td>
  411.             </tr>
  412.             <tr id="table_row_main_text">
  413.                 <td style="text-align:right;">
  414.                     Texto principal:
  415.                 </td>
  416.                 <td>
  417.                     <textarea id="main_text" cols="50" rows="10"></textarea><br>Use \n para começar uma nova linha ou \t para tabular.
  418.                 </td>
  419.             </tr>
  420.             <tr>
  421.                 <td style="text-align:right;">
  422.                     Botão esquerdo:
  423.                 </td>
  424.                 <td>
  425.                     <input type="text" id="text_btn_1">
  426.                 </td>
  427.             </tr>
  428.             <tr>
  429.                 <td style="text-align:right;">
  430.                     Botão direito:
  431.                 </td>
  432.                 <td>
  433.                     <input type="text" id="text_btn_2">
  434.                     Deixe em branco para esconder o botão.
  435.                 </td>
  436.             </tr>
  437.             <tr>
  438.                 <td style="text-align:center;border:1px solid black;" colspan="2">
  439.                     <input type="button" id="generate" value="Gerar código !" onclick="generateCode()">
  440.                 </td>
  441.             </tr>
  442.         </table>
  443.         <div id="final_code" style="display:none;"></div>
  444.     </body>
  445. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement