Szerző Téma: Az infobarom nem jelenik meg, csak a 0-s idnek(vagy kitudja már.)  (Megtekintve 902 alkalommal)

Nem elérhető AnthonyGates

  • 546
  • AnthonyGates
    • Profil megtekintése
Az infobarom nem jelenik meg, csak a 0-s idnek(vagy kitudja már.)
« Dátum: 2013. November 01. - 18:20:33 »
0 Show voters
Tehát, adott egy infobar textdraw, amibe egy public frissíti az adatokat 5 másodpercenként.
Ez néha, ha többen vagyunk nem jelenik meg, csak az  \"alap stringje\": \"Adatok betöltése...\"
Kód:
Változó:
 
new     Text:infobar[MAX_PLAYERS];

 
forward:
 
forward     Infok(playerid);

 
Timer(OnGameModeInit):
 
SetTimer(\"Infok\", 5000, true);

 
Textdraw létrehozása(OnPlayerConnect)
 
infobar[playerid] = TextDrawCreate(0, 428, \"Adatok betöltése folyamatban...\");
TextDrawAlignment(infobar[playerid], 1);
TextDrawFont(infobar[playerid], 1);
TextDrawSetShadow(infobar[playerid], 1);
TextDrawColor(infobar[playerid], SZIN_TD1);//
TextDrawBackgroundColor(infobar[playerid], SZIN_TD2);//
TextDrawSetOutline(infobar[playerid], 1);
TextDrawUseBox(infobar[playerid], 1);
TextDrawBoxColor(infobar[playerid], 0x05050566);
TextDrawLetterSize(infobar[playerid], 0.4, 1);
TextDrawTextSize(infobar[playerid], 640, 480);

 
Mutatás (OnPlayerSpawn):
 
TextDrawShowForPlayer(playerid,infobar[playerid]);

 
Tartalom: (public Infok(playerid)):
 
public Infok(playerid)
{
new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid != 0)
{
new string[512], nev[MAX_PLAYER_NAME], rangneve[32];
GetPlayerName(playerid,nev,sizeof(nev));
if(PlayerInfo[playerid][AdminSzint] == 0) {rangneve = \"Játékos\";}
if(PlayerInfo[playerid][VIP] == 1) {rangneve = \"V.I.P\";}
if(PlayerInfo[playerid][AdminSzint] == 1) {rangneve = \"Adminsegéd\";}
if(PlayerInfo[playerid][AdminSzint] == 2) {rangneve = \"Próbaidõs Admin\";}
if(PlayerInfo[playerid][AdminSzint] == 3) {rangneve = \"Admin\";}
if(PlayerInfo[playerid][AdminSzint] == 4) {rangneve = \"Fõadmin\";}
if(PlayerInfo[playerid][AdminSzint] == 5) {rangneve = \"Segéd Fejlesztõ\";}
if(PlayerInfo[playerid][AdminSzint] == 6) {rangneve = \"Tulajdonos\";}
format(string,sizeof(string), \" Név: %s  XP: %d Bank: $%d Rang: %s ~n~ Halálok: %i  Ölések: %i  Figyelmeztetések: %d/5 Ban Figyelmeztetések: %d/5\",GetName(playerid),GetPlayerScore(playerid),PlayerInfo[playerid][bank], rangneve,PlayerInfo[playerid][Halal],PlayerInfo[playerid][Oles],PlayerInfo[playerid][Figyelmeztetes],PlayerInfo[playerid][bFigyelmeztetes]);
TextDrawSetString(infobar[playerid], string);
}
else
{
new string[512], rangneve[32];
if(PlayerInfo[playerid][AdminSzint] == 0) {rangneve = \"Játékos\";}
if(PlayerInfo[playerid][VIP] == 1) {rangneve = \"V.I.P\";}
if(PlayerInfo[playerid][AdminSzint] == 1) {rangneve = \"Adminsegéd\";}
if(PlayerInfo[playerid][AdminSzint] == 2) {rangneve = \"Próbaidõs Admin\";}
if(PlayerInfo[playerid][AdminSzint] == 3) {rangneve = \"Admin\";}
if(PlayerInfo[playerid][AdminSzint] == 4) {rangneve = \"Fõadmin\";}
if(PlayerInfo[playerid][AdminSzint] == 5) {rangneve = \"Segéd Fejlesztõ\";}
if(PlayerInfo[playerid][AdminSzint] == 6) {rangneve = \"Tulajdonos\";}
   format(string,sizeof(string), \" Név: %s  XP: %d Bank: $%d Rang: %s ~n~ Halálok: %i  Ölések: %i  Figyelmeztetések: %d/5 Ban Figyelmeztetések: %d/5\",GetName(playerid),GetPlayerScore(playerid),PlayerInfo[playerid][bank], rangneve,PlayerInfo[playerid][Halal],PlayerInfo[playerid][Oles],PlayerInfo[playerid][Figyelmeztetes],PlayerInfo[playerid][Figyelmeztetes]);
TextDrawSetString(infobar[playerid], string);
}
   return 1;
}

 
Elõre is köszönöm, ha valaki segít.
Edit: \"Kitudja\"...
« Utoljára szerkesztve: 2013. November 01. - 18:26:45 írta AnthonyGates »

Az infobarom nem jelenik meg, csak a 0-s idnek(vagy kitudja már.)
« Válasz #1 Dátum: 2013. November 01. - 18:31:49 »
0 Show voters
public Infok()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
          new vehicleid;
          vehicleid = GetPlayerVehicleID(i);
          if(vehicleid != 0)
          {
                    new string[512], nev[MAX_PLAYER_NAME], rangneve[32];
                  GetPlayerName(i,nev,sizeof(nev));
                  if(PlayerInfo[AdminSzint] == 0) {rangneve = \"Játékos\";}
                  if(PlayerInfo[VIP] == 1) {rangneve = \"V.I.P\";}
                  if(PlayerInfo[AdminSzint] == 1) {rangneve = \"Adminsegéd\";}
                  if(PlayerInfo[AdminSzint] == 2) {rangneve = \"Próbaidõs Admin\";}
                  if(PlayerInfo[AdminSzint] == 3) {rangneve = \"Admin\";}
                  if(PlayerInfo[AdminSzint] == 4) {rangneve = \"Fõadmin\";}
                  if(PlayerInfo[AdminSzint] == 5) {rangneve = \"Segéd Fejlesztõ\";}
                  if(PlayerInfo[AdminSzint] == 6) {rangneve = \"Tulajdonos\";}
                  format(string,sizeof(string), \" Név: %s  XP: %d Bank: $%d Rang: %s ~n~ Halálok: %i  Ölések: %i  Figyelmeztetések: %d/5 Ban Figyelmeztetések: %d/5\",GetName(i),GetPlayerScore(i),PlayerInfo[bank], rangneve,PlayerInfo[Halal],PlayerInfo[Oles],PlayerInfo[Figyelmeztetes],PlayerInfo[bFigyelmeztetes]);
                  TextDrawSetString(infobar, string);
          }
          else
          {
                  new string[512], rangneve[32];
                  if(PlayerInfo[AdminSzint] == 0) {rangneve = \"Játékos\";}
                  if(PlayerInfo[VIP] == 1) {rangneve = \"V.I.P\";}
                  if(PlayerInfo[AdminSzint] == 1) {rangneve = \"Adminsegéd\";}
                  if(PlayerInfo[AdminSzint] == 2) {rangneve = \"Próbaidõs Admin\";}
                  if(PlayerInfo[AdminSzint] == 3) {rangneve = \"Admin\";}
                  if(PlayerInfo[AdminSzint] == 4) {rangneve = \"Fõadmin\";}
                  if(PlayerInfo[AdminSzint] == 5) {rangneve = \"Segéd Fejlesztõ\";}
                  if(PlayerInfo[AdminSzint] == 6) {rangneve = \"Tulajdonos\";}
                  format(string,sizeof(string), \" Név: %s  XP: %d Bank: $%d Rang: %s ~n~ Halálok: %i  Ölések: %i  Figyelmeztetések: %d/5 Ban Figyelmeztetések: %d/5\",GetName(i),GetPlayerScore(i),PlayerInfo[bank], rangneve,PlayerInfo[Halal],PlayerInfo[Oles],PlayerInfo[Figyelmeztetes],PlayerInfo[Figyelmeztetes]);
                  TextDrawSetString(infobar, string);
          }
}
      return 1;
}

Az infobarom nem jelenik meg, csak a 0-s idnek(vagy kitudja már.)
« Válasz #2 Dátum: 2013. November 01. - 18:32:47 »
0 Show voters
Egyszerû alap hiba.
Egy argumentum értékkel láttad el az eljárást te meg egy szimpla SetTimer-rel hívod meg. Nem csoda hogy csak 0 értékkel mûködik, hiszen nem kapja meg a játékos azonosítóját.
 
public Infok(playerid)
SetTimer(\"Infok\", 5000, true);

 
Használj PlayerTextDraw-ot,

Nem elérhető AnthonyGates

  • 546
  • AnthonyGates
    • Profil megtekintése
Az infobarom nem jelenik meg, csak a 0-s idnek(vagy kitudja már.)
« Válasz #3 Dátum: 2013. November 02. - 22:43:22 »
0 Show voters
Köszönöm mindkettõtöknek, ment a +, megoldva.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal