Szerző Téma: Kapu(Moving Object)  (Megtekintve 1142 alkalommal)

Nem elérhető Flips

Kapu(Moving Object)
« Dátum: 2016. szeptember 30. - 19:58:45 »
0 Show voters
Igen tudom hogy több segítséget kérek és kapok tőletek mint bárki más a forumon de hát ez van, én is hibázok, nem vagyok az a profi scripter, csak próbálkozok, szóval értitek.
Az a lényeg hogy van egy kapu /gate paranccsal kéne nyílnia és zárulnia 1 parancs ha nyitva van a /gate zárja ha zárva /gate nyitja. Az a probléma hogy maga a kapu ott van vagy 8x mint object. Áttettem külön scriptbe az egészet hogy ne a modba legyen és ellenőriztem hogy biztos csak egyszer legyen CreateObject/CreateDynamicObject-ben és biztos hogy csak 1x van.
A mod eleje:
 

new gate1;
new bool:gate1open;

 
OnPlayerConnect alatt:
 
gate1 = CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 0);

 
És a parancs:
 
COMMAND:gate(playerid, params[])
{
new name[24];
GetPlayerName(playerid,name,sizeof(name));
if(strcmp(name, \"asdasd\", false)) return SendClientMessage(playerid, 0xFF0000FF, \"Nincs jogod kinyitni ezt a kaput\");
if(IsPlayerInRangeOfPoint(playerid, 10, -2652, 1383, 8))
{
switch(gate1open)
{
   case true:
   {
      MoveObject(gate1, -2652.5, 1383.6, 8.4, 2.00);
      gate1open = false;
   }
   case false:
   {
      MoveObject(gate1, -2652.5, 1383.6, -3, 2.00);
      gate1open = true;
   }
}
}
else SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy kapu közelében\");
return 1;
}
}
« Utoljára szerkesztve: 2016. szeptember 30. - 20:27:06 írta Flips »

Kapu(Moving Object)
« Válasz #1 Dátum: 2016. szeptember 30. - 20:14:48 »
0 Show voters
Nincs odamappolva véletlen?

Nem elérhető Flips

Kapu(Moving Object)
« Válasz #2 Dátum: 2016. szeptember 30. - 20:23:49 »
0 Show voters
Nincs azon a koordinátán semilyen másik object csak a gate1

Kapu(Moving Object)
« Válasz #3 Dátum: 2016. október 01. - 09:14:40 »
0 Show voters
Ezt
 
gate1 = CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 0);

 
rakd át az OnGameModeInit callback alá. Vagyis így nézzen ki:
 
public OnGameModeInit()
{
gate1 = CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 0);
return true;
}

Nem elérhető Flips

Kapu(Moving Object)
« Válasz #4 Dátum: 2016. október 03. - 20:36:01 »
0 Show voters
A probléma azóta is fent áll, azonban ha az objekt így néz ki akkor csak 1 van belőle:
 
CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 0);

 
Ha viszont be van forgatva akkor lesz több, szóval ha így néz ki:
 
CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 270.0);

Kapu(Moving Object)
« Válasz #5 Dátum: 2016. október 03. - 22:42:30 »
0 Show voters
Idézetet írta: Flips date=1475519761\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63252\" data-ipsquote-contentclass=\"forums_Topic
A probléma azóta is fent áll, azonban ha az objekt így néz ki akkor csak 1 van belőle:
 
CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 0);

 
Ha viszont be van forgatva akkor lesz több, szóval ha így néz ki:
 
CreateObject(3050, -2652.5, 1383.6, 8.4, 0, 0, 270.0);

 

jah mert mindket esetben tobb object van csak ha az egyik nincs elforgatva nem tunik fel annyira
ahogy feletted irtak szar helyen hozod letre az objectet... OnPlayerConnect, tehat mindig, ha csatlakozik vki akk letrejon egy ujabb object, vagod? :D de akkor is ha te lecsatlakozol majd vissza
a lehetseges megoldasok:
- ne ott hozd letre, hanem pl az OnGameMode/FilterScript Init alatt
- perplayer objectet hasznalj, de az szerintem nem olyan jo megoldas, mert mig valakinek lenyilik masnak nem

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal