[PEDIDO] /puxar player se ele aceitar -
Mattos - 19.09.2011
Pessoal,
Eu queria um comando do tipo:
Quando o player der /puxar [id] o id escolhido recebera uma mensagem, "O jogador X quer lhe puxar. Voce tem 15 segundos para /aceitar." Bom e evidente que se o cara n usar /aceitar, em 15 segundos o pedido de puxar e recusado, e o player que utilizou /puxar recebe uma mensagem, "O jogador X nao aceitou ser puxado".
OBSs: o player pode escolher /puxar qualquer player mesmo que tenha algum pedido em espera de "aceitamento". Se o player reutilizar /puxar no mesmo cara antes de passarem os 15 segundos ele deve receber a seguinte mensagem, "voce acabou de fazer um pedido para este player, aguarde a decisao dele". E como o player tem 15 segundos para /aceitar, o cara que utilizou /puxar pode ter andado, portanto GetPlayerPos so devera ser feito quando o outro player utilizar /aceitar. E para evitar os dois player ficarem na mesma posicao deve ser acresentado alguns metros na coordenada.
Aguardo por respostas.
Re: [PEDIDO] /puxar player se ele aceitar -
WLSF - 19.09.2011
pawn Код:
//TOPO
new aceitar[MAX_PLAYERS];
//OnPlayerConnect
aceitar[playerid] = 0;
//OnPlayerText
if(aceitar[playerid] == 1)
{
if(!strcmp(text, "sim", true))
{
SetPlayerPos(playerid, pos[0] +1.0,pos[1] +1.0,pos[2]);
aceitar[playerid] = 0;
return SendClientMessage(playerid,0x1DD3E2AA, "Vocк aceitou o convite, e foi teleportado.");
}
}
//OnPlayerCommandText
if(!strcmp(wcmd,"/enviar", true))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF0000AA, "(Erro) USE: /enviar [id]");
new outro = strval(tmp);
if(outro == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000AA, "(Erro) Player desconhecido");
new nome[MAX_PLAYER_NAME];GetPlayerName(playerid,nome,sizeof(nome));
format(string, 100, "o Admin %s lhe convidou para ir atй ele, aceita? (sim, nгo)",nome);
SendClientMessage(outro,0x1DD3E2AA,string);
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
aceitar[outro] = 1;
return 1;
}
Serve assim? e.e eu te envio um convite, e quando tu digitar 'SIM' ou 'sim' tanto faz. Vocк vem atй mim
@Edit creio que vocк mesmo consiga usar isso como base e reaprimorar. (:
Re: [PEDIDO] /puxar player se ele aceitar -
Mattos - 19.09.2011
Nossa vcs sao rapidos mesmo,hein... Muito obrigado vou testar e ja digo se serviu... Consigo aprimorar sim...
Re: [PEDIDO] /puxar player se ele aceitar -
WLSF - 19.09.2011
Optimus, eu jб havia criado isso para o meu GM, ai decidi dividir com vocк. Aprimora-lo nгo serб problema, boa sort (: mais dъvidas sу postar.
Re: [PEDIDO] /puxar player se ele aceitar -
guilhermegtu - 19.09.2011
Willian_Luigi = D-Flash
Re: [PEDIDO] /puxar player se ele aceitar -
Mattos - 19.09.2011
Willian... acho que ta faltando definir algumas coisas... pq deu varios erros... como pos... tmp... idx e outros
Re: [PEDIDO] /puxar player se ele aceitar -
WLSF - 19.09.2011
Basta por
pawn Код:
new Float:Pos[3]; //no topo
e уbvio
pawn Код:
new tmp[30], wcmd[30], idx; // OnPlayerCommandText
Re: [PEDIDO] /puxar player se ele aceitar -
Mattos - 20.09.2011
Valeu will... Consegui... Tipo n usei da forma como vc falou ae... De fato adaptei todo o conceito ao meu script... Mas pelo mwnos finalmente aprendi a usar loop entre comandos...
Deixa lhe pergutar uma coisa. Cheguei a por vclient messages ja, so que a unica que n consegui por, tipo isso "Player X recusou seu convite", pro cara que convidou... Ou seja, como faz pra se o convite for cancelado o cara que convidou ter alguma resposta? Pq tipo se nao mesmo que o cara recusar ele n vai saber se o cara recusou ou n e vai fixar esperando uma mensagem que n chegara...