JPD - Processador de dialogs, easy and fast(v1) -
@LucasVinicius - 22.06.2013
JPD - Processador de dialogs, easy and fast (Versгo 1.0)
• Prefбcio
Um simples processador de dialogs,
feito usando a base de um processador de comandos qualquer,
evitando comparaзхes ou atй mesmo seleзхes de ids variados
que possam atrasar o processamento da callback quando o dialog for requisitado em jogo.
• Vantagens:
- Simples de se usar, como um ZCMD/JCMD/BCMD/iCMD qualquer (...)
- Segue o fato de ser chamado mais rбpido do que as comparaзхes convencionais.
- E pode ser mantida uma organizaзгo maior dentro do cуdigo, jб que sгo separadas por mini-funзхes.
• Desvantagens:
- Talvez muitas pessoas jб tenham muitos IDs cadastrados na callback normal,
e como um processador feito justamente para aumentar a velocidade de requisiзгo,
nгo й possнvel utilizar a callback (OnDialogResponse) diretamente (...)
• Permissгo para postagem:
Eu tive livre acesso a postagem deste cуdigo, autorizada pelo criador, as recomendaзхes sгo:
A ediзгo й livre, e podem ser feitas atualizaзхes a esta include e versхes posteriores poderam ser criadas, contanto que mantenha o princнpio dos crйditos, no caso os verdadeiros idealizadores.
• Observaзхes:
Este cуdigo foi feito a muito tempo atrбs, estou postando agora porque eu usava em alguns sistemas e o Willian nгo queria postar, lembrando que por este cуdigo ser antigo nгo teve nenhuma atualizaзгo.
Ele disponibilizou para qualquer um que quiser utilizar, estб include.
• Forma de utilizaзгo:
Forma de uso:
pawn Код:
//vocк continua estabelecendo dialogs normais:
//ShowPlayerDialog(playerid, dialogid, dialog_style, capt, resp, bt1, bt2);
ShowPlayerDialog(playerid, id, DIALOG_STYLE_PASS, ":3", ":)", ":(", ":D");
//A mudanзa й quando vocк for atribuir uma resposta ao dialog chamado.
//Ao invйs de usar a callback OnDialogResponse, vocк utilizarб mini-funзхes.
addDialogHandler(id)
{
SendClientMessageToAll(-1, "HELLO WORLD!?");
}
Exemplo de uso(Dialog de boas vindas)
pawn Код:
#define Zeca_pagodinho 1
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid, Zeca_pagodinho, DIALOG_STYLE_MSGBOX, "Seja bem-vindo", "Toda aquela parafernalha de boas vindas...", "Continuar", "Cancelar");
}
addDialogHandler(Zeca_pagodinho)
{
if (response == true)
{
SendClientMessage(playerid, -1, "Vocк clicou em continuar.");
}
else
{
SendClientMessage(playerid, -1, "Vocк clicou em cancelar.");
}
}
• Autor do Cуdigo:
Willian_Luigi
Crйditos a postagem:
Lucas Vinнcius
Re: JPD - Processador de dialogs, easy and fast(v1) -
Caio_Freeze - 22.06.2013
muito bom
Re: JPD - Processador de dialogs, easy and fast(v1) -
Kuddy - 22.06.2013
Muito legal, ъtil e eficiente, sу nгo gostei dos parвmetros da callback XD
Poderia ter feito algo como:
pawn Код:
Dialog:Zeca_Pagodinho(playerid, response, listitem, inputtext[])
Seria mais complicado de digitar, mas isso iria ajudar num referenciamento e na organizaзгo do script. Tambйm ficaria mais harmonioso do lado de processadores de comando como ZCMD e YCMD.
Re: JPD - Processador de dialogs, easy and fast(v1) -
Sky™ - 22.06.2013
vejo q a coisa ta melhorando por aki ....
ъtil xD
Re: JPD - Processador de dialogs, easy and fast(v1) -
SampSampa - 22.06.2013
Resumindo, nao foi vc quem fez.
Tem autorizAcao para postar
Enfim, boa include
Re: JPD - Processador de dialogs, easy and fast(v1) -
dPlaYer_ - 22.06.2013
Quote:
Originally Posted by SampSampa
Resumindo, nao foi vc quem fez.
Tem autorizAcao para postar
Enfim, boa include
|
Se ali tem
Criado por:
Ele deve ter a autorizaзгo. nгo?
Re: JPD - Processador de dialogs, easy and fast(v1) -
@LucasVinicius - 22.06.2013
creio que os carinhas nгo sabem lкr, pois eu frisei no tуpico que tenho permissгo para postagem da include, pois o criador й amigo meu
Sу lembrando que no topico tem:
• Permissгo para postagem:
Eu tive livre acesso a postagem deste cуdigo, autorizada pelo criador, as recomendaзхes sгo:
A ediзгo й livre, e podem ser feitas atualizaзхes a esta include e versхes posteriores poderam ser criadas, contanto que mantenha o princнpio dos crйditos, no caso os verdadeiros idealizadores.
Abraзo
Re: JPD - Processador de dialogs, easy and fast(v1) -
@LucasVinicius - 22.06.2013
Quote:
Originally Posted by Kuddy
Muito legal, ъtil e eficiente, sу nгo gostei dos parвmetros da callback XD
Poderia ter feito algo como:
pawn Код:
Dialog:Zeca_Pagodinho(playerid, response, listitem, inputtext[])
Seria mais complicado de digitar, mas isso iria ajudar num referenciamento e na organizaзгo do script. Tambйm ficaria mais harmonioso do lado de processadores de comando como ZCMD e YCMD.
|
Olб kuddy, irei falar com o Willian pra ver oque podemos fazer para melhoria do script, mas acho que nгo vai ter atualizaзхes, se tiver eu dou EDIT no tуpico, abз
Re: JPD - Processador de dialogs, easy and fast(v1) -
WLSF - 22.06.2013
Quote:
Originally Posted by Kuddy
Muito legal, ъtil e eficiente, sу nгo gostei dos parвmetros da callback XD
Poderia ter feito algo como:
pawn Код:
Dialog:Zeca_Pagodinho(playerid, response, listitem, inputtext[])
Seria mais complicado de digitar, mas isso iria ajudar num referenciamento e na organizaзгo do script. Tambйm ficaria mais harmonioso do lado de processadores de comando como ZCMD e YCMD.
|
Eu entendo seu ponto de vista, quando fiz este code sу havia pensado na maneira de uso que fosse me favorecer, nгo havia pensado em postar aqui.
Mas em todos os casos, nгo й um bixo de 7 cabeзas.
Sua sugestгo:
pawn Код:
#define Dialog:%0(%1,%2,%3,%4) \
forward callDialog_%0(%1,%2,%3,%4); \
public callDialog_%0(%1,%2,%3,%4)
// Ex:
#define Zeca_Pacotinho 1
Dialog:Zeca_Pacotinho(playerid, response, listitem, inputtext[])
{
}
E sim, jб foi adicionado lб no pastebin, acabei atй por dando uma tapeada nova nele, jб que decidiram postar. Obrigado pela sugestгo, e obrigado Lucas por ter tido o trabalho de postar. :3
Re: JPD - Processador de dialogs, easy and fast(v1) -
Jeffrey_Hatrix Jeffrey_ - 25.06.2013
Quote:
Originally Posted by Willian_Luigi
Eu entendo seu ponto de vista, quando fiz este code sу havia pensado na maneira de uso que fosse me favorecer, nгo havia pensado em postar aqui.
Mas em todos os casos, nгo й um bixo de 7 cabeзas.
Sua sugestгo:
pawn Код:
#define Dialog:%0(%1,%2,%3,%4) \ forward callDialog_%0(%1,%2,%3,%4); \ public callDialog_%0(%1,%2,%3,%4)
// Ex: #define Zeca_Pacotinho 1 Dialog:Zeca_Pacotinho(playerid, response, listitem, inputtext[]) {
}
E sim, jб foi adicionado lб no pastebin, acabei atй por dando uma tapeada nova nele, jб que decidiram postar. Obrigado pela sugestгo, e obrigado Lucas por ter tido o trabalho de postar. :3
|
Great job dude, eu jб usava ajustado para meu gosto. Й bom ver que decidiu postar e atualizar.