SA-MP Forums Archive
їEsto estб bien echo? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: їEsto estб bien echo? (/showthread.php?tid=524481)



їEsto estб bien echo? - xTexTx - 07.07.2014

Hola, hice este mini-sistemita de robo de tiendas y hice la primer tienda de robo, diganme si lo hice bien porque me saltan 3 warnings que se los dejare al final.

pawn Код:
new Checkpoint[20];
forward RobarBurgerNuevamente(playerid);

CheckPoints:
pawn Код:
Checkpoint[0] = CreateDynamicCP(-1911.8503,828.4307,35.1756,138.4753,0,0,0,0,0); //Entrada BurgerShot
Checkpoint[1] = CreateDynamicCP(363.4130,-74.5787,1001.5078,314.7000,0,0,0,0,0); //Interior BurgerShot
Checkpoint[2] = CreateDynamicCP(378.3753,-57.4592,1001.5078,355.4337,0,0,0,0,0); //Robo BurgerShot
Comando de robo:
pawn Код:
CMD:robarburger(playerid,params[])
{
    if(IsPlayerInDynamicCP(playerid,Checkpoint[2]))
    {
       SetPVarInt(playerid, "RobandoBurger", 30);
       SetPVarInt(playerid, "BurgerRobadoRecientemente", 1);
       SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid) + 2);
       @Robbing1(playerid);
       return 1;
    }
    return 1;
}

Para cuando esten en los CP:
pawn Код:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
    if(checkpointid == Checkpoint[0])
    {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "Bienvenido a BurgerShot");
       SetPlayerInterior(playerid, 10);
       SetPlayerPos(playerid,363.4130,-74.5787,1001.5078);
       SetPlayerFacingAngle(playerid,89.2370);
    }
   
    if(checkpointid == Checkpoint[1])
    {
       SetPlayerInterior(playerid,0);
       SetPlayerPos(playerid,-1911.8503,828.4307,35.1756);
       SetPlayerFacingAngle(playerid,2.7449);
    }
   
    if(checkpointid == Checkpoint[2])
    {
       SendClientMessage(playerid,COLOR_LIGHTBLUE,"Utiliza /robarburger para robar la tienda!");
    }
   
    return 1;
}
El public del forward que defini arriba.
pawn Код:
public RobarBurgerNuevamente(playerid)
{
   if(GetPVarInt(playerid, "BurgerRobadoRecientemente") == 1)
   {
       SetPVarInt(playerid, "BurgerRobadoRecientemente", 0);
       return 1;
   }
   return 1;
}
Y para cuando vaya a robar:
pawn Код:
@Robbing1(playerid);
@Robbing1(playerid)
{
    new mrand =random(GetPlayerMoney(playerid));
    new string[120];
    new Time = GetPVarInt(playerid, "RobandoBurger");
    if(!IsPlayerConnected(playerid))
        return 0;

    if(Time < 1)
    {
      SetPVarInt(playerid, "RobandoBurger", 0);
      SetTimer("RobarBurgerNuevamente", 360000, 0);
      GivePlayerMoney(playerid,mrand);
      SetPlayerScore(playerid,GetPlayerScore(playerid) + 2);
      format(string,sizeof(string),"Robaste $%d de la tienda BurgerShot",mrand,playerid);
      return SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    }

    new str[30];
    format(str, sizeof(str), "Tiempo para robar nuevamente la tienda: %d", Time);
    GameTextForPlayer(playerid, str, 2500, 3);

    SetPVarInt(playerid, "RobandoBurger", Time - 1);
    SetTimerEx("@Robbing1", 1000, false, "i", playerid);
    return 1;
}
Y ahora, los famosos warning:
Quote:

C:\Users\Servidor\Desktop\Escritorio\Cop and Robbers\gamemodes\PYC.pwn(184) : warning 202: number of arguments does not match definition
C:\Users\Servidor\Desktop\Escritorio\Cop and Robbers\gamemodes\PYC.pwn(185) : warning 202: number of arguments does not match definition
C:\Users\Servidor\Desktop\Escritorio\Cop and Robbers\gamemodes\PYC.pwn(186) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Warnings.

Que estan en las siguientes lineas:
pawn Код:
Checkpoint[0] = CreateDynamicCP(-1911.8503,828.4307,35.1756,138.4753,0,0,0,0,0); //Entrada BurgerShot
    Checkpoint[1] = CreateDynamicCP(363.4130,-74.5787,1001.5078,314.7000,0,0,0,0,0); //Interior BurgerShot
    Checkpoint[2] = CreateDynamicCP(378.3753,-57.4592,1001.5078,355.4337,0,0,0,0,0); //Robo BurgerShot
їEsos warning's tienen alguna importancia?, їcomo puedo solucionarlos?.

Y bue, se preguntaran para que postie todo el sistema completo, es para que me digan si me falta algo o si algo estб mal.

Gracias de antemano, saludos.


Respuesta: їEsto estб bien echo? - Glimma - 07.07.2014

Tenйs un 0 de mбs en donde usбs CreateDynamicCP.


Respuesta: їEsto estб bien echo? - xTexTx - 07.07.2014

Ah muchas gracias xD era eso el causante de los warnings, GRACIAS!!


Respuesta: їEsto estб bien echo? - xTexTx - 07.07.2014

Una duda mas, їporque no me aparecen los CP en el juego?


Respuesta: їEsto estб bien echo? - Glimma - 07.07.2014

їEl de la entrada del Burger te aparece?


Respuesta: їEsto estб bien echo? - xTexTx - 07.07.2014

Nop, no aparece ninguno de los 3.

Los /save son estos:
Quote:

AddPlayerClass(12,-1911.8503,828.4307,35.1756,138.4753,0,0,0,0,0,0); // entradaburger
AddPlayerClass(12,363.4130,-74.5787,1001.5078,314.7000,0,0,0,0,0,0); // salidaburger
AddPlayerClass(12,378.3753,-57.4592,1001.5078,355.4337,0,0,0,0,0,0); // lugarroboburger




Respuesta: їEsto estб bien echo? - Glimma - 07.07.2014

Tenй en cuenta los argumentos de la funciуn, que son estos:

Код:
CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid, interiorid, playerid, Float:streamdistance);
Probб asн:

pawn Код:
CreateDynamicCP(-1911.8503, 828.4307, 35.1756, 1.0, 0, 0, playerid, 6000.0); // Entrada burger
CreateDynamicCP(363.4130, -74.5787, 1001.5078, 1.0, 0, INTERIORBURGER, playerid, 6000.0); // Salida burger
CreateDynamicCP(378.3753, -57.4592, 1001.5078, 1.0, 0, INTERIORBURGER, playerid, 6000.0); // Lugar robo burger
Por lo que veo, en donde va el argumento "size" estabas poniendo el float de бngulo extraнdo de la funciуn AddPlayerClass, cuando en realidad lo que va es el tamaсo del checkpoint, que en mi caso lo puse de 1.0

Donde puse INTERIORBURGER (en los ъltimos dos, y no en el primero ya que al ser entrada va interior 0), tenйs que poner el ID del Interior del Burger que uses, ya que hay 2 o 3 si no me equivoco. Podйs sacar el ID de acб.

Y en el lugar que puse "playerid", es porque me imagino que el checkpoint se activa para un determinado jugador a la hora de ejecutarse cierto comando o se presiona una tecla, pero en el caso de que quieras hacer que el checkpoint se active para todos los jugadores, en lugar de "playerid" va "-1".


Respuesta: їEsto estб bien echo? - xTexTx - 07.07.2014

Ahmm... Ahora entiendo, muchisimas gracias, te lo agradezco mucho.


Respuesta: їEsto estб bien echo? - xTexTx - 07.07.2014

Oye, el CP se me bugea y apenas entro y sale, entra y sale, entra y sale, entra y sale. Se re bugea y no deja de teletransportarme sin parar.
їQue hago?, ademas estan las flechitas amarillas jodiendo que no sй como quitarlas. -.-


Respuesta: їEsto estб bien echo? - Glimma - 07.07.2014

Y debe ser porque al pisar el checkpoint de entrada te teletransporta justo a donde estб el checkpoint de salida, entonces lo que tenйs que hacer es que al pisar el checkpoint te teletransporte mбs para el medio del Burger.

Tratб de evitar el doble post.