Pomoc oko td

Započeo Davor_Malovic, April 30, 2021, 03:35:26 PRE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Problem(error/warning): Dakle imam td, nap sam i sve spojio KM/H, mjeri Gorivo mjeri, i sve pet, ali ima problem, kada igrac udje u auto da mu pokaze taj td, to skripta i uradi, ali kada igrac izadje iz tog auta ostane taj td i ne zeli da se skloni, stavio sam i provjeru ako je igrac na nogama da mu hide-a td isto sve, pokusao sam i td destroy isto, ako neko zna odg zahvalan sam
Deo skripte:
//

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
//
Poslednja Izmena: Maj 01, 2021, 00:37:08 PRE PODNE od M Ө M Σ N Z I

Evo ti primer jedan kako mozes da radis npr (tako sam ja)

stock CreateSpeedoTextDraws(const playerid, bool: status)
{
	if (!status) {
		// ovde stavis da ti se uniste svi tdovi...

		return 1;
	}

	// ovde stavis kreiranje svih tdova

	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	CreateSpeedoTextDraws(playerid, (newstate == PLAYER_STATE_DRIVER ? (true) : (false)));

	return 1;
}

stock CreateSpeedoTextDraws(const playerid, bool: status)
{
	if (!status)
	{
		for(new i = 0; i < 14; i++)
		{
			PlayerTextDrawDestroy(playerid, Brzinomer[playerid][i]);
		}
		return 1;
	}
	for(new i = 0; i < 14; i++)
	{
		PlayerTextDrawShow(playerid, Brzinomer[playerid][i]);
	}
	return 1;
}
// ovo sam ubacio u onplayerstatechange i isto sve ne skloni ga
{
	CreateSpeedoTextDraws(playerid, (newstate == PLAYER_STATE_DRIVER ? (true) : (false)));
}

Citat: Davor_Malovic poslato April 30, 2021, 12:07:14 POSLE PODNE
stock CreateSpeedoTextDraws(const playerid, bool: status)
{
	if (!status)
	{
		for(new i = 0; i < 14; i++)
		{
			PlayerTextDrawDestroy(playerid, Brzinomer[playerid][i]);
		}
		return 1;
	}
	for(new i = 0; i < 14; i++)
	{
		PlayerTextDrawShow(playerid, Brzinomer[playerid][i]);
	}
	return 1;
}
// ovo sam ubacio u onplayerstatechange i isto sve ne skloni ga
{
	CreateSpeedoTextDraws(playerid, (newstate == PLAYER_STATE_DRIVER ? (true) : (false)));
}


tu gde ih prikazujes prvo iznad treba da ih napravis pa onda ispod prikazes

Citat: Davor_Malovic poslato April 30, 2021, 12:07:14 POSLE PODNE
stock CreateSpeedoTextDraws(const playerid, bool: status)
{
	if (!status)
	{
		for(new i = 0; i < 14; i++)
		{
			PlayerTextDrawDestroy(playerid, Brzinomer[playerid][i]);
		}
		return 1;
	}
	for(new i = 0; i < 14; i++)
	{
		PlayerTextDrawShow(playerid, Brzinomer[playerid][i]);
	}
	return 1;
}
// ovo sam ubacio u onplayerstatechange i isto sve ne skloni ga
{
	CreateSpeedoTextDraws(playerid, (newstate == PLAYER_STATE_DRIVER ? (true) : (false)));
}


Ne skloni se jer koristiš destroy, moraš hide prvo + po tom što si napisao od koda kad ih uništiš nećeš ih moći vidjeti više, moraš ih kreirati svaki put pa prikazat ako si ih prethodno uništio

Pokusao sam i PlayerTextDrawHide isto
Poslednja Izmena: April 30, 2021, 13:07:38 POSLE PODNE od Davor_Malovic





stock CreateSpeedoTextDraws(const playerid, bool: status)
{
    if (!status) {
        for(new i = 0; i < 14; i++) {
            PlayerTextDrawHide(playerid, Brzinomer[playerid]);
        }
        return 1;
    }
    for(new i = 0; i < 14; i++) {
        PlayerTextDrawShow(playerid, Brzinomer[playerid]);
    }
    return 1;
}
hook OnPlayerStateChange(playerid, newstate, oldstate) {
    CreateSpeedoTextDraws(playerid, (newstate == PLAYER_STATE_DRIVER ? (true) : (false)));
    return 1;
}

Vidi jel ti ovako ko u vedrana ako jes i ne radi baci neki print da vidiš jel ulazi u stock ako neće vidi crashdetect da nije array sjeban ili nešto myb ti onplayerstatechange pukne negdje

PlayerTextDrawHide(playerid, Brzinomer[playerid]);
PlayerTextDrawShow(playerid, Brzinomer[playerid]); 
2 errora vjvr zbog [i] jer fali  error 035: argument type mismatch (argument 2)
error 035: argument type mismatch (argument 2)

Citat: 'xza poslato April 30, 2021, 13:27:07 POSLE PODNE
Vidi jel ti ovako ko u vedrana ako jes i ne radi baci neki print da vidiš jel ulazi u stock ako neće vidi crashdetect da nije array sjeban ili nešto myb ti onplayerstatechange pukne negdje
Pokusao sam da posaljem poruku igracu kao test 123 radi na Pokazivanju TD-A tek kada udje u auto, ali kada izadje ne posalje uopste poruku

[13:41:45] [debug] Run time error 4: "Array index out of bounds"
[13:41:45] [debug]  Attempted to read/write array element at index 12 in array of size 12
[13:41:45] [debug] AMX backtrace:
[13:41:45] [debug] #0 003a1bec in ?? (0, 1) in agrp.amx
[13:41:45] [debug] #1 0037af88 in public WC_OnPlayerStateChange (0, 2, 1) in agrp.amx
[13:41:45] [debug] #2 0005d2dc in public FIXES_OnPlayerStateChange (0, 2, 1) in agrp.amx
[13:41:45] [debug] #3 000080c0 in public OnPlayerStateChange (0, 2, 1) in agrp.amx


Ima i kod njeg [ i ] samo je to bbcode na forumu pa ne vidiš

Daj kompletan onplayerstatechange

CreateSpeedoTextDraws(playerid, true);

Probaj ovako, ovo ti nece sakriti td kad izadjes iz vozila ali vidi da li ce ga uopste prikazati

Pokaze njega i pokusao sam printf da kada udje u vozilo, ispisuje u logu to sto sam napisao u printf, a stavio sam i kada izadje da bude printf nista ne pokazuje samo gore stoji onaj dio sto sam poslao onplayerstatechange....