Ajuda com Dialogo - Zoiao - 16/11/2022
Galera estou criando a profissão de motorista de onibus e o player tem que ir nos pontos de onibus e pegar passageiros, e eu tive uma ideia de criar varios pontos que só um player consegue ir, e gostaria de saber como eu coloco no dialogo o status do ponto se esta ocupado ou aberto.
Esse dialogo que eu estou usando
Código: if(dialogid == D_PONIBUS)
{
if(response)
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, D_1PONTO, DIALOG_STYLE_LIST, "{FFFFFF}Primeiro pontos de onibus",
"Começo: Prefeitura - Final: Hotel [ Status: aqui ]\nComeço: Praia - Final: Hotel [ Status: aqui ]\nComeço: Roda Gigante - Final: Hotel [ Status: aqui ]\nComeço: Aeroporto - Final: Hotel [ Status: aqui ]\n{4995CC}Voltar", "OK", "Voltar");
}
case 1:
{
ShowPlayerDialog(playerid, D_2PONTO, DIALOG_STYLE_LIST, "{FFFFFF}Segundo pontos de onibus",
"Começo: Prefeitura - Final: Hotel [ Status: aqui ]\nComeço: Praia - Final: Hotel [ Status: aqui ]\nComeço: Roda Gigante - Final: Hotel [ Status: aqui ]\nComeço: Aeroporto - Final: Hotel [ Status: aqui ]\n{4995CC}Voltar", "OK", "Voltar");
}
case 2:
{
ShowPlayerDialog(playerid, D_3PONTO, DIALOG_STYLE_LIST, "{FFFFFF}Terceiro pontos de onibus",
"Começo: Prefeitura - Final: Hotel [ Status: aqui ]\nComeço: Praia - Final: Hotel [ Status: aqui ]\nComeço: Roda Gigante - Final: Hotel [ Status: aqui ]\nComeço: Aeroporto - Final: Hotel [ Status: aqui ]\n{4995CC}Voltar", "OK", "Voltar");
}
case 3:
{
ShowPlayerDialog(playerid, D_4PONTO, DIALOG_STYLE_LIST, "{FFFFFF}Quarto pontos de onibus",
"Começo: Prefeitura - Final: Hotel [ Status: aqui ]\nComeço: Praia - Final: Hotel [ Status: aqui ]\nComeço: Roda Gigante - Final: Hotel [ Status: aqui ]\nComeço: Aeroporto - Final: Hotel [ Status: aqui ]\n{4995CC}Voltar", "OK", "Voltar");
}
case 4:
{
ShowPlayerDialog(playerid, D_5PONTO, DIALOG_STYLE_LIST, "{FFFFFF}Quinto pontos de onibus",
"Começo: Prefeitura - Final: Hotel [ Status: aqui ]\nComeço: Praia - Final: Hotel [ Status: aqui ]\nComeço: Roda Gigante - Final: Hotel [ Status: aqui ]\nComeço: Aeroporto - Final: Hotel [ Status: aqui ]\n{4995CC}Voltar", "OK", "Voltar");
}
}
}
}
RE: Ajuda com Dialogo - White_Blue - 16/11/2022
Código PHP: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new status = "Disponivel", str[128]; // Para teste
if(dialogid == D_PONIBUS) { if(response) { switch(listitem) { case 0: { format(str, sizeof(str), "Ponto de ônibus Los Santos\t[Status: %s]", status); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST "Ônibus", str, "Ok", ""); } return 1;
forward MudarStat(); public MudarStat() { if(status == "Disponivel") { status = "Indisponivel"; } else if(status == "Indisponivel") { status = "Disponivel"; } return 1;
public OnGameModeInit() { SetTimer("MudarStat", 10000, true); // Muda o status a cada 10 segundos. return 1;
Espero que isso te dê uma base.
RE: Ajuda com Dialogo - Mateus Lima - 16/11/2022
(16/11/2022 15:12)White_Blue Escreveu: Código PHP: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new status = "Disponivel", str[128]; // Para teste
if(dialogid == D_PONIBUS) { if(response) { switch(listitem) { case 0: { format(str, sizeof(str), "Ponto de ônibus Los Santos\t[Status: %s]", status); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST "Ônibus", str, "Ok", ""); } return 1;
forward MudarStat(); public MudarStat() { if(status == "Disponivel") { status = "Indisponivel"; } else if(status == "Indisponivel") { status = "Disponivel"; } return 1;
public OnGameModeInit() { SetTimer("MudarStat", 10000, true); // Muda o status a cada 10 segundos. return 1;
Espero que isso te dê uma base.
Citar:variable = Expression1 ? Expression2 : Expression3
portanto:
Citar:(status == 1 ? "Disponivel" : "Indisponivel")
Citar:printf("status=%s", (status == true ? "Disponivel" : "Indisponivel"))
RE: Ajuda com Dialogo - Carlos Victor - 17/11/2022
Pra você inserir algum retorno na string, é necessário que use a função format.
Recomendo também que otimize o sistema, visualmente parece que não é automatizado, com um conhecimento em array's você pode criar algo mais eficaz e menos trabalhoso usando simples loops e manipulação de variável, eu fiz um exemplo agora, se quiser que eu te passo ou te ajude a fazer me chama no Discord hoje estou disponível.
|