Update3DTextLabelText

Započeo over, Oktobar 05, 2019, 23:43:32 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Nece lepo da radi Update3DTextLabelText, tacnije mozda je i do mene :D
Deo skripte: [pawn]Ovde znaci kreiram label
   for(new i = 1; i < MAX_RENT; i++)
   {
      new rFile[50];
      format(rFile, sizeof(rFile), RENT_FILE, i);
      if(fexist(rFile))
      {
         INI_ParseFile(rFile, "UcitajRent", .bExtra = true, .extra = i);
         RENT_ENUM[rID] = g_CreateVehicle_g(RENT_ENUM[rModel], RENT_ENUM[rPozicija][0], RENT_ENUM[rPozicija][1], RENT_ENUM[rPozicija][2], RENT_ENUM[rPozicija][3], RENT_ENUM[rBoja][0], RENT_ENUM[rBoja][1], 2400);
         RentLabel = Create3DTextLabel("[ RENT ~ SLOBODNO ]", 0x0057AEFF, RENT_ENUM[rPozicija][0], RENT_ENUM[rPozicija][1], RENT_ENUM[rPozicija][2], 20.0, 0, 0);
         Attach3DTextLabelToVehicle(RentLabel, RENT_ENUM[rID], 0.0, 0.0, 0.0);
         brojrent ++;
      }
   }[/pawn]
[pawn]A Updateam komandom i to bi trebalo po mom misljenu ovako da izgleda
Update3DTextLabelText(RentLabel[Rentano[playerid]], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ] // [ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: Oktobar 12, 2019, 00:37:49 PRE PODNE od Bašovski

Moderator: 2018 (( Development ))
Moderator: 2019 (( Forumske igre ))





Nisi razumeo Vedrana.. Gde si stavio da ti update-a label.. Funkcija gde si stavio to u modu.. Kapiras?

Citat: Fiddleshock poslato Oktobar 10, 2019, 15:38:58 POSLE PODNE
Nisi razumeo Vedrana.. Gde si stavio da ti update-a label.. Funkcija gde si stavio to u modu.. Kapiras?
Stavljeno je kod komande rent..


[pawn]case D_VRENT:
      {
         if(!response)
         {
            new Float:poz[3]; GetPlayerPos(playerid, poz[0], poz[1], poz[2]); g_SetPlayerPos_g(playerid, poz[0], poz[1], poz[2]+1.5);
            INFO(playerid, "Odustali ste od iznajmljivanja vozila!");
         }
         if(response)
         {
            new minut = strval(inputtext);
            new cena = strval(inputtext)*30;
            if(minut < 1 || minut > 30)
            {
               GRESKA(playerid, "Ne mozete iznajmiti vozilo za manje od 1 minut ili vise od pola sata.");
               new Float:poz[3]; GetPlayerPos(playerid, poz[0], poz[1], poz[2]); g_SetPlayerPos_g(playerid, poz[0], poz[1], poz[2]+1.5);
               return 1;
            }
            if(Rentano[playerid] != -1)
            {
               GRESKA(playerid, "Vec imas iznajmljeno vozilo!");
               new Float:poz[3]; GetPlayerPos(playerid, poz[0], poz[1], poz[2]); g_SetPlayerPos_g(playerid, poz[0], poz[1], poz[2]+1.5);
               return 1;
            }
            foreach(Player, i)
            {
               if(Rentano == GetPlayerVehicleID(playerid))
               {
                  GRESKA(playerid, "Ovo vozilo je vec iznajmljeno!");
                  new Float:poz[3]; GetPlayerPos(playerid, poz[0], poz[1], poz[2]); g_SetPlayerPos_g(playerid, poz[0], poz[1], poz[2]+1.5);
                  return 1;
               }
            }
            if(PLAYER_ENUM[playerid][pNovac] < cena)
            {
               GRESKA(playerid, "Nemate dovoljno novca da iznajmite ovo vozilo!");
               new Float:poz[3]; GetPlayerPos(playerid, poz[0], poz[1], poz[2]); g_SetPlayerPos_g(playerid, poz[0], poz[1], poz[2]+1.5);
               return 1;
            }
            if(VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))))
            {
               new engine, lights, alarm, doors, bonnet, boot, objective;
               GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
               SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, lights, alarm, doors, bonnet, boot, objective);
            }
            g_NovacMinus(playerid, cena);
            Rentano[playerid] = GetPlayerVehicleID(playerid);
            KillTimer(RentTajmer[playerid]);
            RentTajmer[playerid] = SetTimerEx("UnRentTajmer", minut*60000, false, "i", playerid);
            g_SCMF(playerid, -1, ""SRV"[AT]: "BELA"Iznajmio si vozilo na %d minut/a za $%d.",minut,cena);
            SCM(playerid,-1,""BELA"Da prekinete iznajmljivanje kucajte /unrent!");
            SCM(playerid,-1,""BELA"Da locirate vase iznajmljeno vozilo kucajte /rlociraj!");
                Update3DTextLabelText(RentLabel[playerid], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");
         }
      }[/pawn]

Tacnije Update mi ide ovako
[pawn] Update3DTextLabelText(RentLabel[Rentano[playerid]], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");[/pawn]

Postoji greska u tvom kodu kada kreiras label primer: Kreiras vozila i primer kreirao si vozilo id 5, na njega se automatski postavlja label sto je ok.
Zapamti da je ID vozila = 5, samim tim RentLabel je jednak 5, u trenutku kada rentas vozilo ti 'apdejtas' RentLabel za playerid-a sto nigde pre nisi rekao koji je. Da ne duzim pokusaj ovako
[pawn]
Update3DTextLabelText(RentLabel[GetPlayerVehicleID(playerid)], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");[/pawn]

Citat: 002 poslato Oktobar 11, 2019, 16:58:43 POSLE PODNE
Postoji greska u tvom kodu kada kreiras label primer: Kreiras vozila i primer kreirao si vozilo id 5, na njega se automatski postavlja label sto je ok.
Zapamti da je ID vozila = 5, samim tim RentLabel je jednak 5, u trenutku kada rentas vozilo ti 'apdejtas' RentLabel za playerid-a sto nigde pre nisi rekao koji je. Da ne duzim pokusaj ovako
[pawn]
Update3DTextLabelText(RentLabel[GetPlayerVehicleID(playerid)], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");[/pawn]
A kako da uradim onda kada igrac kuca unrent a igrac nije u vozilu?

[pawn]
cmd:unrent(playerid, params[])
{
   if(Rentao[playerid] != -1)
   {
       va_SendClientMessage(playerid, WHITE_COLOR, "Unrentovao si vozilo.");
       SetVehicleToRespawn(Rentao[playerid]);
       Update3DTextLabel(RentLabel[Rentao[playerid]], 0x0080C0FF, "[ RENT ~ SLOBODNO]");
       Rentano[playerid] = -1;
       KillTimer(UnRentTajmer[playerid]);
   }
   return true;
}[/pawn]

Poslednja Izmena: Oktobar 11, 2019, 23:01:47 POSLE PODNE od 002

Citat: 002 poslato Oktobar 11, 2019, 22:59:57 POSLE PODNE
[pawn]
cmd:unrent(playerid, params[])
{
   if(Rentao[playerid] != -1)
   {
       va_SendClientMessage(playerid, WHITE_COLOR, "Unrentovao si vozilo.");
       SetVehicleToRespawn(Rentao[playerid]);
       Update3DTextLabel(RentLabel[Rentao[playerid]], 0x0080C0FF, "[ RENT ~ SLOBODNO]");
       Rentano[playerid] = -1;
       KillTimer(UnRentTajmer[playerid]);
   }
   return true;
}[/pawn]
Videcu da li tako moze