09.04.2015, 18:57
PHP код:
#define MAX_ARENAS (50)
/////////////////////////////////
new Arenas[MAX_ARENAS][eArena];
///////////////////////////////////////EL COMANDO///////////////////////////////////////////////////////////////////////////////
COMMAND:desafio(playerid,params[]){
new Jugador, NoFound=0;
if(sscanf(params,"u",Jugador))return MensajeError(playerid, "Utilice /Desafio [Jugador/ID]");
if(!IsPlayerConnected(Jugador))return MensajeError(playerid, "Este jugador no se encuentra conectado.");
if(cuenta[playerid][pDuelo])return MensajeError(playerid, "Usted ya envio una invitacion espere.");
if(cuenta[Jugador][pDuelo])return MensajeError(playerid, "Este jugador se encuentra en duelo.");
for(new i=0;i<MAX_ARENAS;i++){
if(!Arenas[i][_aOcupado]){
Arenas[i][_aOcupado] = true;
Arenas[i][_aTiempo] = gettime() + 120;
Arenas[i][_aDuelista1] = playerid;
Arenas[i][_aDuelista2] = Jugador;
cuenta[playerid][pDuelo] = true;
SendClientMessageEx(playerid,Amarillo,"Usted acaba de enviar invitacion de duelo a %s, espere que acepte.",Nombre(Jugador));
SendClientMessageEx(Jugador,Amarillo,"El duelista %s lo a retado, use {FFFFFF}/aceptar {F7FE2E}para aceptar el duelo.",Nombre(playerid));
NoFound++;
break;
}
}
if(!NoFound)return MensajeError(playerid, "No hay arenas disponibles en este momento.");
return 0b1;
}
/////////////////////////////////////////////Para Aceptar//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
COMMAND:aceptar(playerid,params[]){
new NoFound=0;
for(new i=0;i<MAX_ARENAS;i++){
if(Arenas[i][_aOcupado] && Arenas[i][_aDuelista2] == playerid){
Arenas[i][_aConfirmado] = true;
Arenas[i][_aTiempo] = gettime() + 5;
cuenta[playerid][pDuelo] = true;
SetPlayerPosEx(Arenas[i][_aDuelista1],506.9407,463.4139,1201.0938 + 0.75,359.8395);
SetPlayerPosEx(Arenas[i][_aDuelista2],506.9522,489.0252,1201.0938 + 0.75,176.9555);
SetPlayerVirtualWorld(Arenas[i][_aDuelista1],100 + i);
SetPlayerVirtualWorld(Arenas[i][_aDuelista2],100 + i);
SetPlayerInterior(Arenas[i][_aDuelista1],0);
SetPlayerInterior(Arenas[i][_aDuelista2],0);
SetPlayerWeapons(Arenas[i][_aDuelista1],24,25,34,0,0);
SetPlayerWeapons(Arenas[i][_aDuelista2],24,25,34,0,0);
MiniAD{Arenas[i][_aDuelista1]} = true;
MiniAD{Arenas[i][_aDuelista2]} = true;
SetPlayerArmour(Arenas[i][_aDuelista1],100);
SetPlayerHealth(Arenas[i][_aDuelista1],100);
SetPlayerArmour(Arenas[i][_aDuelista2],100);
SetPlayerHealth(Arenas[i][_aDuelista2],100);
TogglePlayerControllable(Arenas[i][_aDuelista1],false);
TogglePlayerControllable(Arenas[i][_aDuelista2],false);
NoFound++;
break;
}
}
if(!NoFound)return MensajeError(playerid, "Usted no ha sido invitado a duelo.");
return 0b1;
/////////////////////////////////////////para ver////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
COMMAND:versafio(playerid,params[]){
new desafioid;
if(sscanf(params,"d",desafioid))return MensajeError(playerid, "Utilice /verdesafio [Arena del 0 al 49]");
if(desafioid < 0 || desafioid > 49)return MensajeError(playerid, "Utilice /verdesafio [Arena del 0 al 49]");
if(!Arenas[desafioid][_aConfirmado])return MensajeError(playerid, "Esta arena no esta siendo usada.");
SetPlayerVirtualWorld(playerid,100 + desafioid);
SetPlayerInterior(playerid,0);
SetPlayerWeapons(playerid,0,0,0,0,0);
SetPlayerPosEx(playerid,508.1238,451.7234,1201.0938 + 0.75,2.8525);
WeaponF{playerid} = true;
return 0b1;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TENGO ESTE COMANDO , PERO AL DAR ACEPTAR LOS BUGEA OSEA APARESEN EN EL AIRE Y CAYENDO, OJALA ME PUEDAN AYUDAR.
SALUDOS
DE ANTEMANO GRACIAS