[POMOC] moveobject


Započeo {ZOKA}{BOND}, Novembar 28, 2015, 21:06:50 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:moja
Detaljan opis problema:ovako kako da napravim da se otvaraju vrata na move kad pridjes kod vrata ona se otvore sama
//OTVORENA 
CreateObject(19466, 1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);

//ZATVORENA
CreateObject(19466, 1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);

Dio skripte:dacu sve sto treba
Neke slike/video za lakse dobivanje pomoci(neobavezno):
ovako sam ja uradio
new opstinavrata2;
new bool:otvorenaopstinavrata;


forward Proveriopstinavrata();
public Proveriopstinavrata()
{
        for(new i; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerInRangeOfPoint(i, 4.0, 1444.3894,-1328.9033,13)) //Udaljenost za aktiviranje
                {
                        if(otvorenaopstinavrata == false)
                        {
                                        MoveObject(opstinavrata2,1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);

                                        otvorenaopstinavrata = true;
                        }
                        return;
                }
        }
        if(otvorenaopstinavrata == true)
        {

        MoveObject(opstinavrata2,1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);
        otvorenaopstinavrata = false;
        }
}


    SetTimer("Proveriopstinavrata", 800, true);//Tajmer za zatvaranje
	opstinavrata2 = CreateObject(19466, 1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);


Tako sam ja uradio ali kad pridjem tim vratima padne server
Poslednja Izmena: Novembar 28, 2015, 21:11:00 POSLE PODNE od Bobo.amx

padne mi server zbog ovih kordinata
if(IsPlayerInRangeOfPoint(i, 4.0, 1444.3894,-1328.9033,13)) //Udalj
moze pomoc HITNO

probaj ovako:
forward Proveriopstinavrata();
public Proveriopstinavrata()
{
        for(new i; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerInRangeOfPoint(i, 4.0, 1444.3894,-1328.9033,13)) //Udaljenost za aktiviranje
                {
                        if(otvorenaopstinavrata == false)
                        {
                                        MoveObject(opstinavrata2,1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);

                                        otvorenaopstinavrata = true;
                        }
                        return 1;
                }
        }
        if(otvorenaopstinavrata == true)
        {

        MoveObject(opstinavrata2,1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);
        otvorenaopstinavrata = false;
        }
}

My Bike KTM 450 SXF 2008

Pridjem tim vratima samo padne server
evo kordinate te pozicije gde trebas se priblizit da se otvore vrata
AddPlayerClass(293,1444.9928,-1328.8994,13.5380,85.3710,0,0,0,0,0,0);



[14:05:59] [debug] Server crashed while executing ICRP.amx
[14:05:59] [debug] AMX backtrace:
[14:05:59] [debug] #0 native MoveObject () [0047cd10] from samp-server.exe
[14:05:59] [debug] #1 00087898 in public Proveriopstinavrata () at C:\Users\Balkan\Downloads\Roleplay\BS RP\BS\Server\gamemodes\DERP.pwn:7732
[14:05:59] [debug] Native backtrace:
[14:05:59] [debug] #0 0047cf99 in ?? () from samp-server.exe
[14:05:59] [debug] #1 6a8d3a46 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #2 6a8d50fa in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #3 6a8cc7f3 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #4 6a8d3a96 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #5 00481638 in ?? () from samp-server.exe
[14:05:59] [debug] #6 0048ea0a in ?? () from samp-server.exe
Poslednja Izmena: Novembar 29, 2015, 14:10:55 POSLE PODNE od Bobo.amx

(7531) : warning 209: function "Proveriopstinavrata" should return a value

i ovo mi baca

na ovu liniju
}

new gate;
new bool:gateopen;

public OnFilterScriptInit()
{
  SetTimer("GateCheck", 800, true); 
  gate = CreateObject(16442, 8.0, 3.0, 10.0, 0.0, 0.0, 0.0);
  return 1;
}

forward GateCheck();
public GateCheck()
{
  return 1;
}

forward GateCheck();
public GateCheck()
{
  for(new i; i < MAX_PLAYERS; i++) 
  {
    if(IsPlayerInRangeOfPoint(i, 15.0, 8.0, 3.0, 10.0)) provjerava dali je igrac u blizini vrata 
    {
      if(gateopen == false) ako vrata nisu otvorena
      {
        MoveObject(gate, 32.0, 12.0, 10.0, 3.5); otvara ih
        gateopen = true; i stavlja varijablu na true
      }
      return; 
    }
  }
  if(gateopen == true)  ako su vrata otvorena
  {
    MoveObject(gate, 8.0, 3.0, 10.0, 3.5);  zatvara ih
    gateopen = false; stavlja varijablu u negativ
  }
}

Ovo je samo primjer, ti to moraš na svoj nacin napraviti.
Poslednja Izmena: Novembar 29, 2015, 15:23:04 POSLE PODNE od K ROSE

pa tako sam i ja uradio
ali kad stavim if(IsPlayerInRangeOfPoint(i, 4.0, 1444.3894,-1328.9033,13)) //udaljenost za aktiviranje
na te kordinate  1444.3894,-1328.9033,13
pridjem tim vratima samo mi crashuje server

[14:05:59] [debug] Server crashed while executing DERP.amx
[14:05:59] [debug] AMX backtrace:
[14:05:59] [debug] #0 native MoveObject () [0047cd10] from samp-server.exe
[14:05:59] [debug] #1 00087898 in public Proveriopstinavrata () at C:\Users\Balkan\Downloads\Roleplay\BS RP\BS\Server\gamemodes\DERP.pwn:7732
[14:05:59] [debug] Native backtrace:
[14:05:59] [debug] #0 0047cf99 in ?? () from samp-server.exe
[14:05:59] [debug] #1 6a8d3a46 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #2 6a8d50fa in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #3 6a8cc7f3 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #4 6a8d3a96 in ?? () from plugins\crashdetect.DLL
[14:05:59] [debug] #5 00481638 in ?? () from samp-server.exe
[14:05:59] [debug] #6 0048ea0a in ?? () from samp-server.exe

if(IsPlayerInRangeOfPoint(i, 15.0, 1444.3894,-1328.9033,13.0))
probaj tako

isto padne server
i isto izbacuje u server log sto i pre


evo ovako sam ja sve uradio
na pocetak
new opstinavrata1;
new bool:otvorenaopstinavrata;

public
forward Proveriopstinavrata();
public Proveriopstinavrata()
{
        for(new i; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerInRangeOfPoint(i, 15.0, 1444.3894,-1328.9033,13.0)) //Udaljenost za aktiviranje
                {
                        if(otvorenaopstinavrata == false)
                        {
                                        MoveObject(opstinavrata1,1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);

                                        otvorenaopstinavrata = true;
                        }
                        return 1;
                }
        }
        if(otvorenaopstinavrata == true)
        {

        MoveObject(opstinavrata1,1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);
        otvorenaopstinavrata = false;
        }
}

ovo dodao kd mape
    SetTimer("Proveriopstinavrata", 800, true);//Tajmer za zatvaranje
	opstinavrata1 = CreateObject(19466, 1444.64270, -1329.32227, 13.53540, 0, 0, 0);//zatvorena


Maper mi je poslao ove kordinate da ubacim gore u public
//OTVORENA 
CreateObject(19466, 1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);

//ZATVORENA
CreateObject(19466, 1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);

ovo su kordinate gde treba doc da se pokrenu vrata
AddPlayerClass(293,1444.9928,-1328.8994,13.5380,85.3710,0,0,0,0,0,0);


//ZATVORENA
opstinavrata1 = CreateObject(19466, 1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);
?

stavio tako isto opstinavrata1
i opet isto padaserver kad se priblizim


baca mi warrning ovaj na
7527) : warning 209: function "Proveriopstinavrata" should return a value


} ova linija zadnja u publicu

forward Proveriopstinavrata();
public Proveriopstinavrata()
{
	foreach(Player, i)
    {
  		if(IsPlayerInRangeOfPoint(i, 15.0, 1444.3894,-1328.9033,13.0)) //Udaljenost za aktiviranje
    	{
     		if(otvorenaopstinavrata == false)
       		{
         		MoveObject(opstinavrata1,1444.64270, -1329.32227, 13.53540,   0.00000, 0.00000, 0.00000);
           		otvorenaopstinavrata = true;
               }
        	if(otvorenaopstinavrata == true)
        	{
        		MoveObject(opstinavrata1,1444.64270, -1327.07825, 13.53540,   0.00000, 0.00000, 0.00000);
        		otvorenaopstinavrata = false;
        	}
		}
		return 1;
}
Poslednja Izmena: Novembar 29, 2015, 18:23:14 POSLE PODNE od K ROSE