Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4024 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki,

 

šiandien testuodamas, jau ne pirmą kartą pastebiu, jog pas mane magiškai išsitaško textdraw'ai ( speedometro, taksometro ).

 

Viskas matosi čia - http://imgur.com/yY8nHDt,xP1EVNm,gykI9QQ#0, kai tuo tarpu mano ekrane viskas buvo idealiai gerai, tačiau po testavimo pamačiau, jog crashdetect'as tiesiog floodina samp.exe -

[19:16:25] [debug] AMX backtrace:
[19:16:25] [debug] #0 000dd14c in ?? () from test.amx
[19:16:25] [debug] #1 000daae8 in public uSpeedomether () from test.amx
[19:16:25] [debug] Run time error 4: "Array index out of bounds"
[19:16:25] [debug]  Accessing element at negative index -400
forward uSpeedomether(playerid);
public uSpeedomether(playerid)
{
    updateSpeedomether(playerid);
}
updateSpeedomether(playerid) // nigga
{
    new
        trID = GetPlayerVehicleID ( playerid ) , vMod = GetVehicleModel ( trID ) ,
        Float:speed_ [ 4 ], engine, lights, alarm, doors, bonnet, boot, objective;

    if(masina[trID][Gas] < 0.1)
    {
        GetVehicleParamsEx(trID, engine, lights, alarm, doors, bonnet, boot, objective);
        SetVehicleParamsEx(trID, 0, lights, alarm, doors, bonnet, boot, objective); // ONLY the engine param was changed (to 1)
    } 

    //GetVehicleHealth ( vehID , carHP ) ;
    GetVehicleVelocity ( trID , speed_ [ 0 ] , speed_ [ 1 ] , speed_ [ 2 ] );
    speed_ [ 3 ]  = floatsqroot ( ( speed_ [ 0 ] * speed_ [ 0 ] ) + ( speed_ [ 1 ] * speed_ [ 1 ] ) + ( speed_  [ 2 ] * speed_ [ 2 ] ) ) * 200.666667 ;
    masina [ trID ] [ vehRida ] += speed_ [ 3 ] / 35000;
	
    if(taxiDB[playerid][imti] == true){
        taxiDB[playerid][atstumas] += speed_ [ 3 ] / 35000;
        new kaina = floatround(taxiDB[playerid][atstumas]*2, floatround_ceil)*2;
        format ( g_szBuffer , sizeof ( g_szBuffer ) , "~w~vairuotojas: ~y~%s~n~~w~nuvaziuotas atstumas: ~y~%0.2f KM.~n~~w~kaina: ~y~%i eur." , getName(taxiDB[playerid][taksistas]), taxiDB[playerid][atstumas], kaina);
        PlayerTextDrawSetString (playerid, taksometras[2][playerid], g_szBuffer);
        return 1;
    }
    format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~%d~w~ KM/H" , GetPlayerSpeed ( playerid ) ) ;
    PlayerTextDrawSetString ( playerid , speede[1][playerid] , g_szBuffer ) ;
    //format ( string , sizeof ( string ) , "%0.1f%" , carHP/10 ) ;
    //PlayerTextDrawSetString ( playerid , speedo [ 6 ] [playerid] , string ) ;
    format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~ %0.2f~w~ L." , masina[trID][Gas] ) ; // speedo [ 10 ] [playerid]
    PlayerTextDrawSetString ( playerid , speede[2][playerid] , g_szBuffer ) ;
    format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~%s" , aVehicleNames [ vMod - 400 ] ) ; // speedo [ 10 ] [playerid]
    PlayerTextDrawSetString ( playerid , speede[0][playerid] , g_szBuffer ) ;
    format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~ %0.2f  ~w~KM." , masina [ trID ] [ vehRida ] ) ;
    PlayerTextDrawSetString ( playerid , speede[3][playerid] , g_szBuffer ) ;
    return 1;
}

Timerio aktyvavimas, speedometro parodymas:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
	{
		SetPlayerArmedWeapon(playerid, 0);

		if(!IsABike(vehicleid))
		{
			if(InAction[playerid] == 1) return 0;
			sTimer [ playerid ] = SetTimerEx("uSpeedomether",500,true,"i",playerid);
			fTimer [ playerid ] = SetTimerEx("uFuel", 30000, true, "f",playerid);
			updateSpeedomether(playerid);
			ShowSpeedomether(playerid);
			dirzas[playerid] = 0;
		}

		if(masina[vehicleid][vehOwned] && masina[vehicleid][lock])
		{
			if(strcmp(masina[vehicleid][vehOwner], getPlayerName(playerid), false))
			{
				Kick(playerid);
			}
		}
	}
	if(newstate == PLAYER_STATE_PASSENGER){
		if(GetVehicleModel(vehicleid) == 420)
		{
			new vairuotojas = GetVehicleDriver(vehicleid);

			if(vairuotojas == INVALID_PLAYER_ID) return 1; 
			if(player[vairuotojas][pWork] != 7) return SendWarn(playerid, "vairuotojas nedirba taxi frakcijoje.");

			taxiDB[playerid][taksistas] = vairuotojas;
			keleivis[vairuotojas] = playerid;
			format(zinute, 128, "{FFCD38}•{ffffff} pas jus ilipo keleivis, norėdami įjūngti taksometrą /taksometras {FFCD38}%s{ffffff} .", getName(playerid));
			SendClientMessage(vairuotojas, -1, zinute);
			return 1;
		}
	}
	if(newstate == PLAYER_STATE_ONFOOT && (oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER))
	{
		KillTimer(sTimer[ playerid ]);
		KillTimer(fTimer[ playerid ]);
		HideSpeedomether(playerid);
		dirzas[playerid] = 0;
	}
	return 1;
}

ShowSpeedomether(playerid)
{
	for(new ss = 0; ss < 8; ss++)
	{
		TextDrawShowForPlayer(playerid, speedo[ss]);
	}
	for(new sss = 0; sss < 4; sss++)
	{
		PlayerTextDrawShow(playerid, speede[sss][playerid]);
	}
}
[19:16:25] [debug] Run time error 4: "Array index out of bounds"
[19:16:25] [debug] Accessing element at negative index -400

 

format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~%s" , aVehicleNames [ vMod - 400 ] ) ; // speedo [ 10 ] [playerid]
PlayerTextDrawSetString ( playerid , speede[0][playerid] , g_szBuffer ) ;

 

iš duoto kodo tai klaida čia. Debugink vMod, gali būti, kad priskiria blogą mašinos ID (0) ir nieko nebelieka serveriui.

tumblr_npgtem62qP1twpmjxo1_540.gif

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4024 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...