[Duda] Definir, Almacenar jugador , ayuda ..
#1

Explicacion
Buenas, mi problema es que estaba creando un comando para comprometerse con una persona (Asi como novios), y generalmente uno puede realizar varias acciones para 2 jugadores distintos en 1 solo comando.

Ejemplo:
Tienes un comando con un parбmentro que serнa la ID del otro player. Y puedes asignarle funciones a realizarse tanto en el jugador que ejecutу el cmd y en el destinatario.
Код:
SetPlayerWeapon(playerid...
SetPlayerWeapon(IDSegundojugador..
Entonces donde esta el problema?
Bueno al ejecutar el comando (/compromiso + id) , aparece un DIALOG para el jugador destinado (id), yo quiero que la "respuesta" (Response) o (!response) que le de el jugador a dicho DIALOG, yo pueda aplicar funciones para los 2 jugadores involucrados en el sistema.

PD: Trate de almacenar la ID del primero jugador involucrado con una funciуn de ****** (GetPlayerId) pero no funciono.

Si alguien puede ayudarme, se lo agradecerнa mucho. Sй que esto es algo medio n00b.
Reply
#2

Supongo que podrнas usar una variable con la funciуn de ****** osea
Код:
new id = GetPlayerId(playerid);
Y despuйs eso lo podrнas usar para poder hacer la funciуn o sino un bucle.
Код:
zcmd(compromiso, playerid, params[])
{
	if(!sscanf(params, "u", params[0]))
	{
	    //la funciуn que vos decнas
	    comprometido[playerid] = 1;
	    comprometido[params[0]] = 1;
	}
 return 1;
}
Y despuйs en la parte del Dialog
Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(comprometido[i] == 1)
{
//tus funciones
}
}
}
return 1;
}
Supongo que ahн estarнa. Sino pasб el code entero...
Reply
#3

Lo intentarй haci cualquier cosa te aviso

El problema de esa funcion es que no es: GetPlayerId(playerid);, Si no que debes coger la ID del nombre del player. Ahi es donde me enreda todo.
Reply
#4

LOOOOL, ya decia yo que era algo "n00b", cierren tema, ya entendi con algo que me explicaste. Sobre todo la parte del loop.

Es que esto lo hize ayer, y ayer no le atine a ninguna xD
Reply
#5

Seсor yo recomendarнa que usted usara los include y_dialog e y_inline para asi facilitarle la creaciуn del cуdigo que usted desea.

pawn Код:
#define DIALOG_NOVIOS 999

CMD:amor(playerid, params[])
{
  if(sscanf(params, "u", params[0])) // Params[0] contiene la ID del jugador al que se le mandarб el dialog.
  {
     inline DIALOG(pid, dialogid, response, listitem, string:inputtext[])
     {
         #pragma unused pid, dialogid, response, listitem, inputtext
         switch(response)
         {
              case false: // Opciуn 2
              case true: //Opciуn 1
         }
     }
     Dialog_ShowCallback(params[0], using inline DIALOG, DIALOG_STYLE_MSGBOX, "Titulo", "Texto", "Opciуn 1", "Opciуn 2", .dialog = DIALOG_NOVIOS);
  }
  return 1;
}
Creo que esto le servirб mucho, recuerde que playerid contendrб el ID del jugador que ejecuta el comando y params[0] contiene la ID del jugador al que se le envнa el dialog.

NOTA: Con inline no es necesario usar el callback OnDialogResponse.

Un saludo.
Reply
#6

Esta genial. Gracias
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)