SA-MP Forums Archive
[Ajuda] Atribuiзгo de response a variбvel booleana nгo funciona - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Atribuiзгo de response a variбvel booleana nгo funciona (/showthread.php?tid=537507)



Atribuiзгo de response a variбvel booleana nгo funciona - Rodney Francalim - 15.09.2014

Entгo, tava fazendo algumas coisas por aqui e me dei conta de que se eu fizer isso no OnDialogResponse:
pawn Код:
new
    bool:lol
;

lol = response;
Dб tag mismatch. Mas se eu fizer isso:
pawn Код:
new
    bool:lol
;

lol = response ? (true) : (false);
Fica de boa.

Entгo a pergunta й: por quк?


Re: Atribuiзгo de response a variбvel booleana nгo funciona - Dolby - 15.09.2014

Veja na definiзгo da callback.

pawn Код:
forward OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
O parвmetro й tratado como inteiro, nгo como bool. Pawn й uma linguagem fortemente tipada, ou seja, o compilador nгo faz um type-casting implicitamente como em linguagens fracamente tipadas.

Podemos concluir que nгo podemos fazer:
pawn Код:
new bool: nTry = 1;
Pois o compilador nгo faz o type-casting, logo devemos dar um valor igual ao declarado:

pawn Код:
new bool: nTry = true;
O operador ternбrio vai retornar true ou false, satisfazendo as normas da tipagem de dados da linguagem.

Espero que tenha compreendido, abraзos.


Re: Atribuiзгo de response a variбvel booleana nгo funciona - PT - 15.09.2014

Porque voce so pode atribuir a uma booleana o valor true ou false, como ali o response nao й bool ( й inteiro ) voce vai obter valores como 0 e 1 nao aceites como resposta a booleana.


Re: Atribuiзгo de response a variбvel booleana nгo funciona - Rodney Francalim - 15.09.2014

Ah! Achei que o response era booleana...

Valeu!