Szerző Téma: Kocsirestart  (Megtekintve 887 alkalommal)

Kocsirestart
« Dátum: 2016. január 05. - 16:16:36 »
0 Show voters
Sziasztok.
Olyan problémám van , hogy ha a kocsikat restartolom mindegyik kocsi megjavul, és azt szeretném, hogy egyik kocsi se javuljon meg.
 
   if (strcmp(cmd, \"/kocsiresi\", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
   {
   if(Admin(playerid, 3))
      {
         for(new vehicleid = 0; vehicleid <= 500; vehicleid++)
         {
             SetVehicleToRespawn(vehicleid);
             engineOn[vehicleid]=false;
            format(string, sizeof(string), \"RLR-%d\", vehicleid);
         }
      }
      new nev[32];
         GetPlayerName(playerid, nev, sizeof(nev));
      new h,mi,s,y,m,d;
      getdate(y,m,d);
      gettime(h,mi,s);
      format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s helyretette az összes járművet.\",y,m,d,h,mi,s,nev);
      LoOoG(stringx);
      SendClientMessageToAll(COLOR_BLUE,\"Összes jármű respawnolva.!\");
      GetPlayerName(playerid, sendername, sizeof(sendername));
      format(string, sizeof(string), \"Admin %s respawnolta az összes járművet!\", sendername);
      SendAdminMessage(COLOR_ADMIN,string);
           }
}
return 1;
}

Kocsirestart
« Válasz #1 Dátum: 2016. január 05. - 16:29:25 »
0 Show voters
Annyit kell csak csinálnod, hogy lekéred az összes jármű HP-ját egy adott változóba, majd azt felhasználva az OnVehicleSpawn callback alatt visszaállítottad a járműnek az életét. Csak ugye globális változónak kell lennie, mert több helyen használod fel.

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Kocsirestart
« Válasz #2 Dátum: 2016. január 06. - 17:54:06 »
0 Show voters
Vagy esetleg megoldod, úgy hogy nem a SetVehicleToRespawn-t használod, hanem például amikor leparkolod a kocsit, akkor lemented vele a respawn poziciót is, és amikor, használod a \"/kocsiresi\" parancsot akkor SetVehiclePos és helyükre rakod.
 

enum CarData
{
    Float:car_respawn_pos[4];
}
new cInfo[MAX_VEHICLES][CarData];
stock ParkVehicle(vehicleid)
{
   GetVehiclePos(vehicleid,cInfo[vehicleid][car_respawn_pos][0],cInfo[vehicleid][car_respawn_pos][1],cInfo[vehicleid][car_respawn_pos][2]);
   GetVehicleZAngle(vehicleid,cInfo[vehicleid][car_respawn_pos][3]);
}
CMD:kocsiresi(playerid)
{
   for(new i = 0; i < MAX_VEHICLES; i++)
   {
       SetVehiclePos(i,cInfo[car_respawn_pos][0],cInfo[car_respawn_pos][1],cInfo[car_respawn_pos][2]);
       SetVehicleZAngle(i,cInfo[car_respawn_pos][3]);
   }
   return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal