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

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3309 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, darausi čia tokia darbinių mašinų sistemą su pickupais, ir yra problema, kad kai užlipi ant to cp duoda mašiną ir iškarto ji dingsta, o turėtu duoti ir nedingti.

 

KODAS:

if(pickupid == pickups[0][mechmasina])
	{
	        if(playerDB[playerid][specialybe] != 4) return SendClientMessage(playerid, -1, "Tu nedirbi siame darbe");
			if(admincar[playerid] != -1) { // tikrins jei zaidejas turi masina tai istrins senaja
			KillPlayerVehicle(playerid);
			}
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid, x, y, z);
			admincar[playerid] = CreateVehicle(525, x, y, z, 0, 79,79, -1);
  			vehicleDB[GetPlayerVehicleID(playerid)][gas] = aBakai[GetVehicleModel(GetPlayerVehicleID(playerid))-400];
			SetProgressBarValue(DegaluBar[playerid], vehicleDB[GetPlayerVehicleID(playerid)][gas]);
			UpdateProgressBar(DegaluBar[playerid], playerid);
  			PutPlayerInVehicleEx(playerid, admincar[playerid], 0);
		return 1;
	}
  • ,

Kaip suprasti dingsta? Ją nukelia kažkur ar ištrina? Gal koks anticheat'as arba skiriasi interjerai?

Tos mašinos niekur nenukelia, bet tik kai pasiimi iškarto per 0.1sec, dingsta, anticheato jokio nėra.

Dar server.log išmeta:

[debug] Run time error 4: "Array index out of bounds"
[13:54:27] [debug]  Accessing element at negative index -400
[13:54:27] [debug] AMX backtrace:
[13:54:27] [debug] #0 002321b4 in public OnPlayerPickUpPickup (playerid=0, pickupid=543) at C:\Documents and Settings\TAUTVYDAS2\Desktop\Servo failai\RSG\realsantos gm\gamemodes\RSG.pwn:24561

Susitaisiau, bet dabar atsirado problema kita, kai gauni tą darbinę mašiną neišmeta jokios info apie darbą ir t.t. Nors yra padaryta, kad mestu.

(redaguota)

ES jau parodė, kaip taisyklingai tai padaryti:

vehicleDB[GetPlayerVehicleID(playerid)][gas] = aBakai[GetVehicleModel(GetPlayerVehicleID(playerid))-400]

 

Paaiškinsiu, jei nesupranti, kodėl neveikia:

tu bandai išgauti žaidėjo mašinos id, kai žaidėjas dar nėra toje mašinoje, nes pirma panaudoji

GetPlayerVehicleID(playerid);

o tik po to įsodini

PutPlayerInVehicleEx(playerid, admincar[playerid], 0);

ir šiaip, galėtų būt tikrinimų, ar tr. priemonė susikūrė:

if(pickupid == pickups[0][mechmasina])
	{
	        if(playerDB[playerid][specialybe] != 4) return SendClientMessage(playerid, -1, "Tu nedirbi siame darbe");
			if(admincar[playerid] != -1) { // tikrins jei zaidejas turi masina tai istrins senaja
			KillPlayerVehicle(playerid);
			}
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid, x, y, z);
			if((admincar[playerid] = CreateVehicle(525, x, y, z, 0, 79,79, -1)) != INVALID_VEHICLE_ID) // sioje vietoje mes patikrinome, ar pavyko priskirti masinos ID, jei ne - kodas nevyks
                        {
     			    vehicleDB[admincar[playerid]][gas] = aBakai[GetVehicleModel(admincar[playerid])-400];
			    SetProgressBarValue(DegaluBar[playerid], vehicleDB[admincar[playerid]][gas]);
			    UpdateProgressBar(DegaluBar[playerid], playerid);
  			    PutPlayerInVehicleEx(playerid, admincar[playerid], 0);
			}
		return 1;
	}
Redaguota , nario summitdev

 

Better known as f0cus

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3309 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!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai



×
×
  • Sukurti naują...