Szerző Téma: frakció kapuk nyitása/zárása  (Megtekintve 932 alkalommal)

frakció kapuk nyitása/zárása
« Dátum: 2014. február 18. - 19:53:46 »
0 Show voters
Sziasztok!!
Segítségeteket kérném van kb 20 frakció kapu külömbözõ  helyeken.
Hogy tudnám azt megcsinálni oda megyek a frakció kapuhoz és beírom /nyit akkor kinyitja /zar akkor bezárja?
Ja és ha nincs abba a frakcióba akkor ki ír valamit.
Hogy lehet a legegyszerûbben elkészíteni ??
szerk.: nem kell meg nevezni pl kapu 1 kapu 2 ha nem csak pozicó adok meg úgy is megy???
\" MoveObject(obj, 0, 0, 10, 2.00);\"  // itt obj a név de odda poziciót írok menni fog??
« Utoljára szerkesztve: 2014. február 20. - 12:34:11 írta kriszrap »

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
frakció kapuk nyitása/zárása
« Válasz #1 Dátum: 2014. február 20. - 11:05:56 »
0 Show voters

#include <a_samp>
#include <zcmd>
#pragma tabsize 0
new
    bool:nyit;
CMD:objectletrehozas(playerid)
{
CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // Létrehoztuk az objectet amit mozgatni fogunk
return 1;
}
CMD:frakcio(playerid)
{
SetPlayerTeam(playerid, 1); // Ez most csak frakció szimulálása ként írtam, ha te neked a frakció más tömbökbe mentõdik te azokat használd.
return 1;
}
 
CMD:nyit(playerid, params[])
{
new Float: kapu1 = GetPlayerDistanceFromPoint(playerid, 237.9, 115.6, 1010.2); // A te kapud X,Y,Z koordinátáit cseréld fel az itt lévõkre
if(kapu1 > 10.0) SendClientMessage(playerid, -1, \"Nem vagy az elsõ kapuhoz közél, menj közelebb!\");
   {
if(GetPlayerTeam(playerid) == 1) SendClientMessage(playerid, -1, \"Te nem vagy ebben a frakcióban, így nem tudod kinyitni a kaput!\");
      if(nyit == false)
     {
     MoveObject(980, 0, 0, 10, 2.00); // Kinyitasi pozicio Float:X, Float:Y, Float:Z-t
     nyit = true;
     }
}
   return 1;
}
CMD:zar(playerid, params[])
{
new Float: kapu1 = GetPlayerDistanceFromPoint(playerid, 237.9, 115.6, 1010.2);
if(kapu1 > 10.0) SendClientMessage(playerid, -1, \"Nem vagy az elsõ kapuhoz közél, menj közelebb!\");
   {
if(GetPlayerTeam(playerid) == 1) SendClientMessage(playerid, -1, \"Te nem vagy ebben a frakcióban, így nem tudod kinyitni a kaput!\");
      if(nyit == true)
     {
     MoveObject(980, 0, 0, 10, 2.00); // Bezarasi pozicio Float:X, Float:Y, Float:Z-t
     nyit = false;
     }
   }
   return 1;

 

Idézetet írta: kriszrap date=1392749626\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46595\" data-ipsquote-contentclass=\"forums_Topic
szerk.: nem kell meg nevezni pl kapu 1 kapu 2 ha nem csak pozicó adok meg úgy is megy???
\" MoveObject(obj, 0, 0, 10, 2.00);\"  // itt obj a név de odda poziciót írok menni fog??
 
Nos, hogy egyszerûen elmondjam: Az \"obj\" paraméter helye annak az objectnek az ID-ját jelöli amelyiket te mozgatni akarod (lásd : CreateObject). Ha a szervereden több ilyen kapu van amiknek ugyan az az object ID-je akkor kell használj változókat ezeknek az objecteknek a megkülönböztetésére, mivel MoveObjectnél nem tudja majd a függvény melyik objectre gondoltál és emiatt buggolni fog a filterscript/gamemode jobb esetben és rosszabban pedig fagyásokat is okozhat :)
Remélem segíteni tudtam.


Amúgy ajánlom figyelmedbe a magyar wikipédiát, ami az oldalé és az összes függvény / eljárás megvan rajta, na azokat tanulgasd ;)
Link: http://sampforum.hu/wiki/

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
frakció kapuk nyitása/zárása
« Válasz #2 Dátum: 2014. február 20. - 11:39:28 »
0 Show voters
Idézetet írta: RusH. date=1392890756\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46595\" data-ipsquote-contentclass=\"forums_Topic
Ha a szervereden több ilyen kapu van amiknek ugyan az az object ID-je akkor kell használj változókat ezeknek az objecteknek a megkülönböztetésére, mivel MoveObjectnél nem tudja majd a függvény melyik objectre gondoltál és emiatt buggolni fog a filterscript/gamemode jobb esetben és rosszabban pedig fagyásokat is okozhat :)
 
nem lehet 2 object-nek ugyanaz az ID-ja! és ha véletlen bug miatt ugyanaz lenne akkor a 2 változó értéke is ugyanaz lenne :) a változó azért kell, hogy egyszerûbb legyen azonosítani a tárgyat, de nem kötelezõ! hivatkozhatsz a változó értékére is de beírhatod kézzel is, hogy te a 82-es ID-jú tárgyat akarod mozgatni.
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

frakció kapuk nyitása/zárása
« Válasz #3 Dátum: 2014. február 20. - 12:17:09 »
0 Show voters
köszi a hasznos infót:)) meg minden igy már menni fog:)
getdistancefrompoint vagy mi helyet asználhatom isplayerinrangeofpoint is simán nem?:)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
frakció kapuk nyitása/zárása
« Válasz #4 Dátum: 2014. február 20. - 12:27:21 »
+1 Show voters
igen
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

frakció kapuk nyitása/zárása
« Válasz #5 Dátum: 2014. február 20. - 12:33:51 »
0 Show voters
köszi zárok:)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal