Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <Dini>
- // =============================================================================
- // Declarações Internas .
- // =============================================================================
- #define MAX_TEXTDRAWS 90 // Máximo textdraws mostrados na tela do cliente é de 92.
- #define MSG_COLOR 0xFAF0CEFF // Cor que irá ser mostrado nas mensagens.
- #define PREVIEW_CHARS 35 // Quantidade de caracteres que aparecem na visualização textdraws.
- // Usado com P_Aux
- #define DELETING 0
- #define LOADING 1
- // Usado com P_KeyEdition
- #define EDIT_NONE 0
- #define EDIT_POSITION 1
- #define EDIT_SIZE 2
- #define EDIT_BOX 3
- // Usado com P_ColorEdition
- #define COLOR_TEXT 0
- #define COLOR_OUTLINE 1
- #define COLOR_BOX 2
- enum enum_tData // Textdraw dados
- {
- bool:T_Created, // Se o ID TextDraw é criado ou não.
- Text:T_Handler, // Onde o id TD é poupado.
- T_Text[1536], // A seqüência de TextDraw.
- Float:T_X,
- Float:T_Y,
- T_Alignment,
- T_BackColor,
- T_BoxColor,
- T_Color,
- T_Font,
- Float:T_XSize,
- Float:T_YSize,
- T_Outline,
- T_Proportional,
- T_Shadow,
- Float:T_TextSizeX,
- Float:T_TextSizeY,
- T_UseBox,
- T_Selectable,
- T_PreviewModel,
- Float:PMRotX,
- Float:PMRotY,
- Float:PMRotZ,
- Float:PMZoom
- };
- enum enum_pData // Dados do jogador.
- {
- bool:P_Editing, // Se o jogador está editando ou não no momento (permitir / menu).
- P_DialogPage, // Página da caixa de diálogo de seleção TextDraw estão.
- P_CurrentTextdraw, // TextDraw está sendo editado no momento.
- P_CurrentMenu, // Apenas utilizado no início, para saber se o jogador está a carregar ou excluir.
- P_KeyEdition, // Usado para saber quais as edições estão sendo realizadas com teclado. Verifique define.
- P_Aux, // Variável auxiliar, usado como uma variável temporária em vários casos.
- P_ColorEdition, // Usado para saber o que o jogador está a mudar a cor de. Verifique definido.
- P_Color[4], // Detém RGBA ao usar combinação de cores.
- P_ExpCommand[128], // Mantém temporariamente o comando que será usado para uma exportação de script de comando.
- P_Aux2 // Apenas usado em casos especiais de exportação.
- };
- new tData[MAX_TEXTDRAWS][enum_tData],
- pData[MAX_PLAYERS][enum_pData];
- new CurrentProject[128]; // String contendo a localização do arquivo de projeto aberto atual.
- // =============================================================================
- // Callbacks.
- // =============================================================================
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Text Draw Editor 1.0RC2 (v3.1) by Zamaroht for SA-MP 0.3 Loaded.");
- print("--------------------------------------\n");
- for(new i; i < MAX_PLAYERS; i ++) if(IsPlayerConnected(i)) ResetPlayerVars(i);
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- tData[i][T_Handler] = TextDrawCreate(0.0, 0.0, " ");
- tData[i][T_PreviewModel] = -1;
- tData[i][PMZoom] = 1.0;
- tData[i][PMRotX] = -16.0;
- tData[i][PMRotY] = 0.0;
- tData[i][PMRotZ] = -55.0;
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- TextDrawHideForAll(tData[i][T_Handler]);
- TextDrawDestroy(tData[i][T_Handler]);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- TextDrawShowForPlayer(playerid, tData[i][T_Handler]);
- }
- }
- public OnPlayerSpawn(playerid)
- {
- SendClientMessage(playerid, MSG_COLOR, "Use /texto para mostrar o menu de Edição.");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- ResetPlayerVars(playerid);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp("/texto", cmdtext))
- {
- if(pData[playerid][P_Editing]) return SendClientMessage(playerid, MSG_COLOR, "[ERROR] Termine a edição atual antes de usar /texto !");
- else if(!strlen(CurrentProject) || !strcmp(CurrentProject, " "))
- {
- if(IsPlayerMinID(playerid))
- {
- ShowTextDrawDialog(playerid, 0);
- pData[playerid][P_Editing] = true;
- }
- else
- SendClientMessage(playerid, MSG_COLOR, "Apenas o jogador de menor ID pode gerenciar projetos. Peça-lhe para abrir um.");
- return 1;
- }
- else
- {
- ShowTextDrawDialog(playerid, 4, 0);
- pData[playerid][P_Editing] = true;
- return 1;
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(response == 1) PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0); // Som de Confirmação
- else PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0); // Som de Cancelamento
- switch(dialogid)
- {
- case 1574: // Primeiro diálogo.
- {
- if(response) // Se ele pressionou aceitar.
- {
- strmid(CurrentProject, "", 0, 1, 128);
- if(listitem == 0) // Ele pressionou novo projeto.
- ShowTextDrawDialog(playerid, 1);
- else if(listitem == 1) // Ele pressionou projeto de carga.
- ShowTextDrawDialog(playerid, 2, 1);
- else if(listitem == 2) // Ele pressionou projeto de exclusão.
- ShowTextDrawDialog(playerid, 2, 2);
- }
- else pData[playerid][P_Editing] = false;
- }
- case 1575: // Novo projeto
- {
- if(response)
- {
- if(strlen(inputtext) > 120) ShowTextDrawDialog(playerid, 1, 1); // Muito tempo.
- else if(
- strfind(inputtext, "/") != -1 || strfind(inputtext, "\\") != -1 ||
- strfind(inputtext, ":") != -1 || strfind(inputtext, "*") != -1 ||
- strfind(inputtext, "?") != -1 || strfind(inputtext, "\"") != -1 ||
- strfind(inputtext, "<") != -1 || strfind(inputtext, ">") != -1 ||
- strfind(inputtext, "|") != -1 || !strlen(inputtext) ||
- inputtext[0] == ' ' )
- ShowTextDrawDialog(playerid, 1, 3); // Caracteres ilegais.
- else // Está tudo bem, criar o novo arquivo.
- {
- new filename[128];
- format(filename, sizeof(filename), "%s.tde", inputtext);
- if(fexist(filename)) ShowTextDrawDialog(playerid, 1, 2); // Já existe.
- else
- {
- CreateNewProject(filename);
- strmid(CurrentProject, filename, 0, strlen(inputtext), 128);
- new tmpstr[128];
- format(tmpstr, sizeof(tmpstr), "Agora você está trabalhando no projeto '%s'.", filename);
- SendClientMessage(playerid, MSG_COLOR, tmpstr);
- ShowTextDrawDialog(playerid, 4); // Mostrar o menu de edição principal.
- }
- }
- }
- else
- ShowTextDrawDialog(playerid, 0);
- }
- case 1576: // Carregar/Deletar Projeto
- {
- if(response)
- {
- if(listitem == 0) // nome personalizado
- {
- if(pData[playerid][P_CurrentMenu] == LOADING) ShowTextDrawDialog(playerid, 3);
- else if(pData[playerid][P_CurrentMenu] == DELETING) ShowTextDrawDialog(playerid, 0);
- }
- else
- {
- if(pData[playerid][P_CurrentMenu] == DELETING)
- {
- pData[playerid][P_Aux] = listitem - 1;
- ShowTextDrawDialog(playerid, 6);
- }
- else if(pData[playerid][P_CurrentMenu] == LOADING)
- {
- new filename[135];
- format(filename, sizeof(filename), "%s", GetFileNameFromLst("tdlist.lst", listitem - 1));
- LoadProject(playerid, filename);
- }
- }
- }
- else
- ShowTextDrawDialog(playerid, 0);
- }
- case 1577: // Carregar projeto personalizado
- {
- if(response)
- {
- new ending[5];
- strmid(ending, inputtext, strlen(inputtext) - 4, strlen(inputtext));
- if(strcmp(ending, ".tde") != 0)
- {
- new filename[128];
- format(filename, sizeof(filename), "%s.tde", inputtext);
- LoadProject(playerid, filename);
- }
- else LoadProject(playerid, inputtext);
- }
- else
- {
- if(pData[playerid][P_CurrentMenu] == DELETING) ShowTextDrawDialog(playerid, 2, 2);
- else if(pData[playerid][P_CurrentMenu] == LOADING) ShowTextDrawDialog(playerid, 2);
- }
- }
- case 1578: // TextDraw seleção
- {
- if(response)
- {
- if(listitem == 0) // Eles selecionaram novo TextDraw
- {
- pData[playerid][P_CurrentTextdraw] = -1;
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(!tData[i][T_Created]) // Se não é criado no entanto, utilizar.
- {
- ClearTextdraw(i);
- CreateDefaultTextdraw(i);
- pData[playerid][P_CurrentTextdraw] = i;
- ShowTextDrawDialog(playerid, 4, pData[playerid][P_DialogPage]);
- break;
- }
- }
- if(GetPVarInt(playerid, "Use2DTD") == 1)
- {
- DeletePVar(playerid, "Use2DTD");
- }
- if(pData[playerid][P_CurrentTextdraw] == -1)
- {
- SendClientMessage(playerid, MSG_COLOR, "Você não pode criar mais textdraws !");
- ShowTextDrawDialog(playerid, 4, pData[playerid][P_DialogPage]);
- }
- else
- {
- new string[128];
- format(string, sizeof(string), "TextDraw #%d criado com sucesso.", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- }
- }
- else if(listitem == 1) // Eles selecionaram exportação
- {
- ShowTextDrawDialog(playerid, 25);
- }
- else if(listitem == 2) // Eles selecionaram próximo projeto
- {
- if(IsPlayerMinID(playerid))
- {
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- ClearTextdraw(i);
- }
- new string[128];
- format(string, sizeof(string), "Projeto '%s' fechado.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, string);
- strmid(CurrentProject, " ", 128, 128);
- ShowTextDrawDialog(playerid, 0);
- }
- else
- {
- SendClientMessage(playerid, MSG_COLOR, "Apenas o jogador de menor ID pode gerenciar projetos. Peça-lhe para abrir um.");
- ShowTextDrawDialog(playerid, 4);
- }
- }
- else if(listitem <= 10) // Teles selecionam um TD
- {
- new id = 3;
- for(new i = pData[playerid][P_DialogPage]; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- if(id == listitem)
- {
- // Achamos
- pData[playerid][P_CurrentTextdraw] = i;
- ShowTextDrawDialog(playerid, 5);
- break;
- }
- id ++;
- }
- }
- if(tData[pData[playerid][P_CurrentTextdraw]][T_Font] == 5)
- {
- if(GetPVarInt(playerid, "Use2DTD") == 0)
- {
- SetPVarInt(playerid, "Use2DTD", 1);
- }
- }
- else
- {
- if(GetPVarInt(playerid, "Use2DTD") == 1)
- {
- DeletePVar(playerid, "Use2DTD");
- }
- }
- new string[128];
- format(string, sizeof(string), "Você agora está editando TextDraw #%d", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- }
- else
- {
- new BiggestID, itemcount;
- for(new i = pData[playerid][P_DialogPage]; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- itemcount ++;
- BiggestID = i;
- if(itemcount == 9) break;
- }
- }
- ShowTextDrawDialog(playerid, 4, BiggestID);
- }
- }
- else
- {
- pData[playerid][P_Editing] = false;
- pData[playerid][P_DialogPage] = 0;
- }
- }
- case 1579: // Menu de edição principal
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // alterar texto
- {
- ShowTextDrawDialog(playerid, 8);
- }
- case 1: // Alterar posição
- {
- ShowTextDrawDialog(playerid, 9);
- }
- case 2: // Altere o alinhamento
- {
- ShowTextDrawDialog(playerid, 11);
- }
- case 3: // Alterar a cor da fonte
- {
- pData[playerid][P_ColorEdition] = COLOR_TEXT;
- ShowTextDrawDialog(playerid, 13);
- }
- case 4: // Alterar Fonte
- {
- ShowTextDrawDialog(playerid, 17);
- }
- case 5: // Mude proporcionalidade
- {
- ShowTextDrawDialog(playerid, 12);
- }
- case 6: // Alterar o tamanho da letra
- {
- ShowTextDrawDialog(playerid, 18);
- }
- case 7: // Editar esboço
- {
- ShowTextDrawDialog(playerid, 20);
- }
- case 8: // Editar caixa
- {
- if(tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] == 0) ShowTextDrawDialog(playerid, 23);
- else if(tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] == 1) ShowTextDrawDialog(playerid, 24);
- }
- case 9: // TextDrawSetSelectable
- {
- ShowTextDrawDialog(playerid, 32);
- }
- case 10: // PreviewModel
- {
- ShowTextDrawDialog(playerid, 33);
- }
- case 11: // duplicar TextDraw
- {
- new from, to;
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(!tData[i][T_Created]) // Se não é criado no entanto, utilizar.
- {
- ClearTextdraw(i);
- CreateDefaultTextdraw(i);
- from = pData[playerid][P_CurrentTextdraw];
- to = i;
- DuplicateTextdraw(pData[playerid][P_CurrentTextdraw], i);
- pData[playerid][P_CurrentTextdraw] = -1;
- ShowTextDrawDialog(playerid, 4);
- break;
- }
- }
- if(pData[playerid][P_CurrentTextdraw] != -1)
- {
- SendClientMessage(playerid, MSG_COLOR, "Você não pode criar mais textdraws !");
- ShowTextDrawDialog(playerid, 5);
- }
- else
- {
- new string[128];
- format(string, sizeof(string), "TextDraw #%d copiado com sucesso para TextDraw #%d .", from, to);
- SendClientMessage(playerid, MSG_COLOR, string);
- }
- }
- case 12: // excluir textdraw
- {
- ShowTextDrawDialog(playerid, 7);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 4, 0);
- }
- }
- case 1580: // Diálogo de confirmação projeto Excluir
- {
- if(response)
- {
- new filename[128];
- format(filename, sizeof(filename), "%s", GetFileNameFromLst("tdlist.lst", pData[playerid][P_Aux]));
- fremove(filename);
- DeleteLineFromFile("tdlist.lst", pData[playerid][P_Aux]);
- format(filename, sizeof(filename), "O projeto salvo como '%s' foi excluído com sucesso.", filename);
- SendClientMessage(playerid, MSG_COLOR, filename);
- ShowTextDrawDialog(playerid, 0);
- }
- else
- {
- ShowTextDrawDialog(playerid, 0);
- }
- }
- case 1581: // Excluir confirmação TD
- {
- if(response)
- {
- DeleteTDFromFile(pData[playerid][P_CurrentTextdraw]);
- ClearTextdraw(pData[playerid][P_CurrentTextdraw]);
- new string[128];
- format(string, sizeof(string), "Você excluiu á TextDraw #%d", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- if(tData[pData[playerid][P_CurrentTextdraw]][T_Font] == 5)
- {
- if(GetPVarInt(playerid, "Use2DTD") == 1)
- {
- DeletePVar(playerid, "Use2DTD");
- }
- }
- pData[playerid][P_CurrentTextdraw] = 0;
- ShowTextDrawDialog(playerid, 4);
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1582: // Mude o texto de TextDraw
- {
- if(response)
- {
- if(!strlen(inputtext)) ShowTextDrawDialog(playerid, 8);
- else
- {
- format(tData[pData[playerid][P_CurrentTextdraw]][T_Text], 1024, "%s", inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Text");
- ShowTextDrawDialog(playerid, 5);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1583: // Mude a posição da TextDraw: exata ou movimento
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // posição exata
- {
- pData[playerid][P_Aux] = 0;
- ShowTextDrawDialog(playerid, 10, 0, 0);
- }
- case 1: // Mova-a
- {
- new string[512];
- string = "~n~~n~~n~~n~~n~~n~~n~~n~~w~";
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~GO_FORWARD~, ~k~~GO_BACK~, ~k~~GO_LEFT~, ~k~~GO_RIGHT~~n~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_STEERUP~, ~k~~VEHICLE_STEERDOWN~, ~k~~VEHICLE_STEERLEFT~, ~k~~VEHICLE_STEERRIGHT~~n~", string);
- format(string, sizeof(string), "%sand ~k~~PED_SPRINT~ to move. ", string);
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~VEHICLE_ENTER_EXIT~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_FIREWEAPON_ALT~", string);
- format(string, sizeof(string), "%s to finish.~n~", string);
- GameTextForPlayer(playerid, string, 9999999, 3);
- SendClientMessage(playerid, MSG_COLOR, "Use as setas [Cima], [Baixo], [Esquerda] e a tecla [Direita] para mover o TextDraw. [Espaço] para velocidade. [Enter] para terminar.");
- TogglePlayerControllable(playerid, 0);
- pData[playerid][P_KeyEdition] = EDIT_POSITION;
- SetTimerEx("KeyEdit", 200, 0, "i", playerid);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1584: // Defina a posição manualmente
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 10, pData[playerid][P_Aux], 1);
- else
- {
- if(pData[playerid][P_Aux] == 0) // Se ele editou X
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_X] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_X");
- ShowTextDrawDialog(playerid, 10, 1, 0);
- }
- else if(pData[playerid][P_Aux] == 1) // Se ele editou y
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Y] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Y");
- ShowTextDrawDialog(playerid, 5);
- SendClientMessage(playerid, MSG_COLOR, "TextDraw movido com êxito.");
- }
- }
- }
- else
- {
- if(pData[playerid][P_Aux] == 1) // Se ele está editando Y, movê-lo para X.
- {
- pData[playerid][P_Aux] = 0;
- ShowTextDrawDialog(playerid, 10, 0, 0);
- }
- else // Se ele estava editando X, mova-o de volta para selecionar o menu
- {
- ShowTextDrawDialog(playerid, 9);
- }
- }
- }
- case 1585: // Mude textdraws alinhamento
- {
- if(response)
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Alignment] = listitem+1;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Alignment");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's alterado para alinhamento %d.", pData[playerid][P_CurrentTextdraw], listitem+1);
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 5);
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1586: // Mude textdraws proporcionalidade
- {
- if(response)
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Proportional] = listitem;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Proportional");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's proportionalidade alterado para %d.", pData[playerid][P_CurrentTextdraw], listitem);
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 5);
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1587: // Alterar a cor
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // escrever hex
- {
- ShowTextDrawDialog(playerid, 14);
- }
- case 1: // combinação de cores
- {
- ShowTextDrawDialog(playerid, 15, 0, 0);
- }
- case 2: // Pré cor Feito
- {
- ShowTextDrawDialog(playerid, 16);
- }
- }
- }
- else
- {
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT) ShowTextDrawDialog(playerid, 5);
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE) ShowTextDrawDialog(playerid, 20);
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX) ShowTextDrawDialog(playerid, 24);
- }
- }
- case 1588: // TextDraw cor: custom hex
- {
- if(response)
- {
- new red[3], green[3], blue[3], alpha[3];
- if(inputtext[0] == '0' && inputtext[1] == 'x') // Ele está usando o formato 0xFFFFFF
- {
- if(strlen(inputtext) != 8 && strlen(inputtext) != 10) return ShowTextDrawDialog(playerid, 14, 1);
- else
- {
- format(red, sizeof(red), "%c%c", inputtext[2], inputtext[3]);
- format(green, sizeof(green), "%c%c", inputtext[4], inputtext[5]);
- format(blue, sizeof(blue), "%c%c", inputtext[6], inputtext[7]);
- if(inputtext[8] != '\0')
- format(alpha, sizeof(alpha), "%c%c", inputtext[8], inputtext[9]);
- else
- alpha = "FF";
- }
- }
- else if(inputtext[0] == '#') // Ele está usando formato #FFFFFF
- {
- if(strlen(inputtext) != 7 && strlen(inputtext) != 9) return ShowTextDrawDialog(playerid, 14, 1);
- else
- {
- format(red, sizeof(red), "%c%c", inputtext[1], inputtext[2]);
- format(green, sizeof(green), "%c%c", inputtext[3], inputtext[4]);
- format(blue, sizeof(blue), "%c%c", inputtext[5], inputtext[6]);
- if(inputtext[7] != '\0')
- format(alpha, sizeof(alpha), "%c%c", inputtext[7], inputtext[8]);
- else
- alpha = "FF";
- }
- }
- else // Ele está usando formato #FFFFFF
- {
- if(strlen(inputtext) != 6 && strlen(inputtext) != 8) return ShowTextDrawDialog(playerid, 14, 1);
- else
- {
- format(red, sizeof(red), "%c%c", inputtext[0], inputtext[1]);
- format(green, sizeof(green), "%c%c", inputtext[2], inputtext[3]);
- format(blue, sizeof(blue), "%c%c", inputtext[4], inputtext[5]);
- if(inputtext[6] != '\0')
- format(alpha, sizeof(alpha), "%c%c", inputtext[6], inputtext[7]);
- else
- alpha = "FF";
- }
- }
- // Temos a cor
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT)
- tData[pData[playerid][P_CurrentTextdraw]][T_Color] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE)
- tData[pData[playerid][P_CurrentTextdraw]][T_BackColor] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX)
- tData[pData[playerid][P_CurrentTextdraw]][T_BoxColor] = RGB(HexToInt(red), HexToInt(green), HexToInt(blue), HexToInt(alpha));
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Color");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BackColor");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BoxColor");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's cor foi alterada", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT) ShowTextDrawDialog(playerid, 5);
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE) ShowTextDrawDialog(playerid, 20);
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX) ShowTextDrawDialog(playerid, 24);
- }
- else
- {
- ShowTextDrawDialog(playerid, 13);
- }
- }
- case 1589: // TextDraw cor: Combinação de cores
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 15, pData[playerid][P_Aux], 2);
- else if(strval(inputtext) < 0 || strval(inputtext) > 255) ShowTextDrawDialog(playerid, 15, pData[playerid][P_Aux], 1);
- else
- {
- pData[playerid][P_Color][pData[playerid][P_Aux]] = strval(inputtext);
- if(pData[playerid][P_Aux] == 3) // Ele terminou a edição alfa, ele tem o resto.
- {
- // Temos a cor
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT)
- tData[pData[playerid][P_CurrentTextdraw]][T_Color] = RGB(pData[playerid][P_Color][0], pData[playerid][P_Color][1], \
- pData[playerid][P_Color][2], pData[playerid][P_Color][3] );
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE)
- tData[pData[playerid][P_CurrentTextdraw]][T_BackColor] = RGB(pData[playerid][P_Color][0], pData[playerid][P_Color][1], \
- pData[playerid][P_Color][2], pData[playerid][P_Color][3] );
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX)
- tData[pData[playerid][P_CurrentTextdraw]][T_BoxColor] = RGB(pData[playerid][P_Color][0], pData[playerid][P_Color][1], \
- pData[playerid][P_Color][2], pData[playerid][P_Color][3] );
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Color");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BackColor");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BoxColor");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's cor foi alterada.", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT) ShowTextDrawDialog(playerid, 5);
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE) ShowTextDrawDialog(playerid, 20);
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX) ShowTextDrawDialog(playerid, 24);
- }
- else
- {
- pData[playerid][P_Aux] += 1;
- ShowTextDrawDialog(playerid, 15, pData[playerid][P_Aux], 0);
- }
- }
- }
- else
- {
- if(pData[playerid][P_Aux] >= 1) // Se ele está editando alfa, azul, etc
- {
- pData[playerid][P_Aux] -= 1;
- ShowTextDrawDialog(playerid, 15, pData[playerid][P_Aux], 0);
- }
- else // Se ele estava editando vermelho, mova-o de volta para seleccionar o menu de cores.
- {
- ShowTextDrawDialog(playerid, 13);
- }
- }
- }
- case 1590: // TextDraw cor: cores premade
- {
- if(response)
- {
- new col;
- switch(listitem)
- {
- case 0: col = 0xff0000ff;
- case 1: col = 0x00ff00ff;
- case 2: col = 0x0000ffff;
- case 3: col = 0xffff00ff;
- case 4: col = 0xff00ffff;
- case 5: col = 0x00ffffff;
- case 6: col = 0xffffffff;
- case 7: col = 0x000000ff;
- }
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT)
- tData[pData[playerid][P_CurrentTextdraw]][T_Color] = col;
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE)
- tData[pData[playerid][P_CurrentTextdraw]][T_BackColor] = col;
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX)
- tData[pData[playerid][P_CurrentTextdraw]][T_BoxColor] = col;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Color");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BackColor");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BoxColor");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's cor foi alterada.", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- if(pData[playerid][P_ColorEdition] == COLOR_TEXT) ShowTextDrawDialog(playerid, 5);
- else if(pData[playerid][P_ColorEdition] == COLOR_OUTLINE) ShowTextDrawDialog(playerid, 20);
- else if(pData[playerid][P_ColorEdition] == COLOR_BOX) ShowTextDrawDialog(playerid, 24);
- }
- else
- {
- ShowTextDrawDialog(playerid, 13);
- }
- }
- case 1591: // Mude TextDraw fonte
- {
- if(response)
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Font] = listitem;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Font");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d'fonte alterada para %d.", pData[playerid][P_CurrentTextdraw], listitem);
- SendClientMessage(playerid, MSG_COLOR, string);
- if(listitem < 5)
- {
- if(GetPVarInt(playerid, "Use2DTD") == 1)
- {
- DeletePVar(playerid, "Use2DTD");
- }
- }
- if(listitem == 4)
- {
- SendClientMessage(playerid, -1, "Importante: caixa foi Auto Permitido - fundo removido!");
- SendClientMessage(playerid, -1, "Alterar o tamanho da caixa para alterar o tamanho do TD - Default Seta para cima Criado a (ld_beat:up).");
- format(tData[pData[playerid][P_CurrentTextdraw]][T_Text], 16, "ld_beat:up");
- tData[pData[playerid][P_CurrentTextdraw]][T_BackColor] = 0x00000000;
- tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] = 1;
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] = 30.0;
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] = 30.0;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Text");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_BackColor");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_UseBox");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeX");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeY");
- SendClientMessage(playerid, MSG_COLOR, "TextDraw caixa habilitada. Prosseguindo com a edição ...");
- }
- if(listitem == 5)
- {
- SetPVarInt(playerid, "Use2DTD", 1);
- SendClientMessage(playerid, -1, "Importante: caixa foi Auto Ativado!");
- tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] = 1;
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] = 30.0;
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] = 30.0;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_UseBox");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeX");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeY");
- SendClientMessage(playerid, MSG_COLOR, "TextDraw caixa habilitada. Prosseguindo com a edição ...");
- }
- ShowTextDrawDialog(playerid, 5);
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1592: // Alterar o tamanho da letra textdraws: exata ou movimento
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // tamanho exato
- {
- pData[playerid][P_Aux] = 0;
- ShowTextDrawDialog(playerid, 19, 0, 0);
- }
- case 1: // redimensioná-la
- {
- new string[512];
- string = "~n~~n~~n~~n~~n~~n~~n~~n~~w~";
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~GO_FORWARD~, ~k~~GO_BACK~, ~k~~GO_LEFT~, ~k~~GO_RIGHT~~n~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_STEERUP~, ~k~~VEHICLE_STEERDOWN~, ~k~~VEHICLE_STEERLEFT~, ~k~~VEHICLE_STEERRIGHT~~n~", string);
- format(string, sizeof(string), "%sand ~k~~PED_SPRINT~ to resize. ", string);
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~VEHICLE_ENTER_EXIT~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_FIREWEAPON_ALT~", string);
- format(string, sizeof(string), "%s to finish.~n~", string);
- GameTextForPlayer(playerid, string, 9999999, 3);
- SendClientMessage(playerid, MSG_COLOR, "Use as setas [Cima], [Baixo], [Esquerda] e a tecla [Direita] para mover o TextDraw. [Espaço] para velocidade. [Enter] para terminar.");
- TogglePlayerControllable(playerid, 0);
- pData[playerid][P_KeyEdition] = EDIT_SIZE;
- SetTimerEx("KeyEdit", 200, 0, "i", playerid);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1593: // Alterar o tamanho da letra manualmente
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 19, pData[playerid][P_Aux], 1);
- else
- {
- if(pData[playerid][P_Aux] == 0) // Se ele editou X
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_XSize] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_XSize");
- ShowTextDrawDialog(playerid, 19, 1, 0);
- }
- else if(pData[playerid][P_Aux] == 1) // Se ele editou Y
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_YSize] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_YSize");
- ShowTextDrawDialog(playerid, 5);
- SendClientMessage(playerid, MSG_COLOR, "TextDraw redimensionada com sucesso");
- }
- }
- }
- else
- {
- if(pData[playerid][P_Aux] == 1) // Se ele está editando Y, movê-lo para X.
- {
- pData[playerid][P_Aux] = 0;
- ShowTextDrawDialog(playerid, 19, 0, 0);
- }
- else // Se ele estava editando X, mova-o de volta para selecionar o menu
- {
- ShowTextDrawDialog(playerid, 18);
- }
- }
- }
- case 1594: // main outline menu
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // Toggle outline
- {
- if(tData[pData[playerid][P_CurrentTextdraw]][T_Outline]) tData[pData[playerid][P_CurrentTextdraw]][T_Outline] = 0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_Outline] = 1;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Outline");
- ShowTextDrawDialog(playerid, 20);
- SendClientMessage(playerid, MSG_COLOR, "Textdraws esquema alternado.");
- }
- case 1: // Change shadow
- {
- ShowTextDrawDialog(playerid, 21);
- }
- case 2: // Change color
- {
- pData[playerid][P_ColorEdition] = COLOR_OUTLINE;
- ShowTextDrawDialog(playerid, 13);
- }
- case 3: // Finish
- {
- SendClientMessage(playerid, MSG_COLOR, "Personalização esboço terminado.");
- ShowTextDrawDialog(playerid, 5);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1595: // Esboço sombra
- {
- if(response)
- {
- if(listitem == 6) // selected custom
- {
- ShowTextDrawDialog(playerid, 22);
- }
- else
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Shadow] = listitem;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Shadow");
- ShowTextDrawDialog(playerid, 20);
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's esboço sombra alterado para %d.", pData[playerid][P_CurrentTextdraw], listitem);
- SendClientMessage(playerid, MSG_COLOR, string);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 20);
- }
- }
- case 1596: // Esboço sombra customized
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 22, 1);
- else
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Shadow] = strval(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Shadow");
- ShowTextDrawDialog(playerid, 20);
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's esboço sombra alterado para %d.", pData[playerid][P_CurrentTextdraw], strval(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 21);
- }
- }
- case 1597: // Box on - off
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // Turned box on
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] = 1;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_UseBox");
- SendClientMessage(playerid, MSG_COLOR, "TextDraw caixa habilitada. Prosseguindo com a edição ...");
- ShowTextDrawDialog(playerid, 24);
- }
- case 1: // He disabled it, nothing more to edit.
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] = 0;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_UseBox");
- SendClientMessage(playerid, MSG_COLOR, "Caixa TextDraw desativado.");
- ShowTextDrawDialog(playerid, 5);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1598: // Box main menu
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // Turned box off
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_UseBox] = 0;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_UseBox");
- SendClientMessage(playerid, MSG_COLOR, "Caixa TextDraw desativado.");
- ShowTextDrawDialog(playerid, 23);
- }
- case 1: // box size
- {
- new string[512];
- string = "~n~~n~~n~~n~~n~~n~~n~~n~~w~";
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~GO_FORWARD~, ~k~~GO_BACK~, ~k~~GO_LEFT~, ~k~~GO_RIGHT~~n~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_STEERUP~, ~k~~VEHICLE_STEERDOWN~, ~k~~VEHICLE_STEERLEFT~, ~k~~VEHICLE_STEERRIGHT~~n~", string);
- format(string, sizeof(string), "%sand ~k~~PED_SPRINT~ to resize. ", string);
- if(!IsPlayerInAnyVehicle(playerid)) format(string, sizeof(string), "%s~k~~VEHICLE_ENTER_EXIT~", string);
- else format(string, sizeof(string), "%s~k~~VEHICLE_FIREWEAPON_ALT~", string);
- format(string, sizeof(string), "%s to finish.~n~", string);
- GameTextForPlayer(playerid, string, 9999999, 3);
- SendClientMessage(playerid, MSG_COLOR, "Use as setas [Cima], [Baixo], [Esquerda] e a tecla [Direita] para mover o TextDraw. [Espaço] para velocidade. [Enter] para terminar.");
- TogglePlayerControllable(playerid, 0);
- pData[playerid][P_KeyEdition] = EDIT_BOX;
- SetTimerEx("KeyEdit", 200, 0, "i", playerid);
- }
- case 2: // box color
- {
- pData[playerid][P_ColorEdition] = COLOR_BOX;
- ShowTextDrawDialog(playerid, 13);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1606: // Change textdraw's selectable
- {
- if(response)
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Selectable] = 1;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Selectable");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's NÃO é seleccionável pelo clique do mouse. (seleção foi ligada)", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 5);
- }
- else
- {
- tData[pData[playerid][P_CurrentTextdraw]][T_Selectable] = 0;
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Selectable");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's iNÃO é seleccionável pelo clique do mouse (a seleção foi desligado).", pData[playerid][P_CurrentTextdraw]);
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1607: // Preview model
- {
- // Model Index\nRot X\nRot Y\nRot Z\nZoom
- if(response)
- {
- if(listitem == 0)
- {
- ShowTextDrawDialog(playerid, 34);
- }
- if(listitem == 1)
- {
- ShowTextDrawDialog(playerid, 35);
- }
- if(listitem == 2)
- {
- ShowTextDrawDialog(playerid, 36);
- }
- if(listitem == 3)
- {
- ShowTextDrawDialog(playerid, 37);
- }
- if(listitem == 4)
- {
- ShowTextDrawDialog(playerid, 38);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 5);
- }
- }
- case 1608: // Model Index
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) return ShowTextDrawDialog(playerid, 33);
- tData[pData[playerid][P_CurrentTextdraw]][T_PreviewModel] = strval(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_PreviewModel");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's visualização Modelo alterada para \"%d\".", pData[playerid][P_CurrentTextdraw], strval(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 33);
- }
- else
- {
- ShowTextDrawDialog(playerid, 33);
- }
- }
- case 1609: // Rot X
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) return ShowTextDrawDialog(playerid, 33);
- tData[pData[playerid][P_CurrentTextdraw]][PMRotX] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "PMRotX");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's visualização Modelo RX alterada para \"%f\".", pData[playerid][P_CurrentTextdraw], floatstr(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 33);
- }
- else
- {
- ShowTextDrawDialog(playerid, 33);
- }
- }
- case 1610: // Rot Y
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) return ShowTextDrawDialog(playerid, 33);
- tData[pData[playerid][P_CurrentTextdraw]][PMRotY] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "PMRotY");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d'mudou visualização Modelo RY para \"%f\".", pData[playerid][P_CurrentTextdraw], floatstr(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 33);
- }
- else
- {
- ShowTextDrawDialog(playerid, 33);
- }
- }
- case 1611: // Rot Z
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) return ShowTextDrawDialog(playerid, 33);
- tData[pData[playerid][P_CurrentTextdraw]][PMRotZ] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "PMRotZ");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d's mudou visualização Modelo RZ para \"%f\".", pData[playerid][P_CurrentTextdraw], floatstr(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 33);
- }
- else
- {
- ShowTextDrawDialog(playerid, 33);
- }
- }
- case 1612: // Zoom
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) return ShowTextDrawDialog(playerid, 33);
- tData[pData[playerid][P_CurrentTextdraw]][PMZoom] = floatstr(inputtext);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- SaveTDData(pData[playerid][P_CurrentTextdraw], "PMZoom");
- new string[128];
- format(string, sizeof(string), "Textdraw #%d'mudou visualização Modelo Zoom para \"%f\".", pData[playerid][P_CurrentTextdraw], floatstr(inputtext));
- SendClientMessage(playerid, MSG_COLOR, string);
- ShowTextDrawDialog(playerid, 33);
- }
- else
- {
- ShowTextDrawDialog(playerid, 33);
- }
- }
- case 1599: // exportação menu
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // classic mode
- {
- ExportProject(playerid, 0);
- }
- case 1: // self-working fs
- {
- ShowTextDrawDialog(playerid, 26);
- }
- case 2: // PlayerTextDraw
- {
- ExportProject(playerid, 7);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 4);
- }
- }
- case 1600: // Export to self working filterscript
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // Show all the time.
- {
- ExportProject(playerid, 1);
- }
- case 1: // Show on class selection.
- {
- ExportProject(playerid, 2);
- }
- case 2: // Show while in vehicle
- {
- ExportProject(playerid, 3);
- }
- case 3: // Show with command
- {
- ShowTextDrawDialog(playerid, 27);
- }
- case 4: // Show automatly repeteadly after some time
- {
- ShowTextDrawDialog(playerid, 29);
- }
- case 5: // Show after player killed someone
- {
- ShowTextDrawDialog(playerid, 31);
- }
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 25);
- }
- }
- case 1601: // Write command for export
- {
- if(response)
- {
- if(!strlen(inputtext)) ShowTextDrawDialog(playerid, 27);
- else
- {
- if(inputtext[0] != '/')
- format(pData[playerid][P_ExpCommand], 128, "/%s", inputtext);
- else
- format(pData[playerid][P_ExpCommand], 128, "%s", inputtext);
- ShowTextDrawDialog(playerid, 28);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 26);
- }
- }
- case 1602: // Time after command for export
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 28);
- else if(strval(inputtext) < 0) ShowTextDrawDialog(playerid, 28);
- else
- {
- pData[playerid][P_Aux] = strval(inputtext);
- ExportProject(playerid, 4);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 27);
- }
- }
- case 1603: // Write time in secs to appear for export
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 29);
- else if(strval(inputtext) < 0) ShowTextDrawDialog(playerid, 29);
- else
- {
- pData[playerid][P_Aux] = strval(inputtext);
- ShowTextDrawDialog(playerid, 30);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 26);
- }
- }
- case 1604: // Time after appeared to dissapear for export
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 30);
- else if(strval(inputtext) < 0) ShowTextDrawDialog(playerid, 30);
- else
- {
- pData[playerid][P_Aux2] = strval(inputtext);
- ExportProject(playerid, 5);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 29);
- }
- }
- case 1605: // Time after appeared to dissapear when kill for export
- {
- if(response)
- {
- if(!IsNumeric2(inputtext)) ShowTextDrawDialog(playerid, 31);
- else if(strval(inputtext) < 0) ShowTextDrawDialog(playerid, 31);
- else
- {
- pData[playerid][P_Aux] = strval(inputtext);
- ExportProject(playerid, 6);
- }
- }
- else
- {
- ShowTextDrawDialog(playerid, 26);
- }
- }
- }
- return 1;
- }
- // =============================================================================
- // Functions.
- // =============================================================================
- forward ShowTextDrawDialogEx( playerid, dialogid );
- public ShowTextDrawDialogEx( playerid, dialogid ) ShowTextDrawDialog( playerid, dialogid );
- stock ShowTextDrawDialog( playerid, dialogid, aux=0, aux2=0 )
- {
- /* Shows a specific dialog for a specific player
- @playerid: ID of the player to show the dialog to.
- @dialogid: ID of the dialog to show.
- @aux: Auxiliary variable. Works to make variations of certain dialogs.
- @aux2: Auxiliary variable. Works to make variations of certain dialogs.
- -Returns:
- true on success, false on fail.
- */
- switch(dialogid)
- {
- case 0: // Select project.
- {
- new info[256];
- format(info, sizeof(info), "%sNovo projeto\n", info);
- format(info, sizeof(info), "%sCarregar projeto\n", info);
- format(info, sizeof(info), "%sDeletar Projeto", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Startup"), info, "Aceitar", "Cancelar");
- return true;
- }
- case 1:
- {
- new info[256];
- if(!aux) info = "Escreva o nome do novo arquivo de projeto.\n";
- else if(aux == 1) info = "ERRO: O nome é muito longo, por favor, tente novamente.\n";
- else if(aux == 2) info = "ERRO: Esse nome já existe, tente novamente.\n";
- else if(aux == 3) info = "ERRO: o nome do arquivo contém caracteres ilegais. Você não tem permissão para\ncriar subdiretórios. Por favor, tente novamente.";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Novo projeto"), info, "Aceitar", "Voltar");
- return true;
- }
- case 2:
- {
- // Store in a var if he's deleting or loading.
- if(aux == 2) pData[playerid][P_CurrentMenu] = DELETING;
- else pData[playerid][P_CurrentMenu] = LOADING;
- new info[1024];
- if(fexist("tdlist.lst"))
- {
- if(aux != 2) info = "Nome personalizado ...";
- else info = "<< Voltar";
- new File:tdlist = fopen("tdlist.lst", io_read),
- line[128];
- while(fread(tdlist, line))
- {
- format(info, sizeof(info), "%s\n%s", info, line);
- }
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Carregar projeto"), info, "Aceitar", "Voltar");
- fclose(tdlist);
- }
- else
- {
- if(aux) format(info, sizeof(info), "%sNão foi possível encontrar tdlist.lst.\n", info);
- format(info, sizeof(info), "%sEscreva manualmente o nome do arquivo de projeto que você deseja\n", info);
- if(aux != 2) format(info, sizeof(info), "%sPara abrir:\n", info);
- else format(info, sizeof(info), "%sPara apagar:\n", info);
- if(aux != 2) ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Carregar projeto"), info, "Aceitar", "Voltar");
- else ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Excluir Projeto"), info, "Aceitar", "Voltar");
- }
- return true;
- }
- case 3:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Carregar projeto"), \
- "Escreva manualmente o nome do arquivo de projeto\n que você deseja carregar\n", "Aceitar", "Voltar");
- return true;
- }
- case 4: // Menu principal edição (mostra todos os textdraws e permite que você crie um novo).
- {
- new info[1024],
- shown;
- format(info, sizeof(info), "%sCriar uma nova TextDraw ...", info);
- shown ++;
- format(info, sizeof(info), "%s\nExportar projeto ...", info);
- shown ++;
- format(info, sizeof(info), "%s\nFechar projeto ...", info);
- shown ++;
- // Aux aqui é usado para indicar a partir do qual TV mostrar a lista de.
- pData[playerid][P_DialogPage] = aux;
- for(new i=aux; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- shown ++;
- if(shown == 12)
- {
- format(info, sizeof(info), "%s\nMais >>", info);
- break;
- }
- new PieceOfText[PREVIEW_CHARS];
- if(strlen(tData[i][T_Text]) > sizeof(PieceOfText))
- {
- strmid(PieceOfText, tData[i][T_Text], 0, PREVIEW_CHARS, PREVIEW_CHARS);
- format(info, sizeof(info), "%s\nTDraw %d: '%s [...]'", info, i, PieceOfText);
- }
- else
- {
- format(info, sizeof(info), "%s\nTDraw %d: '%s'", info, i, tData[i][T_Text]);
- }
- }
- }
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "TextDraw seleção"), info, "Aceitar", "Cancelar");
- return true;
- }
- case 5:
- {
- new info[1024];
- format(info, sizeof(info), "%sAlterar texto\n", info);
- format(info, sizeof(info), "%sAlterar posição\n", info);
- format(info, sizeof(info), "%sAltere Alinhamento\n", info);
- format(info, sizeof(info), "%sMude a cor do texto\n", info);
- format(info, sizeof(info), "%sMude a Fonte\n", info);
- format(info, sizeof(info), "%sMude proporcionalidade\n", info);
- format(info, sizeof(info), "%sAlterar o tamanho da fonte\n", info);
- format(info, sizeof(info), "%sEditar Esboço\n", info);
- format(info, sizeof(info), "%sEditar Caixa\n", info);
- format(info, sizeof(info), "%sTextDraw selecionáveis\n", info);
- format(info, sizeof(info), "%sOpções de visualizar modelo\n", info);
- format(info, sizeof(info), "%sDuplicar TextDraw\n", info);
- format(info, sizeof(info), "%sExcluir TextDraw ...", info);
- new title[40];
- format(title, sizeof(title), "Textdraw %d", pData[playerid][P_CurrentTextdraw]);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, title), info, "Aceitar", "Cancelar");
- return true;
- }
- case 6:
- {
- new info[256];
- format(info, sizeof(info), "%sTem certeza de que deseja excluir o\n", info);
- format(info, sizeof(info), "%s%s projeto ?\n\n", info, GetFileNameFromLst("tdlist.lst", pData[playerid][P_Aux]));
- format(info, sizeof(info), "%sATENÇÃO: Não há maneira de desfazer esta operação.", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_MSGBOX, CreateDialogTitle(playerid, "Confirme a eliminação"), info, "Sim", "Não");
- return true;
- }
- case 7:
- {
- new info[256];
- format(info, sizeof(info), "%sTem certeza de que deseja excluir o numero\n", info);
- format(info, sizeof(info), "%sTextdraw %d?\n\n", info, pData[playerid][P_CurrentTextdraw]);
- format(info, sizeof(info), "%sATENÇÃO: Não há maneira de desfazer esta operação.", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_MSGBOX, CreateDialogTitle(playerid, "Confirme a eliminação"), info, "Sim", "Não");
- return true;
- }
- case 8:
- {
- new info[1024];
- info = "Escreva o novo texto textdraws. O texto atual é:\n\n";
- format(info, sizeof(info), "%s%s\n\n", info, tData[pData[playerid][P_CurrentTextdraw]][T_Text]);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "TextDraw corda"), info, "Aceitar", "Voltar");
- return true;
- }
- case 9:
- {
- new info[256];
- info = "Escrever posição exata\n";
- format(info, sizeof(info), "%sMova o TextDraw", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraws posição"), info, "Aceitar", "Voltar");
- return true;
- }
- case 10:
- {
- // aux is 0 for X, 1 for Y.
- // aux2 is the type of error message. 0 for no error.
- new info[256];
- if(aux2 == 1) info = "ERRO: Você tem que escrever um número.\n\n";
- format(info, sizeof(info), "%sEscreva em numeros ", info);
- if(aux == 0) format(info, sizeof(info), "%sX", info);
- else if(aux == 1) format(info, sizeof(info), "%sY", info);
- format(info, sizeof(info), "%s posição do TextDraw\n", info);
- pData[playerid][P_Aux] = aux; // To know if he's editing X or Y.
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraws posição"), info, "Aceitar", "Voltar");
- return true;
- }
- case 11:
- {
- new info[256];
- info = "Esquerda (tipo 1)\nCentrado (tipo 2)\nDireita (tipo 3)";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraws alinhamento"), info, "Aceitar", "Voltar");
- return true;
- }
- case 12:
- {
- new info[256];
- info = "Proporcionalidade On\nProporcionalidade Off";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraws Proporcionalidade"), info, "Aceitar", "Voltar");
- return true;
- }
- case 13:
- {
- new info[256];
- info = "Escrever um número hexadecimal\nUse combinação de cores\nSelecione uma cor pré feitas";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "TextDraw cor"), info, "Aceitar", "Voltar");
- return true;
- }
- case 14:
- {
- new info[256];
- if(aux) info = "ERRO: Você escreveu um número hexadecimal inválido.\n\n";
- format(info, sizeof(info), "%sEscreva o número hexadecimal que você deseja:\n", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "TextDraw cor"), info, "Aceitar", "Voltar");
- return true;
- }
- case 15:
- {
- // aux is 0 for red, 1 for green, 2 for blue, and 3 for alpha.
- // aux2 is the type of error message. 0 for no error.
- new info[256];
- if(aux2 == 1) info = "ERRO: O número tem que ser entre 0 e 255.\n\n";
- else if(aux2 == 2) info = "ERRO: Você tem que escrever um número.\n\n";
- format(info, sizeof(info), "%sEscreva a quantidade de ", info);
- if(aux == 0) format(info, sizeof(info), "%sVERMELHO", info);
- else if(aux == 1) format(info, sizeof(info), "%sVERDE", info);
- else if(aux == 2) format(info, sizeof(info), "%sAZUL", info);
- else if(aux == 3) format(info, sizeof(info), "%sOPACIDADE", info);
- format(info, sizeof(info), "%s você quer.\n", info);
- format(info, sizeof(info), "%sO número tem que estar entre 0 e 255.", info);
- pData[playerid][P_Aux] = aux; // Para saber de que cor ele é edição.
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "TextDraw cor"), info, "Aceitar", "Voltar");
- return true;
- }
- case 16:
- {
- new info[256];
- info = "Vermelho\nVerde\nAzul\nAmarelo\nRosa\nAzul Claro\nBranco\nPreto";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "TextDraw cor"), info, "Aceitar", "Voltar");
- return true;
- }
- case 17:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "TextDraw fonte"), "Tipo de fonte 0\nTipo de fonte 1\nTipo de fonte 2\nTipo de fonte 3\nTipo de fonte 4\nTipo de fonte 5 (( TEXT_DRAW_FONT_MODEL_PREVIEW ))", "Aceitar", "Voltar");
- return true;
- }
- case 18:
- {
- new info[256];
- info = "Write exact size\n";
- format(info, sizeof(info), "%sRedimensionar a TextDraw", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "TextDraw tamanho da fonte"), info, "Aceitar", "Voltar");
- return true;
- }
- case 19:
- {
- // aux is 0 for X, 1 for Y.
- // aux2 is the type of error message. 0 for no error.
- new info[256];
- if(aux2 == 1) info = "ERRO: Você tem que escrever um número.\n\n";
- format(info, sizeof(info), "%sEscreve um número exato ", info);
- if(aux == 0) format(info, sizeof(info), "%sX", info);
- else if(aux == 1) format(info, sizeof(info), "%sY", info);
- format(info, sizeof(info), "%s comprimento das cartas de fonte.\n", info);
- pData[playerid][P_Aux] = aux; // To know if he's editing X or Y.
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraws tamanho"), info, "Aceitar", "Voltar");
- return true;
- }
- case 20:
- {
- new info[256];
- if(tData[pData[playerid][P_CurrentTextdraw]][T_Outline] == 1) info = "Esboço Off";
- else info = "Esboço On";
- format(info, sizeof(info), "%s\nTamanho Sombra\nEsboço/Cor da Sombra\nTerminar edição esboço ...", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraws esboço"), info, "Aceitar", "Voltar");
- return true;
- }
- case 21:
- {
- new info[256];
- info = "Esboço sombra 0\nEsboço sombra 1\nEsboço sombra 2\nEsboço sombra 3\nEsboço sombra 4\nEsboço sombra 5\nCustom...";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraw's Esboço sombra"), info, "Aceitar", "Voltar");
- return true;
- }
- case 22:
- {
- new info[256];
- if(aux) info = "ERRO: Você escreveu um número inválido.\n\n";
- format(info, sizeof(info), "%sEscrever um número que indica o tamanho da sombra;\n", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's Esboço sombra"), info, "Aceitar", "Voltar");
- return true;
- }
- case 23:
- {
- new info[256];
- info = "Box On\nBox Off";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraw's box"), info, "Aceitar", "Voltar");
- return true;
- }
- case 24:
- {
- new info[256];
- info = "Box Off\nBox Tamanho\nBox Cor";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraw's box"), info, "Aceitar", "Voltar");
- return true;
- }
- case 25:
- {
- new info[256];
- info = "Modelo de exportação clássico filterscript Self-trabalho\nPlayerTextDraw";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraw's Exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 26:
- {
- new info[512];
- info = "FScript: Show TextDraw o tempo todo\nFScript: Show TextDraw na seleção de classe\nFScript: Show TextDraw enquanto em veículo\n\
- FScript: Mostrar TextDraw com comando\nFScript: Mostrar todos os X quantidade de tempo\nFScript: Show depois de matar alguém";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 27:
- {
- new info[128];
- info = "Escreva o comando que você quer mostrar o TextDraw\n";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 28:
- {
- new info[128];
- info = "Quanto tempo (em segundos) que permanecerá na tela?\n";
- format(info, sizeof(info), "%sEscreve 0 se você quiser esconder-lo digitando o comando novamente\n", info);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 29:
- {
- new info[128];
- info = "Todo o tempo que você quer que os textdraws aparecer?\nEscrever um tempo em segundos:\n";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 30:
- {
- new info[128];
- info = "Uma vez que ele aparece, por quanto tempo ele permanecerá na tela?\nEscrever um tempo em segundos:\n";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 31:
- {
- new info[128];
- info = "Uma vez que ele aparece, por quanto tempo ele permanecerá na tela?\nEscrever um tempo em segundos:\n";
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Textdraw's exportação"), info, "Aceitar", "Voltar");
- return true;
- }
- case 32:
- {
- new info[1024];
- format(info, sizeof(info), "Selecionável TextDraw. O selecionável atual é: %d\n",tData[pData[playerid][P_CurrentTextdraw]][T_Selectable]);
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_MSGBOX, CreateDialogTitle(playerid, "Textdraw's selectable"), info, "Select ON", "Select OFF");
- return true;
- }
- case 33:
- {
- if(GetPVarInt(playerid, "Use2DTD") == 1)
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_LIST, CreateDialogTitle(playerid, "Opções de visualização TextDraw modelo"), "Índice Modelo\nRot X\nRot Y\nRot Z\nZoom", "Aceitar", "Cancel");
- }
- else if(!GetPVarInt(playerid, "Use2DTD"))
- {
- SendClientMessage(playerid, -1, "Selecione Fonte #5 para criar uma visualização de TextDraw");
- ShowTextDrawDialog(playerid, 5);
- }
- return true;
- }
- case 34:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Prévia do índice Modelo TextDraw"), "Insira Index Modelo: (( ObjectID ))", "Aceitar", "Cancel");
- return true;
- }
- case 35:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Prévia do índice Modelo TextDraw"), "Insira Index Modelo RX:", "Go", "Back");
- return true;
- }
- case 36:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Prévia do índice Modelo TextDraw"), "Insira Index Modelo RY:", "Go", "Back");
- return true;
- }
- case 37:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Prévia do índice Modelo TextDraw"), "Insira Index Modelo RZ:", "Go", "Back");
- return true;
- }
- case 38:
- {
- ShowPlayerDialog(playerid, dialogid+1574, DIALOG_STYLE_INPUT, CreateDialogTitle(playerid, "Prévia do índice Modelo TextDraw"), "Insira Index Modelo Zoom:", "Go", "Back");
- return true;
- }
- }
- return false;
- }
- stock CreateDialogTitle( playerid, text[] )
- {
- /* Cria um título padrão para os diálogos.
- playerid: ID do jogador de receber seu título de diálogo gerada.
- Text []: O texto a ser anexado ao título.
- */
- #pragma unused playerid
- new string[128];
- if(!strlen(CurrentProject) || !strcmp(CurrentProject, " "))
- format(string, sizeof(string), "Zamaroth TextDraw Editor: %s", text);
- else
- format(string, sizeof(string), "%s - Zamaroth TextDraw Editor: %s", CurrentProject, text);
- return string;
- }
- stock ResetPlayerVars( playerid )
- {
- /* Rredefine um jogador específico Informações pData.
- playerid: ID do jogador para repor os dados de.
- */
- pData[playerid][P_Editing] = false;
- strmid(CurrentProject, "", 0, 1, 128);
- }
- forward KeyEdit( playerid );
- public KeyEdit( playerid )
- {
- /* Manipula a edição pelo teclado.
- playerid: edição Player.
- */
- if(pData[playerid][P_KeyEdition] == EDIT_NONE) return 0;
- new string[256]; // Buffer para todos os gametexts e outras mensagens.
- new keys, updown, leftright;
- GetPlayerKeys(playerid, keys, updown, leftright);
- if(updown < 0) // Ele está pressionando para cima
- {
- switch(pData[playerid][P_KeyEdition])
- {
- case EDIT_POSITION:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_Y] -= 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_Y] -= 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Posição: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_X], tData[pData[playerid][P_CurrentTextdraw]][T_Y]);
- }
- case EDIT_SIZE:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_YSize] -= 1.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_YSize] -= 0.1;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_XSize], tData[pData[playerid][P_CurrentTextdraw]][T_YSize]);
- }
- case EDIT_BOX:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] -= 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] -= 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX], tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY]);
- }
- }
- }
- else if(updown > 0) // Ele está pressionando para baixo
- {
- switch(pData[playerid][P_KeyEdition])
- {
- case EDIT_POSITION:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_Y] += 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_Y] += 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Posição: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_X], tData[pData[playerid][P_CurrentTextdraw]][T_Y]);
- }
- case EDIT_SIZE:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_YSize] += 1.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_YSize] += 0.1;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_XSize], tData[pData[playerid][P_CurrentTextdraw]][T_YSize]);
- }
- case EDIT_BOX:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] += 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY] += 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX], tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY]);
- }
- }
- }
- if(leftright < 0) // Ele está pressionando esquerda
- {
- switch(pData[playerid][P_KeyEdition])
- {
- case EDIT_POSITION:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_X] -= 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_X] -= 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Position: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_X], tData[pData[playerid][P_CurrentTextdraw]][T_Y]);
- }
- case EDIT_SIZE:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_XSize] -= 0.1;
- else tData[pData[playerid][P_CurrentTextdraw]][T_XSize] -= 0.01;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_XSize], tData[pData[playerid][P_CurrentTextdraw]][T_YSize]);
- }
- case EDIT_BOX:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] -= 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] -= 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX], tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY]);
- }
- }
- }
- else if(leftright > 0) // Ele está pressionando direita
- {
- switch(pData[playerid][P_KeyEdition])
- {
- case EDIT_POSITION:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_X] += 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_X] += 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Posição: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_X], tData[pData[playerid][P_CurrentTextdraw]][T_Y]);
- }
- case EDIT_SIZE:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_XSize] += 0.1;
- else tData[pData[playerid][P_CurrentTextdraw]][T_XSize] += 0.01;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho: ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_XSize], tData[pData[playerid][P_CurrentTextdraw]][T_YSize]);
- }
- case EDIT_BOX:
- {
- if(keys == KEY_SPRINT) tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] += 10.0;
- else tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX] += 1.0;
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~~h~Tamanho ~b~X: ~w~%.4f ~r~- ~b~Y: ~w~%.4f", \
- tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeX], tData[pData[playerid][P_CurrentTextdraw]][T_TextSizeY]);
- }
- }
- }
- GameTextForPlayer(playerid, string, 999999999, 3);
- UpdateTextdraw(pData[playerid][P_CurrentTextdraw]);
- if(pData[playerid][P_KeyEdition] == EDIT_POSITION)
- {
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_X");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_Y");
- }
- else if(pData[playerid][P_KeyEdition] == EDIT_SIZE)
- {
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_XSize");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_YSize");
- }
- else if(pData[playerid][P_KeyEdition] == EDIT_BOX)
- {
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeX");
- SaveTDData(pData[playerid][P_CurrentTextdraw], "T_TextSizeY");
- }
- SetTimerEx("KeyEdit", 200, 0, "i", playerid);
- return 1;
- }
- public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
- {
- if(pData[playerid][P_KeyEdition] != EDIT_NONE && newkeys == KEY_SECONDARY_ATTACK)
- {
- GameTextForPlayer(playerid, " ", 100, 3);
- TogglePlayerControllable(playerid, 1);
- new string[128];
- switch(pData[playerid][P_KeyEdition])
- {
- case EDIT_POSITION:
- {
- format(string, sizeof(string), "Textdraw #%d movida com sucesso.", pData[playerid][P_CurrentTextdraw]);
- }
- case EDIT_SIZE:
- {
- format(string, sizeof(string), "Textdraw #%d redimensionada com êxito.", pData[playerid][P_CurrentTextdraw]);
- }
- case EDIT_BOX:
- {
- format(string, sizeof(string), "Textdraw #%d's caixa redimensionada com êxito.", pData[playerid][P_CurrentTextdraw]);
- }
- }
- if(pData[playerid][P_KeyEdition] == EDIT_BOX) SetTimerEx("ShowTextDrawDialogEx", 500, 0, "ii", playerid, 24);
- else SetTimerEx("ShowTextDrawDialogEx", 500, 0, "ii", playerid, 5);
- SendClientMessage(playerid, MSG_COLOR, string);
- pData[playerid][P_KeyEdition] = EDIT_NONE;
- }
- return 1;
- }
- stock CreateNewProject( name[] )
- {
- /* Cria um novo arquivo de projeto .tde.
- name []: Nome para ser usado no nome do ficheiro.
- */
- new string[128], File:File;
- // Adicioná-lo à lista.
- format(string, sizeof(string), "%s\r\n", name);
- File = fopen("tdlist.lst", io_append);
- fwrite(File, string);
- fclose(File);
- // Crie o arquivo padrão.
- File = fopen(name, io_write);
- fwrite(File, "TDFile=yes");
- fclose(File);
- }
- stock ClearTextdraw( tdid )
- {
- /* Redefine as variáveis ??de um TextDraw e destrói.
- tdid: TextDraw ID
- */
- TextDrawHideForAll(tData[tdid][T_Handler]);
- tData[tdid][T_Created] = false;
- strmid(tData[tdid][T_Text], "", 0, 1, 2);
- tData[tdid][T_X] = 0.0;
- tData[tdid][T_Y] = 0.0;
- tData[tdid][T_Alignment] = 0;
- tData[tdid][T_BackColor] = 0;
- tData[tdid][T_UseBox] = 0;
- tData[tdid][T_BoxColor] = 0;
- tData[tdid][T_TextSizeX] = 0.0;
- tData[tdid][T_TextSizeY] = 0.0;
- tData[tdid][T_Color] = 0;
- tData[tdid][T_Font] = 0;
- tData[tdid][T_XSize] = 0.0;
- tData[tdid][T_YSize] = 0.0;
- tData[tdid][T_Outline] = 0;
- tData[tdid][T_Proportional] = 0;
- tData[tdid][T_Shadow] = 0;
- tData[tdid][T_Selectable] = 0;
- tData[tdid][T_PreviewModel] = -1;
- tData[tdid][PMZoom] = 0;
- tData[tdid][PMRotX] = 0;
- tData[tdid][PMRotY] = 0.0;
- tData[tdid][PMRotZ] = 0;
- }
- stock CreateDefaultTextdraw( tdid, save = 1 )
- {
- /* Cria um novo TextDraw com as configurações padrão.
- tdid: TextDraw ID
- */
- tData[tdid][T_Created] = true;
- format(tData[tdid][T_Text], 1024, "Nova Textdraw", 1);
- tData[tdid][T_X] = 250.0;
- tData[tdid][T_Y] = 10.0;
- tData[tdid][T_Alignment] = 0;
- tData[tdid][T_BackColor] = RGB(0, 0, 0, 255);
- tData[tdid][T_UseBox] = 0;
- tData[tdid][T_BoxColor] = RGB(0, 0, 0, 255);
- tData[tdid][T_TextSizeX] = 0.0;
- tData[tdid][T_TextSizeY] = 0.0;
- tData[tdid][T_Color] = RGB(255, 255, 255, 255);
- tData[tdid][T_Font] = 1;
- tData[tdid][T_XSize] = 0.5;
- tData[tdid][T_YSize] = 1.0;
- tData[tdid][T_Outline] = 0;
- tData[tdid][T_Proportional] = 1;
- tData[tdid][T_Shadow] = 1;
- tData[tdid][T_Selectable] = 0;
- tData[tdid][T_PreviewModel] = -1;
- tData[tdid][PMZoom] = 1.0;
- tData[tdid][PMRotX] = -16.0;
- tData[tdid][PMRotY] = 0.0;
- tData[tdid][PMRotZ] = -55.0;
- UpdateTextdraw(tdid);
- if(save) SaveTDData(tdid, "T_Created");
- }
- stock DuplicateTextdraw( source, to )
- {
- /* Duplica uma TextDraw de outro. Atualiza o novo.
- source: Onde copiar o TextDraw partir.
- Ao: Onde copiar o TextDraw para.
- */
- tData[to][T_Created] = tData[source][T_Created];
- format(tData[to][T_Text], 1024, "%s", tData[source][T_Text]);
- tData[to][T_X] = tData[source][T_X];
- tData[to][T_Y] = tData[source][T_Y];
- tData[to][T_Alignment] = tData[source][T_Alignment];
- tData[to][T_BackColor] = tData[source][T_BackColor];
- tData[to][T_UseBox] = tData[source][T_UseBox];
- tData[to][T_BoxColor] = tData[source][T_BoxColor];
- tData[to][T_TextSizeX] = tData[source][T_TextSizeX];
- tData[to][T_TextSizeY] = tData[source][T_TextSizeY];
- tData[to][T_Color] = tData[source][T_Color];
- tData[to][T_Font] = tData[source][T_Font];
- tData[to][T_XSize] = tData[source][T_XSize];
- tData[to][T_YSize] = tData[source][T_YSize];
- tData[to][T_Outline] = tData[source][T_Outline];
- tData[to][T_Proportional] = tData[source][T_Proportional];
- tData[to][T_Shadow] = tData[source][T_Shadow];
- tData[to][T_Selectable] = tData[source][T_Selectable];
- tData[to][T_PreviewModel] = tData[source][T_PreviewModel];
- tData[to][PMRotX] = tData[source][PMRotX];
- tData[to][PMRotY] = tData[source][PMRotY];
- tData[to][PMRotZ] = tData[source][PMRotZ];
- tData[to][PMZoom] = tData[source][PMZoom];
- UpdateTextdraw(to);
- SaveTDData(to, "T_Criado");
- SaveTDData(to, "T_Texto");
- SaveTDData(to, "T_X");
- SaveTDData(to, "T_Y");
- SaveTDData(to, "T_Alinhamento");
- SaveTDData(to, "T_VoltarCor");
- SaveTDData(to, "T_UseCaixa");
- SaveTDData(to, "T_CaixaCor");
- SaveTDData(to, "T_TamanhoTextoX");
- SaveTDData(to, "T_TamanhoTextoY");
- SaveTDData(to, "T_Cor");
- SaveTDData(to, "T_Fonte");
- SaveTDData(to, "T_XTamanho");
- SaveTDData(to, "T_YTamanho");
- SaveTDData(to, "T_Escoco");
- SaveTDData(to, "T_Proporcional");
- SaveTDData(to, "T_Sombra");
- SaveTDData(to, "T_Selecionavel");
- SaveTDData(to, "T_VisualizarModelo");
- SaveTDData(to, "PMRotX");
- SaveTDData(to, "PMRotY");
- SaveTDData(to, "PMRotZ");
- SaveTDData(to, "PMZoom");
- }
- stock UpdateTextdraw( tdid )
- {
- if(!tData[tdid][T_Created]) return false;
- TextDrawHideForAll(tData[tdid][T_Handler]);
- TextDrawDestroy(tData[tdid][T_Handler]);
- // Recreate it
- tData[tdid][T_Handler] = TextDrawCreate(tData[tdid][T_X], tData[tdid][T_Y], tData[tdid][T_Text]);
- TextDrawAlignment(tData[tdid][T_Handler], tData[tdid][T_Alignment]);
- TextDrawBackgroundColor(tData[tdid][T_Handler], tData[tdid][T_BackColor]);
- TextDrawColor(tData[tdid][T_Handler], tData[tdid][T_Color]);
- TextDrawFont(tData[tdid][T_Handler], tData[tdid][T_Font]);
- TextDrawLetterSize(tData[tdid][T_Handler], tData[tdid][T_XSize], tData[tdid][T_YSize]);
- TextDrawSetOutline(tData[tdid][T_Handler], tData[tdid][T_Outline]);
- TextDrawSetProportional(tData[tdid][T_Handler], tData[tdid][T_Proportional]);
- TextDrawSetShadow(tData[tdid][T_Handler], tData[tdid][T_Shadow]);
- TextDrawSetSelectable(tData[tdid][T_Handler], tData[tdid][T_Selectable]);
- if(tData[tdid][T_PreviewModel] > -1)
- {
- TextDrawSetPreviewModel(tData[tdid][T_Handler], tData[tdid][T_PreviewModel]);
- TextDrawSetPreviewRot(tData[tdid][T_Handler], tData[tdid][PMRotX], tData[tdid][PMRotY], tData[tdid][PMRotZ], tData[tdid][PMZoom]);
- }
- if(tData[tdid][T_UseBox])
- {
- TextDrawUseBox(tData[tdid][T_Handler], tData[tdid][T_UseBox]);
- TextDrawBoxColor(tData[tdid][T_Handler], tData[tdid][T_BoxColor]);
- TextDrawTextSize(tData[tdid][T_Handler], tData[tdid][T_TextSizeX], tData[tdid][T_TextSizeY]);
- }
- TextDrawShowForAll(tData[tdid][T_Handler]);
- return true;
- }
- stock DeleteTDFromFile( tdid )
- {
- /* Exclui um TextDraw específica de seu arquivo .tde
- tdid: TextDraw ID.
- */
- new string[128], filename[135];
- format(filename, sizeof(filename), "%s.tde", CurrentProject);
- format(string, sizeof(string), "%dT_Criado", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Texto", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_X", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Y", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Alinhamento", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_VoltarCor", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_UseCaixa", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_CaixaCor", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_TamanhoTextoX", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_TamanhoTextoY", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Cor", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Fonte", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_XTamanho", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_YTamanho", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Esboco", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Proportional", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Sombra", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_Selecionavel", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dT_VisualizarModelo", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dPMRotX", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dPMRotY", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dPMRotZ", tdid);
- dini_Unset(filename, string);
- format(string, sizeof(string), "%dPMZoom", tdid);
- dini_Unset(filename, string);
- }
- stock SaveTDData( tdid, data[] )
- {
- /* Salva de dados específica de um TextDraw específica para projetar arquivo.
- tdid: TextDraw ID.
- Data []: Os dados a serem salvos.
- */
- new string[128], filename[135];
- format(string, sizeof(string), "%d%s", tdid, data);
- format(filename, sizeof(filename), "%s.tde", CurrentProject);
- if(!strcmp("T_Criado", data))
- dini_IntSet(filename, string, 1);
- else if(!strcmp("T_Texto", data))
- dini_Set(filename, string, tData[tdid][T_Text]);
- else if(!strcmp("T_X", data))
- dini_FloatSet(filename, string, tData[tdid][T_X]);
- else if(!strcmp("T_Y", data))
- dini_FloatSet(filename, string, tData[tdid][T_Y]);
- else if(!strcmp("T_Alinhamento", data))
- dini_IntSet(filename, string, tData[tdid][T_Alignment]);
- else if(!strcmp("T_VoltarCor", data))
- dini_IntSet(filename, string, tData[tdid][T_BackColor]);
- else if(!strcmp("T_UseCaixa", data))
- dini_IntSet(filename, string, tData[tdid][T_UseBox]);
- else if(!strcmp("T_CaixaCor", data))
- dini_IntSet(filename, string, tData[tdid][T_BoxColor]);
- else if(!strcmp("T_TamanhoTextoX", data))
- dini_FloatSet(filename, string, tData[tdid][T_TextSizeX]);
- else if(!strcmp("T_TamanhoTextoY", data))
- dini_FloatSet(filename, string, tData[tdid][T_TextSizeY]);
- else if(!strcmp("T_Cor", data))
- dini_IntSet(filename, string, tData[tdid][T_Color]);
- else if(!strcmp("T_Fonte", data))
- dini_IntSet(filename, string, tData[tdid][T_Font]);
- else if(!strcmp("T_XTamanho", data))
- dini_FloatSet(filename, string, tData[tdid][T_XSize]);
- else if(!strcmp("T_YTamanho", data))
- dini_FloatSet(filename, string, tData[tdid][T_YSize]);
- else if(!strcmp("T_Esboco", data))
- dini_IntSet(filename, string, tData[tdid][T_Outline]);
- else if(!strcmp("T_Proporcional", data))
- dini_IntSet(filename, string, tData[tdid][T_Proportional]);
- else if(!strcmp("T_Sombra", data))
- dini_IntSet(filename, string, tData[tdid][T_Shadow]);
- else if(!strcmp("T_Selecionavel", data))
- dini_IntSet(filename, string, tData[tdid][T_Selectable]);
- else if(!strcmp("T_VisualizarModelo", data))
- dini_IntSet(filename, string, tData[tdid][T_PreviewModel]);
- else if(!strcmp("PMRotX", data))
- dini_FloatSet(filename, string, tData[tdid][PMRotX]);
- else if(!strcmp("PMRotY", data))
- dini_FloatSet(filename, string, tData[tdid][PMRotY]);
- else if(!strcmp("PMRotZ", data))
- dini_FloatSet(filename, string, tData[tdid][PMRotZ]);
- else if(!strcmp("PMZoom", data))
- dini_FloatSet(filename, string, tData[tdid][PMZoom]);
- else
- SendClientMessageToAll(MSG_COLOR, "Incorrect data parsed, textdraw autosave failed");
- }
- stock LoadProject( playerid, filename[] )
- {
- /* Carrega um projeto para a edição.
- FileName []: Nome do arquivo onde o projeto é salvo no momento
- */
- new string[128];
- if(!dini_Isset(filename, "TDFile"))
- {
- SendClientMessage(playerid, MSG_COLOR, "Arquivo TextDraw inválido.");
- ShowTextDrawDialog(playerid, 0);
- }
- else
- {
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- format(string, sizeof(string), "%dT_Criado", i);
- if(dini_Isset(filename, string))
- {
- CreateDefaultTextdraw(i, 0); // Criar, mas não salve.
- format(string, sizeof(string), "%dT_Texto", i);
- if(dini_Isset(filename, string))
- format(tData[i][T_Text], 1536, "%s", dini_Get(filename, string));
- format(string, sizeof(string), "%dT_X", i);
- if(dini_Isset(filename, string))
- tData[i][T_X] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_Y", i);
- if(dini_Isset(filename, string))
- tData[i][T_Y] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_Alinhamento", i);
- if(dini_Isset(filename, string))
- tData[i][T_Alignment] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_VoltarCor", i);
- if(dini_Isset(filename, string))
- tData[i][T_BackColor] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_UseCaixa", i);
- if(dini_Isset(filename, string))
- tData[i][T_UseBox] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_CaixaCor", i);
- if(dini_Isset(filename, string))
- tData[i][T_BoxColor] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_TamanhoTextoX", i);
- if(dini_Isset(filename, string))
- tData[i][T_TextSizeX] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_TamanhoTextoY", i);
- if(dini_Isset(filename, string))
- tData[i][T_TextSizeY] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_Cor", i);
- if(dini_Isset(filename, string))
- tData[i][T_Color] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_Fonte", i);
- if(dini_Isset(filename, string))
- tData[i][T_Font] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_XTamanho", i);
- if(dini_Isset(filename, string))
- tData[i][T_XSize] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_YTamanho", i);
- if(dini_Isset(filename, string))
- tData[i][T_YSize] = dini_Float(filename, string);
- format(string, sizeof(string), "%dT_Esboco", i);
- if(dini_Isset(filename, string))
- tData[i][T_Outline] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_Proporcional", i);
- if(dini_Isset(filename, string))
- tData[i][T_Proportional] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_Sombra", i);
- if(dini_Isset(filename, string))
- tData[i][T_Shadow] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_Selecionavel", i);
- if(dini_Isset(filename, string))
- tData[i][T_Selectable] = dini_Int(filename, string);
- format(string, sizeof(string), "%dT_VisualizarModelo", i);
- if(dini_Isset(filename, string))
- tData[i][T_PreviewModel] = dini_Int(filename, string);
- format(string, sizeof(string), "%dPMRotX", i);
- if(dini_Isset(filename, string))
- tData[i][PMRotX] = dini_Float(filename, string);
- format(string, sizeof(string), "%dPMRotY", i);
- if(dini_Isset(filename, string))
- tData[i][PMRotY] = dini_Float(filename, string);
- format(string, sizeof(string), "%dPMRotZ", i);
- if(dini_Isset(filename, string))
- tData[i][PMRotZ] = dini_Float(filename, string);
- format(string, sizeof(string), "%dPMZoom", i);
- if(dini_Isset(filename, string))
- tData[i][PMZoom] = dini_Float(filename, string);
- UpdateTextdraw(i);
- }
- }
- strmid(CurrentProject, filename, 0, strlen(filename) - 4, 128);
- ShowTextDrawDialog(playerid, 4);
- }
- }
- stock ExportProject( playerid, type )
- {
- /* Exportações de um projeto.
- playerid: ID do jogador exportar o projeto.
- type: Tipo de exportação solicitado:
- - Tipo 0: Tipo exportação clássico
- */
- SendClientMessage(playerid, MSG_COLOR, "O projeto agora está sendo importado, por favor aguarde ...");
- new filename[135], tmpstring[1152];
- if(type == 0) format(filename, sizeof(filename), "%s.txt", CurrentProject);
- else if(type == 7) format(filename, sizeof(filename), "%s.txt", CurrentProject);
- else format(filename, sizeof(filename), "%s.pwn", CurrentProject);
- new File:File = fopen(filename, io_write);
- switch(type)
- {
- case 0: // Exportação Classic.
- {
- fwrite(File, "// TextDraw desenvolvido utilizando Zamaroth TextDraw Editor 1.0\r\n\r\n");
- fwrite(File, "// Em cima do script::\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\n// Em OnGameModeInit preferência, passamos a criar nossos textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), "TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), "TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), "TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), "TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_PreviewModel] > -1)
- {
- format(tmpstring, sizeof(tmpstring), "TextDrawSetPreviewModel(Textdraw%d, %d);\r\n", i, tData[i][T_PreviewModel]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "TextDrawSetPreviewRot(Textdraw%d, %f, %f, %f, %f);\r\n", i, tData[i][PMRotX], tData[i][PMRotY], tData[i][PMRotZ], tData[i][PMZoom]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), "TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, "// Agora você pode usar TextDrawShowForPlayer (-ForAll), TextDrawShowForPlayer (-ForAll) e\r\n");
- fwrite(File, "// TextDraw Destrua funções para exibir, ocultar e destruir o TextDraw.");
- format(tmpstring, sizeof(tmpstring), "Projeto para exportação %s.text em arquivos de script do diretório.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 1: // Mostrar o tempo todo
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript gerado usando Zamaroth TextDraw Editor Version 1.0 (atual v3.1).\r\n");
- fwrite(File, "Projetado para SA-MP 0.3z.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Data e Hora: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"TextDraw arquivo gerada pela\");\r\n");
- fwrite(File, " print(\" Editor Zamaroth TextDraw foi carregado.\");\r\n\r\n");
- fwrite(File, " // Crie os textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, " for(new i; i < MAX_PLAYERS; i ++)\r\n");
- fwrite(File, " {\r\n");
- fwrite(File, " if(IsPlayerConnected(i))\r\n");
- fwrite(File, " {\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(i, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " }\r\n");
- fwrite(File, " }\r\n");
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerConnect(playerid)\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n");
- format(tmpstring, sizeof(tmpstring), "Projeto para exportação %s.pen em arquivos de script de diretório como um filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 2: // Mostrar no seleção de classe
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript gerado usando Zamaroth TextDraw Editor Version 1.0 (atual v3.1).\r\n");
- fwrite(File, "Projetado para SA-MP 0.3z.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Hora e Data: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"TextDraw arquivo gerada pela\");\r\n");
- fwrite(File, " print(\" Editor Zamaroth TextDraw foi carregado.\");\r\n\r\n");
- fwrite(File, " // Create the textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerRequestClass(playerid, classid)\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerSpawn(playerid)\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- format(tmpstring, sizeof(tmpstring), "Project exported to %s.pwn in scriptfiles directory as a filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 3: // Show while in vehicle
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript generated using Zamaroht's TextDraw Editor Version 1.0 (v3.1 Current).\r\n");
- fwrite(File, "Designed for SA-MP 0.3a.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Time and Date: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"Textdraw file generated by\");\r\n");
- fwrite(File, " print(\" Zamaroht's textdraw editor was loaded.\");\r\n\r\n");
- fwrite(File, " // Create the textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerStateChange(playerid, newstate, oldstate)\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)\r\n");
- fwrite(File, " {\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " }\r\n");
- fwrite(File, " else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)\r\n");
- fwrite(File, " {\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " }\r\n");
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n");
- format(tmpstring, sizeof(tmpstring), "Project exported to %s.pwn in scriptfiles directory as a filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 4: // Use command
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript generated using Zamaroht's TextDraw Editor Version 1.0 (v3.1 Current).\r\n");
- fwrite(File, "Designed for SA-MP 0.3a.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Time and Date: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- fwrite(File, "new Showing[MAX_PLAYERS];\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"Textdraw file generated by\");\r\n");
- fwrite(File, " print(\" Zamaroht's textdraw editor was loaded.\");\r\n\r\n");
- fwrite(File, " // Create the textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerConnect(playerid)\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " Showing[playerid] = 0;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerCommandText(playerid, cmdtext[])\r\n");
- fwrite(File, "{\r\n");
- if(pData[playerid][P_Aux] != 0)
- {
- format(tmpstring, sizeof(tmpstring), " if(!strcmp(cmdtext, \"%s\") && Showing[playerid] == 0)\r\n", pData[playerid][P_ExpCommand]);
- fwrite(File, tmpstring);
- }
- else
- {
- format(tmpstring, sizeof(tmpstring), " if(!strcmp(cmdtext, \"%s\"))\r\n", pData[playerid][P_ExpCommand]);
- fwrite(File, tmpstring);
- }
- fwrite(File, " {\r\n");
- fwrite(File, " if(Showing[playerid] == 1)\r\n");
- fwrite(File, " {\r\n");
- fwrite(File, " Showing[playerid] = 0;\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " }\r\n");
- fwrite(File, " else\r\n");
- fwrite(File, " {\r\n");
- fwrite(File, " Showing[playerid] = 1;\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- if(pData[playerid][P_Aux] != 0)
- {
- format(tmpstring, sizeof(tmpstring), " SetTimerEx(\"HideTextdraws\", %d, 0, \"i\", playerid);\r\n", pData[playerid][P_Aux]*1000);
- fwrite(File, tmpstring);
- }
- fwrite(File, " }\r\n");
- fwrite(File, " }\r\n");
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n");
- if(pData[playerid][P_Aux] != 0)
- {
- fwrite(File, "\r\n");
- fwrite(File, "forward HideTextdraws(playerid);\r\n");
- fwrite(File, "public HideTextdraws(playerid)\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " Showing[playerid] = 0;\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "}\r\n");
- }
- format(tmpstring, sizeof(tmpstring), "Project exported to %s.pwn in scriptfiles directory as a filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 5: // Every X time
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript generated using Zamaroht's TextDraw Editor Version 1.0 (v3.1 Current).\r\n");
- fwrite(File, "Designed for SA-MP 0.3a.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Time and Date: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- fwrite(File, "new Timer;\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"Textdraw file generated by\");\r\n");
- fwrite(File, " print(\" Zamaroht's textdraw editor was loaded.\");\r\n\r\n");
- fwrite(File, " // Create the textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- format(tmpstring, sizeof(tmpstring), " Timer = SetTimer(\"ShowMessage\", %d, 1);\r\n", pData[playerid][P_Aux]*1000);
- fwrite(File, tmpstring);
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " KillTimer(Timer);\r\n");
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "forward ShowMessage( );\r\n");
- fwrite(File, "public ShowMessage( )\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- format(tmpstring, sizeof(tmpstring), " SetTimer(\"HideMessage\", %d, 1);\r\n", pData[playerid][P_Aux2]*1000);
- fwrite(File, tmpstring);
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "forward HideMessage( );\r\n");
- fwrite(File, "public HideMessage( )\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "}");
- format(tmpstring, sizeof(tmpstring), "Project exported to %s.pwn in scriptfiles directory as a filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 6: // After kill
- {
- fwrite(File, "/*\r\n");
- fwrite(File, "Filterscript generated using Zamaroht's TextDraw Editor Version 1.0 (v3.1 Current).\r\n");
- fwrite(File, "Designed for SA-MP 0.3a.\r\n\r\n");
- new ye,mo,da,ho,mi,se;
- getdate(ye,mo,da);
- gettime(ho,mi,se);
- format(tmpstring, sizeof(tmpstring), "Time and Date: %d-%d-%d @ %d:%d:%d\r\n\r\n", ye, mo, da, ho, mi, se);
- fwrite(File, tmpstring);
- fwrite(File, "Instruções:\r\n");
- fwrite(File, "1- Compilar este arquivo usando o compilador fornecido com o pacote do servidor sa-mp.\r\n");
- fwrite(File, "2- Copie o arquivo para o diretório .amx filterscripts.\r\n");
- fwrite(File, "3- Adicione os filterscripts no arquivo server.cfg (mais informações aqui:\r\n");
- fwrite(File, "http://wiki.sa-mp.com/wiki/Server.cfg\r\n");
- fwrite(File, "4- Execute o servidor!\r\n\r\n");
- fwrite(File, "Disclaimer:\r\n");
- fwrite(File, "Você tem direitos totais sobre este arquivo. Você pode distribuí-lo, modificá-lo e\r\n");
- fwrite(File, "mudá-lo tanto quanto você quiser, sem ter que dar todos os créditos especiais.\r\n");
- fwrite(File, "*/\r\n\r\n");
- fwrite(File, "#include <a_samp>\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new Text:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\npublic OnFilterScriptInit()\r\n");
- fwrite(File, "{\r\n");
- fwrite(File, " print(\"Textdraw file generated by\");\r\n");
- fwrite(File, " print(\" Zamaroht's textdraw editor was loaded.\");\r\n\r\n");
- fwrite(File, " // Create the textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " Textdraw%d = TextDrawCreate(%f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawAlignment(Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawBackgroundColor(Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawFont(Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawLetterSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawColor(Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetOutline(Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawSetProportional(Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawSetShadow(Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawUseBox(Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawBoxColor(Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawTextSize(Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), " TextDrawSetSelectable(Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnFilterScriptExit()\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForAll(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), " TextDrawDestroy(Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, " return 1;\r\n");
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "public OnPlayerDeath(playerid, killerid, reason)\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawShowForPlayer(killerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- format(tmpstring, sizeof(tmpstring), " SetTimerEx(\"HideMessage\", %d, 0, \"i\", killerid);\r\n", pData[playerid][P_Aux]*1000);
- fwrite(File, tmpstring);
- fwrite(File, "}\r\n\r\n");
- fwrite(File, "forward HideMessage(playerid);\r\n");
- fwrite(File, "public HideMessage(playerid)\r\n");
- fwrite(File, "{\r\n");
- for(new i; i < MAX_TEXTDRAWS; i ++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), " TextDrawHideForPlayer(playerid, Textdraw%d);\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "}");
- format(tmpstring, sizeof(tmpstring), "Project exported to %s.pwn in scriptfiles directory as a filterscript.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- case 7: // PlayerTextDraw by adri1.
- {
- fwrite(File, "// PlayerTextDraw developed using Zamaroht's Textdraw Editor 1.0 [R3]\r\n\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "new PlayerText:Textdraw%d;\r\n", i);
- fwrite(File, tmpstring);
- }
- }
- fwrite(File, "\r\n// In OnPlayerConnect prefferably, we procced to create our textdraws:\r\n");
- for(new i; i < MAX_TEXTDRAWS; i++)
- {
- if(tData[i][T_Created])
- {
- format(tmpstring, sizeof(tmpstring), "Textdraw%d = CreatePlayerTextDraw(playerid, %f, %f, \"%s\");\r\n", i, tData[i][T_X], tData[i][T_Y], tData[i][T_Text]);
- fwrite(File, tmpstring);
- if(tData[i][T_Alignment] != 0 && tData[i][T_Alignment] != 1)
- {
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawAlignment(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Alignment]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawBackgroundColor(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_BackColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawFont(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Font]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawLetterSize(playerid, Textdraw%d, %f, %f);\r\n", i, tData[i][T_XSize], tData[i][T_YSize]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawColor(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Color]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetOutline(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Outline]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetProportional(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Proportional]);
- fwrite(File, tmpstring);
- if(tData[i][T_Outline] == 0)
- {
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetShadow(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Shadow]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_UseBox] == 1)
- {
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawUseBox(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_UseBox]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawBoxColor(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_BoxColor]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawTextSize(playerid, Textdraw%d, %f, %f);\r\n", i, tData[i][T_TextSizeX], tData[i][T_TextSizeY]);
- fwrite(File, tmpstring);
- }
- if(tData[i][T_PreviewModel] > -1)
- {
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetPreviewModel(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_PreviewModel]);
- fwrite(File, tmpstring);
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetPreviewRot(playerid, Textdraw%d, %f, %f, %f, %f);\r\n", i, tData[i][PMRotX], tData[i][PMRotY], tData[i][PMRotZ], tData[i][PMZoom]);
- fwrite(File, tmpstring);
- }
- format(tmpstring, sizeof(tmpstring), "PlayerTextDrawSetSelectable(playerid, Textdraw%d, %d);\r\n", i, tData[i][T_Selectable]);
- fwrite(File, tmpstring);
- fwrite(File, "\r\n");
- }
- }
- fwrite(File, "// Agora você pode usar PlayerTextDrawShow, PlayerTextDrawHide e\r\n");
- fwrite(File, "// PlayerTextDrawDestroy funções para exibir, ocultar e destruir o TextDraw.");
- format(tmpstring, sizeof(tmpstring), "Projeto exportado para %s.txt no diretório scriptfiles.", CurrentProject);
- SendClientMessage(playerid, MSG_COLOR, tmpstring);
- }
- }
- fclose(File);
- ShowTextDrawDialog(playerid, 4);
- }
- // ================================================================================================================================
- // -------------------------------------------------------- Funções Auxiliares ----------------------------------------------------
- // ================================================================================================================================
- stock GetFileNameFromLst( file[], line )
- {
- /* Retorna a linha na linha especificada do arquivo especificado.
- file []: Arquivo para retornar a linha.
- line: Número da linha para retornar
- */
- new string[150];
- new CurrLine,
- File:Handler = fopen(file, io_read);
- if(line >= 0 && CurrLine != line)
- {
- while(CurrLine != line)
- {
- fread(Handler, string);
- CurrLine ++;
- }
- }
- // Leia a próxima linha, o qual é o mascarado.
- fread(Handler, string);
- fclose(Handler);
- // Cut the last two characters (\n)
- strmid(string, string, 0, strlen(string) - 2, 150);
- return string;
- }
- stock DeleteLineFromFile( file[], line )
- {
- /* Exclui uma linha específica de um arquivo específico.
- file []: Arquivo para apagar a linha de.
- line: Número da linha a ser excluída.
- */
- if(line < 0) return false;
- new tmpfile[140];
- format(tmpfile, sizeof(tmpfile), "%s.tmp", file);
- fcopytextfile(file, tmpfile);
- // Copiados para um arquivo temporário, agora analisá-lo de volta.
- new CurrLine,
- File:FileFrom = fopen(tmpfile, io_read),
- File:FileTo = fopen(file, io_write);
- new tmpstring[200];
- if(CurrLine != line)
- {
- while(CurrLine != line)
- {
- fread(FileFrom, tmpstring);
- fwrite(FileTo, tmpstring);
- CurrLine ++;
- }
- }
- // Skip a line
- fread(FileFrom, tmpstring);
- // Write the rest
- while(fread(FileFrom, tmpstring))
- {
- fwrite(FileTo, tmpstring);
- }
- fclose(FileTo);
- fclose(FileFrom);
- // Remove tmp file.
- fremove(tmpfile);
- return true;
- }
- /** POR DRACOBLUE
- * Tiras de nova linha a partir do final de uma string.
- * Idéia: Y_Less, para correções de erros (quando o comprimento = 1) por DracoBlue
- * @ Param string de
- */
- stock StripNewLine(string[])
- {
- new len = strlen(string);
- if (string[0]==0) return ;
- if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
- string[len - 1] = 0;
- if (string[0]==0) return ;
- if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
- }
- }
- /** POR DRACOBLUE
- * Copia um arquivo de texto (arquivo de origem não vai ser apagado!)
- * @ Param oldname
- * newname
- */
- stock fcopytextfile(oldname[],newname[]) {
- new File:ohnd,File:nhnd;
- if (!fexist(oldname)) return false;
- ohnd=fopen(oldname,io_read);
- nhnd=fopen(newname,io_write);
- new tmpres[256];
- while (fread(ohnd,tmpres)) {
- StripNewLine(tmpres);
- format(tmpres,sizeof(tmpres),"%s\r\n",tmpres);
- fwrite(nhnd,tmpres);
- }
- fclose(ohnd);
- fclose(nhnd);
- return true;
- }
- stock RGB( red, green, blue, alpha )
- {
- /* Combina uma cor e devolve-o, por isso, pode ser utilizado em funções.
- red: Quantidade de cor vermelha.
- green: Quantidade de cor verde.
- blue: Quantidade de cor azul.
- alpha: Quantidade de transparência alfa.
- -retorna:
- Um inteiro com a cor combinado.
- */
- return (red * 16777216) + (green * 65536) + (blue * 256) + alpha;
- }
- IsNumeric2(const string[])
- {
- // É verificar Numérico 2
- // ------------------
- // Por DracoBlue ... lida com números negativos
- new length=strlen(string);
- if (length==0) return false;
- for (new i = 0; i < length; i++)
- {
- if((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+' && string[i]!='.') // Not a number,'+' or '-' or '.'
- || (string[i]=='-' && i!=0) // A '-' but not first char.
- || (string[i]=='+' && i!=0) // A '+' but not first char.
- ) return false;
- }
- if (length==1 && (string[0]=='-' || string[0]=='+' || string[0]=='.')) return false;
- return true;
- }
- /** BY DRACOBLUE
- * Return the value of an hex-string
- * @param string
- */
- stock HexToInt(string[]) {
- if (string[0]==0) return 0;
- new i;
- new cur=1;
- new res=0;
- for (i=strlen(string);i>0;i--) {
- if (string[i-1]<58) res=res+cur*(string[i-1]-48); else res=res+cur*(string[i-1]-65+10);
- cur=cur*16;
- }
- return res;
- }
- stock IsPlayerMinID(playerid)
- {
- /* Verifica se o jogador é o ID minumum no servidor.
- playerid: ID para verificar.
- -retorna:
- verdade se ele é, falso se ele não é.
- */
- for(new i; i < playerid; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerNPC(i)) continue;
- else return false;
- }
- }
- return true;
- }
- // ================================================================================================================================
- // ----------------------------------------------------- FIM DE FUNÇÕES AUXULIAR ------------------------------------------------
- // ================================================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment