[Pomoc] Freeze igraca


Započeo Maxwellâ„¢, Oktobar 22, 2012, 18:37:11 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:
- TechLand Xperia

Detaljan opis problema:
- Posto kada udjem u tuning garazu i pritisnem enter kako bih se vratio iz menija PaintJobs(ili bilo kog drugog) u glavni meni, izbacuje igraca iz auta, hteo sam da napravim freeze u garazi, ali nastao je problem.

Kod ostalih forwarda sam dodao:
forward TuniraAuto(playerid);


Onda sam dole sam stavio:
public TuniraAuto(playerid)
{
	if(PlayerToPoint(30.0,playerid,616.7864,-74.8150,997.8036)
 	TogglePlayerControllable(playerid,0);
	return 1;
}


Dobijam error 001, expected token ")" but found "-identifier-", na liniji TogglePlayerControllable(playerid,0);
Nije mi jasno sta nije u redu tu.
Eh sad, ne znam koliko je dobro raditi na ovaj nacin i uopste da li je ovo ispravno, pa ako postoji bolji molim vas pomozite. :)
Hvala!

Dio skripte:
- Ima gore, ako treba jos nesto recite...

Neke slike/video za lakse dobivanje pomoci(neobavezno): /

Hvala puno jos jednom! :)
Poslednja Izmena: Oktobar 22, 2012, 19:51:59 POSLE PODNE od Nitro

Pretpostavljam da ovaj public pozivas sa nekim tajmerom, sve ovisi cime pozivas funkciju.

Evo ja bi ovako to napisao.
forward TuniraAuto(playerid);
public TuniraAuto(playerid)
{
	if(IsPlayerInRangeOfPoint(playerid, 30.0, 7864,-74.8150,997.8036))
	{
 		TogglePlayerControllable(playerid,0);
	}
	return 1;
}

Ne pozivam nikakvim tajmerom :D Bas sam pocetnik jbg, slabo znam o tome...
Da stavim onda SetTimer("TuniraAuto",1000,false); pod ongamemodeinit ili na neko drugo mesto?
Ili postoji neki drugi nacin za freeze igraca dok je u garazi?
Poslednja Izmena: Oktobar 22, 2012, 19:15:38 POSLE PODNE od Nitro

Nevalja "trositi" ponavljajuce tajmere na gluposti.
U tvom slucaju mozes napraviti kada igrac stisne tipku enter da ga freeza, ili da ga vrati u auto..

Mada, ne razumijem zasto bi to radio, zna se nekad desit da u tuning garazi igrac izadje iz auta, al to je nekad.
Moj ti je savjet, ako si pocetnik da te modove obrises, jer su puni bugova..
Lagano otvoris NEW na pawnu i udri, uci malo pomalo.
Nauci za sta koji callback sluzi, varijable, tajmere, spremanje podataka, itd...

@alaudin pricas gluposti

public TuniraAuto(playerid)
{
   if(PlayerToPoint(30.0,playerid,616.7864,-74.8150,997.8036)
   TogglePlayerControllable(playerid,0));//ovdje si imao gresku
   return 1;
}
samo si jos jednu zagradu trebao dodati
Poslednja Izmena: Oktobar 22, 2012, 19:31:46 POSLE PODNE od N1XTON.AMX
Pravim RP,DM,TDM,STUNT, Freeroam modove od 0 za pare, nacini placanja : Paypal ili banka

@alaudin
Treba mi bas ovakav mod, ucim po tome, jebi ga...
A ako bih probao ovako, da li bi radilo?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, 616.7864,-74.8150,997.8036))
		{
 			TogglePlayerControllable(playerid,0);
		}
	}
	return 1;
}



@N1XTON.AMX
- Pogresio sam ja, nije greska na tom mestu, greska je na liniji
  if(PlayerToPoint(30.0,playerid,616.7864,-74.8150,997.8036)
  treba biti ovako:
  if(PlayerToPoint(30.0,playerid,616.7864,-74.8150,997.8036))
  To sam shvatio, ali svejedno nece raditi ako tako napravim.
Poslednja Izmena: Oktobar 22, 2012, 19:44:42 POSLE PODNE od Nitro

vidi brt ovo           TogglePlayerControllable(playerid,0); tu imas gresku treba dvije zagrade tj vako           TogglePlayerControllable(playerid,0));
Pravim RP,DM,TDM,STUNT, Freeroam modove od 0 za pare, nacini placanja : Paypal ili banka

Citat: N1XTON.AMX poslato Oktobar 22, 2012, 19:37:38 POSLE PODNE
vidi brt ovo           TogglePlayerControllable(playerid,0); tu imas gresku treba dvije zagrade tj vako           TogglePlayerControllable(playerid,0));

Pogledaj brate, vidis da ne treba 2 zagrade:
http://wiki.sa-mp.com/wiki/Function:TogglePlayerControllable
Nije to problem, ja sam pogresio liniju, nije mi uopste izbacivalo error na liniji TogglePlayerControllable nego na ovoj prvoj, izvinjavam se, pogresio sam, necu da se raspravljam kada taj nacin svejedno ne radi. ;)

Ovo mi treba sada:
Citat: Nitro poslato Oktobar 22, 2012, 19:35:31 POSLE PODNE
@alaudin
Treba mi bas ovakav mod, ucim po tome, jebi ga...
A ako bih probao ovako, da li bi radilo?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, 616.7864,-74.8150,997.8036))
		{
 			TogglePlayerControllable(playerid,0);
		}
	}
	return 1;
}

Poslednja Izmena: Oktobar 22, 2012, 19:44:50 POSLE PODNE od Nitro

Nixton brate da ti dam savjet..
Prije nego nekoga ispravis dobro se uvijeri da su tvoje tvrdnje 100 % tacne..
Ja sam gore covjeku dao bolji nacin koda, i pokusavam da covjeku pomognem.

@Nitro
Brate probaj na taj nacin kako si i krenuo, tako sam i ja zamislio.
Kada stisne enter ide provjera ako je na toj poziciji neka ga freeza.
Bolje je to nego timer ponavljajuci koji bi ti uzimao puno resursa i stvarao lag.

Ne radi to, probao sam, izbaci ga iz vozila i tek onda ga freeza :S

Sastavljao sam nesto ovako, mada ne znam da li bi radilo, sta mislis?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z))
		new vehicleidgarage;
     	        vehicleidgarage = GetPlayerVehicleID(playerid);
     	        ToggleplayerControllable(playerid, 0);
     	        PutPlayerInVehicle(playerid, vehicleidgarage, 0);
  	}
	return 1;
}


Pitam te ovde za misljenje, a ne testiram jer skripta ima 77k linija koda a meni treba 20ak minuta da to compile, slab komp jbg, pa prvo da vidim mozda znas da li je ispravno, ako ne znas onda cu ga test :D

Citat: Nitro poslato Oktobar 22, 2012, 21:03:37 POSLE PODNE
Ne radi to, probao sam, izbaci ga iz vozila i tek onda ga freeza :S

Sastavljao sam nesto ovako, mada ne znam da li bi radilo, sta mislis?
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z))
		new vehicleidgarage;
     	        vehicleidgarage = GetPlayerVehicleID(playerid);
     	        ToggleplayerControllable(playerid, 0);
     	        PutPlayerInVehicle(playerid, vehicleidgarage, 0);
  	}
	return 1;
}


Pitam te ovde za misljenje, a ne testiram jer skripta ima 77k linija koda a meni treba 20ak minuta da to compile, slab komp jbg, pa prvo da vidim mozda znas da li je ispravno, ako ne znas onda cu ga test :D

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z))
                {
		    new vehicleidgarage;
     	            vehicleidgarage = GetPlayerVehicleID(playerid);
     	            PutPlayerInVehicle(playerid, vehicleidgarage, 0);
                    ToggleplayerControllable(playerid, 0);
                }
  	}
	return 1;
}


Jbg probaj, testiraj, gledajuci ovo izgleda ok, sad sta se moze desit testirajuci boga pitaj.

pokusaj sa
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
    if(enterexit == 1)
    {
      ToggleplayerControllable(playerid, 0);
    }
    if(enterexit == 0)
    {
      ToggleplayerControllable(playerid, 1);
    }
    return 1;
}

pogledaj imas li negdje ovaj callback OnEnterExitModShop , ako nemas samo stavi ovo na dno skripte ako imas ubaci ove provjere i to je to :)

Ne radi, ima li neko neku drugu ideju? :)

Ni ovo:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == 16)
	{
		if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z))
                {
		    new vehicleidgarage;
     	            vehicleidgarage = GetPlayerVehicleID(playerid);
     	            PutPlayerInVehicle(playerid, vehicleidgarage, 0);
                    TogglePlayerControllable(playerid, 0);
                }
  	}
	return 1;
}


Ni ovo:
forward OnEnterExitModShop(playerid, enterexit, interiorid)
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
    if(enterexit == 1)
    {
      TogglePlayerControllable(playerid, 0);
    }
    if(enterexit == 0)
    {
      TogglePlayerControllable(playerid, 1);
    }
    return 1;
}


Nema errora, ali idalje izbacuje iz auta :/
Poslednja Izmena: Oktobar 23, 2012, 14:38:59 POSLE PODNE od Nitro