Tutorial comando /Teles em dialog box.
Bom, primeiro agente coloca no começo do GameMode as defines
#define nome_do_dialog
Depois em OnPlayerCommandText colocamos o comando.
Explicação:
Agora vamos em public OnDialogResponse
Aqui é a lista do /teles quando o player clicar na primeira,segunda e terceira opção sempre começa do 0 então vai de
if(listitem == 0){
ShowPlayerDialog(playerid, nome_do_dialog+1, DIALOG_STYLE_LIST, "{33CCFF}Teleportes ", "{FFFF00}Drift 1\n{FFFF00}Drift2\n{FFFF00}Drift 3\n{FFFF00}Drift 4\n{FFFF00}Drift 5", "Teleporte", "Cancelar");
return 1;
}
Depois de ter colocado as list's agente tem q definir para onde vai os teleportes.
Então fica assim:
Explicação:
Bom, é isso, sei que falta muita explicação sobre isso.
Creditos: williamgato
Bom, primeiro agente coloca no começo do GameMode as defines
#define nome_do_dialog
Depois em OnPlayerCommandText colocamos o comando.
pawn Code:
if(strcmp(cmdtext, "/teles", true)==0) { ShowPlayerDialog(playerid, nome_do_dialog, DIALOG_STYLE_LIST, "{33CCFF} ---- Teleportes ---- ", "{FFFF00}Drifts\n{33AA33}Aeroportos\n{33CCFF}Paraquedas", "Selecionar", "Cancelar"); return 1; }
pawn Code:
f(strcmp(cmdtext, "/teles", true)==0) - isso define o comando em texto { ShowPlayerDialog - aparecer o dialog (playerid - para aparecer para o player que digitou o comando , nome_do_dialog - nome do dialog usado em #define , DIALOG_STYLE_LIST - estilo do dialog ,"-- teleportes ---" - titulo, "{FFFF00}Drifts - primeira opção do dialog \n - para pula uma linha
pawn Code:
if(dialogid == nome_do_dialog){ if(response){ if(listitem == 0){ ShowPlayerDialog(playerid, nome_do_dialog+1, DIALOG_STYLE_LIST, "{33CCFF}Teleportes ", "{FFFF00}Drift 1\n{FFFF00}Drift 2\n{FFFF00}Drift 3\n{FFFF00}Drift 4\n{FFFF00}Drift 5", "Teleporte", "Cancelar"); return 1; } if(listitem == 2){ ShowPlayerDialog(playerid, nome_do_dialog+2, DIALOG_STYLE_LIST, "{33CCFF}Teleportes ", "{FFFF00}Paraquedas1\n{FFFF00}Paraquedas2\n{FFFF00}Paraquedas3", "Teleporte", "Cancelar"); return 1; } if(listitem == 1){ ShowPlayerDialog(playerid, nome_do_dialog+3, DIALOG_STYLE_LIST, "{33CCFF}Teleportes ", "{FFFF00}AeroLV\n{FFFF00}AeroLS\n{FFFF00}AeroSF\nAeroAB", "Teleporte", "Cancelar"); } } return 1; }
if(listitem == 0){
ShowPlayerDialog(playerid, nome_do_dialog+1, DIALOG_STYLE_LIST, "{33CCFF}Teleportes ", "{FFFF00}Drift 1\n{FFFF00}Drift2\n{FFFF00}Drift 3\n{FFFF00}Drift 4\n{FFFF00}Drift 5", "Teleporte", "Cancelar");
return 1;
}
Depois de ter colocado as list's agente tem q definir para onde vai os teleportes.
Então fica assim:
pawn Code:
if(dialogid == nome_do_dialog+1) { if(response) { if(listitem == 0) { new pname[30]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 1 - (/teles)", pname); //MENSAGEM A TODOS SendClientMessageToAll(Verde, string); SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,-281.03,1544.87,75.36); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO SetPlayerArmour(playerid, 100.0); // COLETE SetPlayerHealth(playerid, 100.0); // SANGUE IsPlayerInAnyVehicle(playerid); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, -281.03,1544.87,75.36); PutPlayerInVehicle(playerid, veh, 0); return 1; } if(listitem == 1) { new pname[30]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 2 - (/teles)", pname); // MENSAGEM A TODOS SendClientMessageToAll(Verde, string); SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,-2410.12,-599.79,132.65); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO IsPlayerInAnyVehicle(playerid); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, -2410.12,-599.79,132.65); PutPlayerInVehicle(playerid, veh, 0); return 1; } if(listitem == 2) { new pname[30]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 3 - (/teles)", pname); // MENSAGEM A TODOS SendClientMessageToAll(Verde, string); SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,-1092.57,-1644.78,76.37); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO IsPlayerInAnyVehicle(playerid); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, -1092.57,-1644.78,76.37); PutPlayerInVehicle(playerid, veh, 0); return 1; } if(listitem == 3) { new pname[30]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 4 - (/teles)", pname); // MENSAGEM A TODOS SendClientMessageToAll(Verde, string); SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,-935.63,-1399.29,127.85); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO IsPlayerInAnyVehicle(playerid); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, -935.63,-1399.29,127.85); PutPlayerInVehicle(playerid, veh, 0); return 1; } if(listitem == 4) { new pname[30]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 5 - (/teles)", pname); // MENSAGEM A TODOS SendClientMessageToAll(Verde, string); SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,2275.28,1395.80,42.82); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO IsPlayerInAnyVehicle(playerid); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, 2275.28,1395.80,42.82); PutPlayerInVehicle(playerid, veh, 0); } } return 1; }
pawn Code:
GetPlayerName(playerid, pname, MAX_PLAYER_NAME); // PEGA O NOME DO VIADO format(string, sizeof(string), "%s Foi Para Drift 1 - (/teles)", pname); //MENSAGEM A TODOS SendClientMessageToAll(Verde, string);//cor da mensagem que vai para todos SetPlayerInterior(playerid,0); // INTERIOR SetPlayerPos(playerid,-281.03,1544.87,75.36); // CODERNADA ONDE ELE VAI SetPlayerFacingAngle(playerid,4.1726); // ANGULO SetPlayerArmour(playerid, 100.0); // quando o nego teleportar ele vai ter 100 de colete SetPlayerHealth(playerid, 100.0); // quando o nego teleportar ele vai ter 100 de vida IsPlayerInAnyVehicle(playerid);// significa que o player pode estar em um carro new veh = GetPlayerVehicleID(playerid);// define new na linha de baixo hihi SetVehiclePos(veh, -281.03,1544.87,75.36);// com isso o carro teletransporta junto PutPlayerInVehicle(playerid, veh, 0);//com isso o player e o carro teletransportam sem se separar-caso contrario o carro teleportaria mais o player iria vir separado
Creditos: williamgato
0 comentários:
Postar um comentário