[Tutorial] Guardad el lugar donde estuviste By REGM(Explicacion)
#1

Bueno es muy importante que aparescas donde quedaste cuando saliste del servidor asн que hago este tutorial con el code completo.

PD: Este tutorial es para RolePlay
Primeramente los New

pawn Код:
// Guardar Posiciones
new Float:positionx;
new Float:positiony;
new Float:positionz;
//Guardar Posiciones
Buscas esta Linea

pawn Код:
public OnPlayerConnect
Pagas esto

pawn Код:
LoadStats(playerid);
Buscas esta Linea

pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
Pegas esto
pawn Код:
new Float:x;
  new Float:y;
  new Float:z;
  GetPlayerPos(playerid,x,y,z);
  positionx = x;
  positiony = y;
  positionz = z;
  if (!dini_Exists(FileStats(playerid)))
  {
  dini_Create(FileStats(playerid));
  }
  SaveStats(playerid);
Buscas esta linea tambien y debajo de esta
pawn Код:
if ((gTeam[playerid]) == 1)
Antes de Pegar Esto Debes desactivar esto.

pawn Код:
/* else
      {
            SetPlayerToTeamColor(playerid);
            SetPlayerPos(playerid, 1.808619,32.384357,1199.593750);
            SetPlayerFacingAngle(playerid, 0);
            SetPlayerInterior(playerid,1);
            PlayerInfo[playerid][pInt] = 1;
            return 1;
        }
    }
    return 1;
}*/
Despues Pegas Esto

pawn Код:
else
    {
     SetPlayerToTeamColor(playerid);
     SetPlayerPos(playerid,positionx,positiony,positionz); // esto es para que Cargue Donde estubiste la ultima vez
     return 1;
   }
  }
  return 1;
}
Pegas Esto alo Ultimo del GM
pawn Код:
Player(playerid)
{
  new player[MAX_PLAYER_NAME];
  GetPlayerName(playerid, player, sizeof(player));
  return player;
}

FileStats(playerid)
{
  new a[256]; format(a, sizeof(a), "posicion/%s.ini",udb_encode(Player(playerid)));
  return a;
}

SaveStats(playerid)
{
  dini_IntSet(FileStats(playerid), "PositionX", floatround(positionx));
  dini_IntSet(FileStats(playerid), "PositionY", floatround(positiony));
  dini_IntSet(FileStats(playerid), "PositionZ", floatround(positionz));
}

LoadStats(playerid)
{
  positionx = dini_Int(FileStats(playerid), "PositionX");
  positiony = dini_Int(FileStats(playerid), "PositionY");
  positionz = dini_Int(FileStats(playerid), "PositionZ");
}
Ahora bien esto es donde se guardara las posiciones asi Ernesto00_Gomez posicion/%s.ini
Otra Cosa para evitar el AntiRol de aparecer en el ultimo lugar pero cuando te mantan ise esto

pawn Код:
if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0 && PlayerPaintballing[playerid] == 0)
        {
          if(FirstSpawn[playerid] != 1)
          {
            //new string[256];
            new cut = deathcost;
                SafeGivePlayerMoney(playerid, -cut);
                MedicBill[playerid] = 0;
                MedicTime[playerid] = 0;
                NeedMedicTime[playerid] = 0;
                SetPlayerToTeamColor(playerid);
                SetPlayerPos(playerid,1148.8285,-1331.5475,-0.8598); // Aqui pones donde quieras que aparesca el Users
                SetPlayerFacingAngle(playerid, 0);
                SetPlayerInterior(playerid,0);
                PlayerInfo[playerid][pInt] = 0;
                /*SetPlayerHealth(playerid, 50.0);
                PlayerInfo[playerid][pDeaths] += 1;
            SetPlayerInterior(playerid, 3);
            PlayerInfo[playerid][pInt] = 3;
            rand = random(sizeof(gMedicSpawns));
                SetPlayerPos(playerid, gMedicSpawns[rand][0], gMedicSpawns[rand][1], gMedicSpawns[rand][2]); // Warp the player
                SetPlayerFacingAngle(playerid, 0);
            TogglePlayerControllable(playerid, 0);
            GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~You need to rest now ...", 30000, 3);
            JustDied[playerid] = 1;
            MedicTime[playerid] = 1;
            ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
            if(PlayerInfo[playerid][pDonateRank] > 0)
            {
            NeedMedicTime[playerid] = 30;
            }
            else
            {
                NeedMedicTime[playerid] = 40;
                }
            PlayerPlaySound(playerid, 1062, 0.0, 0.0, 0.0);*/

            return 1;
            }
        }
Es el Code el hospital nuevo y mejorada por mi claro Si tienen problemas o algo asн de este tipo me avisa
PD: Cuando estas en alguna Faccion cuando logueas apareceras en tu HQ y si Mueres en el hospital pero si eres nuevo y no tienes Faccion apareceras en el ultimo lugar donde estubiste. Espero que les sirva mi tutorial y si tiene algun error lo postean aca.

PD: Como podran ver hay un tutorial en pawnoscrip asн que de ai agarre la idea ademбs habian algunos bugs en la explicaciуn y fue idea mia lo del hospital asн habra mбs Rol porque si no hay hospital cuando mueres Apareceras en donde moriste y eso seria RK o otro tipo asн que mejor se Evita Ademбs Arregle el tutorial Gracias Doji Estaba en un Error nuevamente Gracias

Otra Cosa ami me salieron unos bugs cuando ise esto en unos
pawn Код:
strtok
Lo Cambias por strt || Solo los que te den error claro esta. Posten si les da bug o otra cosilla.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)