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:
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[i][rID] = g_CreateVehicle_g(RENT_ENUM[i][rModel], RENT_ENUM[i][rPozicija][0], RENT_ENUM[i][rPozicija][1], RENT_ENUM[i][rPozicija][2], RENT_ENUM[i][rPozicija][3], RENT_ENUM[i][rBoja][0], RENT_ENUM[i][rBoja][1], 2400);
			RentLabel[i] = Create3DTextLabel("[ RENT ~ SLOBODNO ]", 0x0057AEFF, RENT_ENUM[i][rPozicija][0], RENT_ENUM[i][rPozicija][1], RENT_ENUM[i][rPozicija][2], 20.0, 0, 0);
			Attach3DTextLabelToVehicle(RentLabel[i], RENT_ENUM[i][rID], 0.0, 0.0, 0.0);
			brojrent ++;
		}
	}

A Updateam komandom i to bi trebalo po mom misljenu ovako da izgleda
Update3DTextLabelText(RentLabel[Rentano[playerid]], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");

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..


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[i] == 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 ]");
			}
		}

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

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
Update3DTextLabelText(RentLabel[GetPlayerVehicleID(playerid)], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");

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
Update3DTextLabelText(RentLabel[GetPlayerVehicleID(playerid)], 0x0080C0FF, "[ RENT ~ ZAUZETO ]");

A kako da uradim onda kada igrac kuca unrent a igrac nije u vozilu?

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;
}


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

Citat: 002 poslato Oktobar 11, 2019, 22:59:57 POSLE PODNE
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;
}

Videcu da li tako moze