Comando, SERVER: Unknown command
#1

Este es el segundo comando que ando creando ya que nunca habнa creado algъn comando y en CMD, espero no molestar y si pueden ayudarme ya que he molestado a muchos amigos

PHP код:
CMD:comprarcasa(playeridparams[])
{
    new 
houseid = -1;
    for(new 
0MAX_CASASi++)
    {
        if(
IsPlayerInRangeOfPoint(playerid2.5CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
        {
            if(
CasaInfo[houseid][cPropietario] != 0) return SendClientMessage(playeridCOLOR_ROJO"ERROR: {C7C7C7}Esta casa no estб en venta.");
            if(
CasaInfo[houseid][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playeridCOLOR_ROJO"ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
            
CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
            
ActualizarCasas(houseid);
            
GuardarCasas(houseid);
            
GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);
            
SendClientMessageEx(playeridCOLOR_VERDE_1"INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s."FormatoCantidad(CasaInfo[i][cPrecio]));
        }
        else return 
SendClientMessage(playeridCOLOR_ROJO"ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    }
    return 
1;



Esto pasa cuando creo una segunda casa, el error solo da con el ID 1 casa

Reply
#2

[Editar]:
CasaInfo[houseid][cPropietario] | houseid -> i
CasaInfo[houseid][cPrecio] | houseid > i
ActualizarCasas(houseid); | houseid > i
etc.
Reply
#3

Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < sizeof(CasaInfo); i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
            ActualizarCasas(i);
            GuardarCasas(i);
            GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < sizeof(CasaInfo); i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
            ActualizarCasas(i);
            GuardarCasas(i);
            GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    }
    return 1;
}
Cuando la compro me cierra el samp-server, el crashdetect no me quiere cargar para que diga el error y en la casa ID 2 sigue diciendo que no estoy cerca de una casa
Reply
#5

Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < sizeof(CasaInfo); i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
            ActualizarCasas(i);
            GuardarCasas(i);
            new dinero = GetPlayerMoney(playerid);
            GivePlayerMoney(playerid, dinero - CasaInfo[i][cPrecio]);
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
			break;
		}
        else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    }
    return 1;
}
Si no funciona, el problema puede estar aquн:

CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
ActualizarCasas(i);
GuardarCasas(i);

Para ello tendrнas que mostrar las funciones y el enum de " CasaInfo ", saludos.
Reply
#6

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < sizeof(CasaInfo); i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
            ActualizarCasas(i);
            GuardarCasas(i);
            new dinero = GetPlayerMoney(playerid);
            GivePlayerMoney(playerid, dinero - CasaInfo[i][cPrecio]);
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
			break;
		}
        else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    }
    return 1;
}
Si no funciona, el problema puede estar aquн:

CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
ActualizarCasas(i);
GuardarCasas(i);

Para ello tendrнas que mostrar las funciones y el enum de " CasaInfo ", saludos.
Sуlo funcionarб para la primera casa.

es asн:

Код:
CMD:comprarcasa(playerid, params[])
{
     for(new i = 0; i < sizeof(CasaInfo); i++)
     {
          if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))
          {
               if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta."); // ї?
               if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");
               CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];
               ActualizarCasas(i);
               GuardarCasas(i);
               GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);
               return SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
          }
     }
     SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
     return 1;
}
si te cierra el servidor al comprarlo debes tener un error en las funciones como dijo LatinZ

pd: їcompruebas si la casa estб o no en venta con la variable donde almacenas si tiene o no dueсo?
Reply
#7

Ya pude comprar otra casa que no sea el ID 1 pero sigue cerrando el server, Aquн las funciones.

Edit
Reply
#8

pawn Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < MAX_CASAS; i++)  
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))  
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");  
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");  
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];  
            ActualizarCasas(i);  
            GuardarCasas(i);  
            GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);  
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
            return 1;
        }
    }

    SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    return 1;
}
Reply
#9

Quote:
Originally Posted by KevinReinke
Посмотреть сообщение
Me gusta la forma en que ignoras.

pawn Код:
CMD:comprarcasa(playerid, params[])
{
    for(new i = 0; i < MAX_CASAS; i++)  
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.5, CasaInfo[i][cPosX], CasaInfo[i][cPosY], CasaInfo[i][cPosZ]))  
        {
            if(CasaInfo[i][cPropietario] != 0) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}Esta casa no estб en venta.");  
            if(CasaInfo[i][cPrecio] > PlayerInfo[playerid][Dinero]) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No tienes el dinero suficiente para adquirir estб casa.");  
            CasaInfo[i][cPropietario] = PlayerInfo[playerid][ID];  
            ActualizarCasas(i);  
            GuardarCasas(i);  
            GivePlayerMoney(playerid, -CasaInfo[i][cPrecio]);  
            SendClientMessageEx(playerid, COLOR_VERDE_1, "INFORMACIУN: {C7C7C7}Has adquirido una nueva casa por %s.", FormatoCantidad(CasaInfo[i][cPrecio]));
            return 1;
        }
    }

    SendClientMessage(playerid, COLOR_ROJO, "ERROR: {C7C7C7}No estбs cerca de una casa para utilizar el comando.");
    return 1;
}
Igual amigo me cierra el server al comprar
Reply
#10

Quote:
Originally Posted by wharlos
Посмотреть сообщение
Igual amigo me cierra el server al comprar
Entonces hiciste algo mal en otra parte. El comando que puse arregla esto: "el error solo da con el ID 1 casa".
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)