Error comando maletero ZCMD
#7

pawn Код:
CMD:maletero(playerid, params[])
{
   new string[128];
   if(params[0] = 's')
   {
        if(sscanf(params, "{s[32]}i", amount))
        {
            SendClientMessageEx(playerid, COLOR_WHITE, "USA: /Maletero [g/s]");
            return 1;
        }
      if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer esto mientras estбs dentro de un vehнculo.");
      else if(GetPVarInt(playerid, "GiveWeaponTimer") >= 1) {

         new
            szMessage[59];

         format(szMessage, sizeof(szMessage), "   Necesitas esperar %d segundos despuйs de haber agarrado un arma.", GetPVarInt(playerid, "GiveWeaponTimer"));
         return SendClientMessageEx(playerid, COLOR_GREY, szMessage);
      }
      new
         Float: fVehPos[3],
         iWeaponSlot = amount;

      for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
      {
         if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID)
         {
            GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], fVehPos[0], fVehPos[1], fVehPos[2]);
            if(IsPlayerInRangeOfPoint(playerid, 4.0, fVehPos[0], fVehPos[1], fVehPos[2])) {
               if(isnull(params)) {

                  new
                     szMessage[64];

                  format(szMessage, sizeof(szMessage), "*** %s - %s ***", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
                  SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
                  for(new s = 0; s < 3; s++) if(PlayerVehicleInfo[playerid][d][pvWeapons][s] != 0) {

                     new
                        szWeapon[16];

                     GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][s], szWeapon, sizeof(szWeapon));
                     format(szMessage, sizeof(szMessage), "Ranura %d: %s", s+1, szWeapon);
                     SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
                  }
                  return SendClientMessageEx(playerid, COLOR_WHITE, "USA: /smaletero [slot]");
               }
               else if(GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 509) {
                  return SendClientMessageEx(playerid,COLOR_GREY,"Ese vehiculo no tiene maletero.");
               }
               new
                  engine, lights, alarm, doors, bonnet, boot, objective;
               GetVehicleParamsEx(PlayerVehicleInfo[playerid][d][pvId], engine, lights, alarm, doors, bonnet, boot, objective);

               if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET)
               {
                  return SendClientMessageEx(playerid, COLOR_GRAD3, "No puedes tomar armas del maletero, si estб cerrado! /abrir maletero para abrirlo.");
               }
               else if(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] != 0) {
                  new
                     szMessage[128];

                  //GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1], szWeapon, sizeof(szWeapon));
                  GivePlayerValidWeapon(playerid, PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]);
                  PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] = 0;
                  format(szMessage, sizeof(szMessage), "Retiraste un %s del maletero de tu coche.", WeaponNames[PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]]);
                  SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
                  format(szMessage, sizeof(szMessage), "* %s ha retirado un %s del maletero de su coche.", GetPlayerNameEx(playerid), WeaponNames[PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]]);
                  return ProxDetector(30.0, playerid, szMessage, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
               }
               else return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes un arma almacenada en esa ranura.");
            }
         }
      }
      return SendClientMessageEx(playerid,COLOR_GREY,"No estбs cerca de un vehiculo tuyo.");
   }
   else if(params[0] = 'g')
   {
      new weaponchoice[32], slot;
      if(sscanf(params, "{s[32]}s[32]d", weaponchoice, slot)) return SendClientMessageEx(playerid, COLOR_WHITE, "USA: /Maletero g [Arma] [Slot]");
      if(IsPlayerInAnyVehicle(playerid)) { SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer esto mientras estar en el interior del vehнculo!"); return 1; }
      if(GetPVarInt(playerid, "EMSAttempt") != 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes suficientes fuerzas para poder guardar tu arma.");

      new pvid = -1, Float: x, Float: y, Float: z;
      for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
      {
         if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
         if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
         {
            pvid = d;
            break;
         }
      }
      if(pvid == -1) return SendClientMessageEx(playerid,COLOR_GREY,"No estбs cerca de un vehнculo que sea tuyo.");
      new engine,lights,alarm,doors,bonnet,boot,objective;
      GetVehicleParamsEx(PlayerVehicleInfo[playerid][pvid][pvId],engine,lights,alarm,doors,bonnet,boot,objective);
      if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET) return SendClientMessageEx(playerid, COLOR_GRAD3, "No se puede poner armas en el interior del maletero si estб cerrado! (/abrir maletero para abrirlo)");
      if(GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 510)  return SendClientMessageEx(playerid,COLOR_GREY,"Este coche no tiene maletero.");

      //new Float: Health;
      //GetPlayerHealth(playerid, Health);
      //if(Health < 80.0) return SendClientMessageEx(playerid,COLOR_GREY,"You cannot store weapons in a car when your health lower than 80.");
      if (GetPVarInt(playerid, "GiveWeaponTimer") > 0)
      {
         format(string, sizeof(string), "   Necesitas esperar %d segundos despuйs de haber guardado un arma.", GetPVarInt(playerid, "GiveWeaponTimer"));
         SendClientMessageEx(playerid,COLOR_GREY,string);
         return 1;
      }
      if( PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] != 0)
      {
         SendClientMessageEx(playerid, COLOR_GREY, "Tienes armas guardadas en ese slot.");
         return 1;
      }
      new weapon;
      if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][2] == 23)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una pistola SD en tu maletero.");
            weapon = Info[playerid][pWeapons][2];
            format(string,sizeof(string), "* %s guarda un pistola SD en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][2] == 24)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un Desert Eagle en tu maletero.");
            weapon = Info[playerid][pWeapons][2];
            format(string,sizeof(string), "* %s guarda un Desert Eagle en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][3] == 25)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un Shotgun en tu maletero.");
            weapon = Info[playerid][pWeapons][3];
            format(string,sizeof(string), "* %s guarda un Shotgun en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][3] == 27)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una CombatShotgun en tu maletero.");
            weapon = Info[playerid][pWeapons][3];
            format(string,sizeof(string), "* %s guarda una Combat Shotgun en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][4] == 29)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un MP5 en tu maletero.");
            weapon = Info[playerid][pWeapons][4];
            format(string,sizeof(string), "* %s guarda un MP5 en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }

      else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][5] == 30)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una AK-47 en tu maletero.");
            weapon = Info[playerid][pWeapons][5];
            format(string,sizeof(string), "* %s guarda una AK-47 en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][5] == 31)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una M4 en tu maletero.");
            weapon = Info[playerid][pWeapons][5];
            format(string,sizeof(string), "* %s guarda una M4 en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][6] == 33)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un rifle en tu maletero.");
            weapon = Info[playerid][pWeapons][6];
            format(string,sizeof(string), "* %s guarda un rifle en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
      {
         if( Info[playerid][pWeapons][6] == 34)
         {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un sniper en tu maletero.");
            weapon = Info[playerid][pWeapons][6];
            format(string,sizeof(string), "* %s guarda un sniper en su maletero.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
            SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
         }
      }
      if(weapon == 0) return SendClientMessageEx(playerid, COLOR_GREY, "No tienes esa arma");
      if(PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] == 0)
      {
         PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] = weapon;
         RemovePlayerWeapon(playerid, weapon);
         return 1;
      }
      else { SendClientMessageEx(playerid,COLOR_GREY,"   Nombre invбlido!"); return 1; }
   }
   else
   {
        SendClientMessageEx(playerid, COLOR_WHITE, "USA: /Maletero [g/s]");
        return 1;
   }
   return 1;
}
No puedo testear porque no estoy en mi PC, pero supongo que deberнa funcionar.
Reply


Messages In This Thread
Error comando maletero ZCMD - by LuisGarcia - 06.11.2012, 01:32
Respuesta: Error comando maletero ZCMD - by LuisGarcia - 08.11.2012, 15:09
Respuesta: Error comando maletero ZCMD - by CaptainMactavish - 08.11.2012, 15:16
Re : Error comando maletero ZCMD - by LuisGarcia - 09.11.2012, 02:17
Respuesta: Error comando maletero ZCMD - by LuisGarcia - 10.11.2012, 02:48
Respuesta: Error comando maletero ZCMD - by LuisGarcia - 11.11.2012, 13:27
Respuesta: Error comando maletero ZCMD - by CaptainMactavish - 11.11.2012, 14:13

Forum Jump:


Users browsing this thread: 1 Guest(s)