[AYUDA] Bug Del Comando Desafio :c
#1

PHP код:
#define MAX_ARENAS                    (50)
/////////////////////////////////
new Arenas[MAX_ARENAS][eArena];
///////////////////////////////////////EL COMANDO///////////////////////////////////////////////////////////////////////////////
COMMAND:desafio(playerid,params[]){
    new 
JugadorNoFound=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 || 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
Reply
#2

їSabes de script?, el hecho es que debe haber un error con las coordenadas o sencillamente estбn mal seteadas, todo depende de si estб cogiendo o no la posiciуn de la arena del jugador que lo ha desafiado (o eso es lo que entiendo).
El error ha de estar aquн:
Код:
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);
Reply
#3

Necesitas cambiar las coordenadas de aquн:

PHP код:
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); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)