#include #include #include #include #define MBJ_YCMDSM "\nYCMD:%s(playerid, params[], help)\n\tif(help) return SendClientMessage(playerid, -1, \"Este comando ira lhe teletransportar para as coordenadas X = %f, Y = %f, Z = %f\");\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_STRCMPSM "\nif(strcmp(cmdtext, \"/%s\", true) == 0) {\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_ZCMDSM "\nCMD:%s(playerid) {\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_YCMDCM "\nYCMD:%s(playerid, params[], help)\n\tif(help) return SendClientMessage(playerid, -1, \"Este comando ira lhe teletransportar para as coordenadas X = %f, Y = %f, Z = %f\");\n\tSendClientMessage(playerid, -1, \"%s\");\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_STRCMPCM "\nif(strcmp(cmdtext, \"/%s\", true) == 0) {\n\tSendClientMessage(playerid, -1, \"%s\");\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_ZCMDCM "\nCMD:%s(playerid) {\n\tSendClientMessage(playerid, -1, \"%s\");\n\tSetPlayerPos(playerid, %f, %f, %f);\n\treturn true;\n}\n" #define MBJ_DIALOG_CRIAR_TEL 1 new MBJ_str[80], MBJ_NameTel[20], MBJ_String[320], Float:Pos[3]; public OnFilterScriptInit() { print("Criador de Teleporte Carregado Com Sucesso!"); return true; } public OnFilterScriptExit() { DOF2_Exit(); return true; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case MBJ_DIALOG_CRIAR_TEL: { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+1, DIALOG_STYLE_INPUT, "Teleporte Sem Mensagem", "Digite um nome para o teleporte\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Voltar"); } if(listitem == 1) { ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+2, DIALOG_STYLE_INPUT, "Teleporte Com Mensagem", "Digite um nome para o teleporte\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Voltar"); } } } case MBJ_DIALOG_CRIAR_TEL+1: { if(!response) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL, DIALOG_STYLE_LIST, "Escolha o tipo de teleporte", "1 - Sem Mensagem\n2 - Com Mensagem", "Selecionar", "Sair"); format(MBJ_str, sizeof(MBJ_str), "Teleportes/Sem Mensagem/%s.ini", inputtext); if(DOF2_FileExists(MBJ_str)) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL, DIALOG_STYLE_INPUT, "Teleporte Sem Mensagem", "Ja existe um teleporte com esse nome escolha outro por favor\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Sair"); if(strlen(inputtext) < 1 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+1, DIALOG_STYLE_INPUT, "Teleporte Sem Mensagem", "Digite um nome para o teleporte\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Sair"); DOF2_CreateFile(MBJ_str); GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); format(MBJ_String, sizeof(MBJ_String), MBJ_ZCMDSM, inputtext, Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "ZCMD", MBJ_String); format(MBJ_String, sizeof(MBJ_String), MBJ_STRCMPSM, inputtext, Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "STRCMP", MBJ_String); format(MBJ_String, sizeof(MBJ_String), MBJ_YCMDSM, inputtext, Pos[0], Pos[1], Pos[2], Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "YCMD", MBJ_String); printf("Tamanho %d\n%s", strlen(MBJ_String), MBJ_String); DOF2_SaveFile(); SendClientMessage(playerid, -1, "Comando para teleporte criado com sucesso"); } case MBJ_DIALOG_CRIAR_TEL+2: { format(MBJ_str, sizeof(MBJ_str), "Teleportes/Com Mensagem/%s.ini", inputtext); if(DOF2_FileExists(MBJ_str)) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+2, DIALOG_STYLE_INPUT, "Teleporte Com Mensagem", "Ja existe um teleporte com esse nome escolha outro por favor\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Sair"); if(strlen(inputtext) < 1 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+2, DIALOG_STYLE_INPUT, "Teleporte Sem Mensagem", "Digite um nome para o teleporte\nO nome deve conter entre 1 e 20 caracteres", "Confirmar", "Sair"); DOF2_CreateFile(MBJ_str); format(MBJ_NameTel, sizeof(MBJ_NameTel), inputtext); ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+3, DIALOG_STYLE_INPUT, "Teleporte Com Mensagem", "Digite a Mensagem que irá ser exibida ao executar o comando\nA mensagem deve conter entre 5 e 40 caracteres", "Confirmar", "Voltar"); } case MBJ_DIALOG_CRIAR_TEL+3: { format(MBJ_str, sizeof(MBJ_str), "Teleportes/Com Mensagem/%s.ini", MBJ_NameTel); if(strlen(inputtext) < 5 || strlen(inputtext) > 40) return ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL+3, DIALOG_STYLE_INPUT, "Teleporte Com Mensagem", "Digite a Mensagem que irá ser exibida ao executar o comando\nA mensagem deve conter entre 5 e 20 caracteres", "Confirmar", "Voltar"); format(MBJ_String, sizeof(MBJ_String), MBJ_ZCMDCM, MBJ_NameTel, inputtext, Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "ZCMD", MBJ_String); format(MBJ_String, sizeof(MBJ_String), MBJ_STRCMPCM, MBJ_NameTel, inputtext, Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "STRCMP", MBJ_String); format(MBJ_String, sizeof(MBJ_String), MBJ_YCMDCM, MBJ_NameTel, inputtext, Pos[0], Pos[1], Pos[2], Pos[0], Pos[1], Pos[2]); DOF2_SetString(MBJ_str, "YCMD", MBJ_String); DOF2_SaveFile(); SendClientMessage(playerid, -1, "Comando para teleporte criado com sucesso"); } } return true; } CMD:ct(playerid) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Voce precisa estar logado na rcon para usar este comando"); ShowPlayerDialog(playerid, MBJ_DIALOG_CRIAR_TEL, DIALOG_STYLE_LIST, "Escolha o tipo de teleporte", "1 - Sem Mensagem\n2 - Com Mensagem", "Selecionar", "Sair"); return true; }