Szerző Téma: Kapu bug  (Megtekintve 1831 alkalommal)

Nem elérhető grove4l

  • 1545
    • Profil megtekintése
Kapu bug
« Dátum: 2013. április 16. - 00:59:25 »
0 Show voters
Akárhol írom be a parancsot azt írja ki hogy nincs kulcsom hozzá. Holott kikéne nyitnia a kaput ha ottvagyok elötte de mindenhol azt írja hogy nincs kulcs. hol rontottam el?
 
CMD:nyit(playerid)
{
        if(!IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
        {
                if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  SetObjectRot(pdajto,0.00, 0.00, 90.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else if(!IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                 MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
                 cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                 return 1;
                }
        }
        else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else
        SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
        return 1;
}
« Utoljára szerkesztve: 2013. április 16. - 11:58:20 írta grove4l »

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Kapu bug
« Válasz #1 Dátum: 2013. április 16. - 14:37:14 »
0 Show voters
Az 1es frakcióban nem lehetsz, hogy kinyisd. Ahogy le van írva:
 
if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1)

 
Gondolom úgy akartad írni, hogy benne kell lenned. A felkiáltó jel helyett rakj egy egyenlõség jelt. Tehát így fog kinézni:
 
if(PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][pMember] == 1)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #2 Dátum: 2013. április 16. - 15:05:09 »
0 Show voters
Csak másold ki :D
Ahogyan elõttem leírták, nem kell a ! jel. De én kicseréltem gyorsan a megfelelõ helyeket.
És amit nem írt le elõttem, azt le szeretném írni neked, csak hogy megtanuld: a ! jel mindig tagadást jelent a pawn nyelveben, és még más programozási nyelvekben is! Például ha egy frakciónak szeretnéd letiltani a funkciót, akkor kitûnõ megoldás a != <Frackió ID> alkalmazása.
És még egy dolog: mivel kezdõ vagy, neked még jó a ZCMD, de akár ha meg tudnál birkózni az strcmp-vel, szerintem inkább azt használd, ugyanis abban lehet ékezetes karaktereket is használni, a ZCMD parancsfeldolgozónál pedig nem. Ez azért hasznos, mert szerintem sokkal jobban illenek egy RPG szerverre (a tiéd nyilván az) az ékezetes parancsok, mi több, magyarok vagyunk, szerintem elvárható,  hogy pl. /eves helyett /evés legyen. A nyit paranccsal még szerencséd van, de mással nem. :P
Na szóval csak ezt le szerettem volna neked írni. Tudom, a hozzászólásom nagy része off, vagy már leírták elõttem, kivéve a ! jelentését. Körmöltem neked egy adagod, csak hogy tippeket adhassak. Remélem nem baj. :)
 
CMD:nyit(playerid)
{
        if(!IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
        {
                if(PlayerInfo[playerid][pLeader]  == 1 && PlayerInfo[playerid][pMember] == 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  SetObjectRot(pdajto,0.00, 0.00, 90.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else if(!IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
        {
                if(PlayerInfo[playerid][pLeader] == 9 && PlayerInfo[playerid][pMember] == 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                 MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
                 cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                 return 1;
                }
        }
        else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
        {
                if(PlayerInfo[playerid][pLeader] == 9 && PlayerInfo[playerid][pMember] == 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else
        SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
        return 1;
}

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Kapu bug
« Válasz #3 Dátum: 2013. április 16. - 15:12:20 »
0 Show voters
A ZCMD-hez is van ékezetes inc (fixchars), tehát ugyanúgy tudsz ékezeteket is írni, sõt még gyorsabb is mint a strcmp.

Nem elérhető grove4l

  • 1545
    • Profil megtekintése
Kapu bug
« Válasz #4 Dátum: 2013. április 16. - 16:41:44 »
0 Show voters
Ugyan úgy bugos. Csak most a probléma a következõ : akárhol beírom hogy nyit kiirja a /me-t.

Ha Area 51-nél írom be a /nyit parancsot a rendõrségen nyitja ki. Ha a Rnedõrséágen írom be az Area 51-nél nyitja ki. Holott a kordináták hibátlanok

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #5 Dátum: 2013. április 16. - 16:51:41 »
0 Show voters
Idézetet írta: grove4l date=1366123304\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36232\" data-ipsquote-contentclass=\"forums_Topic
Ugyan úgy bugos. Csak most a probléma a következõ : akárhol beírom hogy nyit kiirja a /me-t.

Ha Area 51-nél írom be a /nyit parancsot a rendõrségen nyitja ki. Ha a Rnedõrséágen írom be az Area 51-nél nyitja ki. Holott a kordináták hibátlanok

 
Ezek szerint mégsem hibátlanok :) Egyszerûen cseréld fel a rendõrségi, meg a körzeti kapuk koordinátáit a parancsban, nyilván fordítva írtad õket bele.

Nem elérhető grove4l

  • 1545
    • Profil megtekintése
Kapu bug
« Válasz #6 Dátum: 2013. április 16. - 16:52:48 »
0 Show voters
A Hiba okára rájöttem. ! jel volt a Isplayerrangeofpaint elött. Töröltem. Azonban még van baj. Az hogy pl ha csak Pleader 9 vagyok mégis tudom nyitni a Pleader 1-es kaput

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Kapu bug
« Válasz #7 Dátum: 2013. április 16. - 17:00:35 »
0 Show voters
CMD:nyit(playerid)
{
        if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
        {
                if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  SetObjectRot(pdajto,0.00, 0.00, 90.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                 MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
                 cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                 return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else
        SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
        return 1;
}

 
Jó volt úgy ahogy írtad, csak a felkiáltójelek nem kellettek volna az IsPlayerInRangeOfPoint elé.
A pLeader és a pMember ellenõrzés pedig azért volt helyes, mert akkor megállt a parancs ha az adott frakciónak nem a leadere és nem is a tagja.
Amit elõttem leírtak az akkor állítja meg, hogyha a pLeader és a pMember is egyenlõ a megadott számmal.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #8 Dátum: 2013. április 16. - 17:14:41 »
0 Show voters
Idézetet írta: Casamiro date=1366124435\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36232\" data-ipsquote-contentclass=\"forums_Topic

CMD:nyit(playerid)
{
        if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
        {
                if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  SetObjectRot(pdajto,0.00, 0.00, 90.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                 MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
                 cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                 return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
        {
                if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else
        SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
        return 1;
}

 
Jó volt úgy ahogy írtad, csak a felkiáltójelek nem kellettek volna az IsPlayerInRangeOfPoint elé.
A pLeader és a pMember ellenõrzés pedig azért volt helyes, mert akkor megállt a parancs ha az adott frakciónak nem a leadere és nem is a tagja.
Amit elõttem leírtak az akkor állítja meg, hogyha a pLeader és a pMember is egyenlõ a megadott számmal.
 
Hm nem vettem észre én sem sajnos a IsPlayerInRangeOfPoint-os ! jeleket :D
De mivel az alap kódot másoltad ki, ismét hibás.
Tehát a helyes kód:
 
CMD:nyit(playerid)
{
        if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
        {
                if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  SetObjectRot(pdajto,0.00, 0.00, 90.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
        {
                if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                 MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
                 cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                 return 1;
                }
        }
        else if(IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
        {
                if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pMember] == 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
                {
                  MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
                  cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
                  return 1;
                }
        }
        else
        SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
        return 1;
}

 
! jelek kivéve az IsPlayerInRangeOfPoint függvényekbõl.

(! jellel akkor teljesül a parancs, ha NINCS a pont közelében)

! jelek kivéve a PlayerInfo-kból.

(! jellel akkor teljesül a parancs, ha a játékos NEM a megadott frakcióhoz tartozik)

&& jelek javítva || -re.

(&& esetén csak akkor teljesül a parancs, ha a játékos Leader, és Member is egyben. Tehát most elég az egyiknek teljesülnie, elég ha tag. Ha persze a kaput csak Leader nyithatja, akkor jöhet az && jel, de akkor viszont bõven elég simán a (pl.) PlayerInfo[playerid][pLeader] == 9 is.
« Utoljára szerkesztve: 2013. április 16. - 17:20:18 írta Dfoglalo »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Kapu bug
« Válasz #9 Dátum: 2013. április 16. - 17:31:38 »
0 Show voters
a helyes kód valahogy így néz ki:
 
CMD:nyit(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
{
   if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         SetObjectRot(pdajto,0.00, 0.00, 90.00);
        cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
         return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
       cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
       return 1;
}
else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
        MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
         cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
          return 1;
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
return 1;
}
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #10 Dátum: 2013. április 16. - 17:35:21 »
0 Show voters
Idézetet írta: Kovacs_Richard date=1366126298\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36232\" data-ipsquote-contentclass=\"forums_Topic
a helyes kód valahogy így néz ki:
 
CMD:nyit(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
{
   if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         SetObjectRot(pdajto,0.00, 0.00, 90.00);
        cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
         return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
       cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
       return 1;
}
else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
        MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
         cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
          return 1;
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
return 1;
}

 

Hááááááááááááááááát, nem^^ Az a jó, amit én írtam. A tiedben mind a három hiba is szerepel: csak akkor teljesül a parancs, ha leader és tag is egyben, ráadásul nem a megadott frakcióhoz tartozik, illetve csak akkor, ha nincs a pont közelében... Gyakorlatilag lemásoltad az alap kódot, és levettél belõle ! jelet, ami kb. 1/10-ed megoldás, úgy, hogy elõtted már rég leírtam, magyarázattal a helyes kódot.
A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva.

Nem elérhető grove4l

  • 1545
    • Profil megtekintése
Kapu bug
« Válasz #11 Dátum: 2013. április 16. - 17:44:23 »
0 Show voters
Idézetet írta: Dfoglalo date=1366126521\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36232\" data-ipsquote-contentclass=\"forums_Topic


a helyes kód valahogy így néz ki:
 
CMD:nyit(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
{
   if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         SetObjectRot(pdajto,0.00, 0.00, 90.00);
        cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
         return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
       cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
       return 1;
}
else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
        MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
         cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
          return 1;
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
return 1;
}

 

Hááááááááááááááááát, nem^^ Az a jó, amit én írtam. A tiedben mind a három hiba is szerepel: csak akkor teljesül a parancs, ha leader és tag is egyben, ráadásul nem a megadott frakcióhoz tartozik, illetve csak akkor, ha nincs a pont közelében... Gyakorlatilag lemásoltad az alap kódot, és levettél belõle ! jelet, ami kb. 1/10-ed megoldás, úgy, hogy elõtted már rég leírtam, magyarázattal a helyes kódot.
A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva.
 
[/quote]
Nem akarok rosszat mondani de jót írt le. kell a felkiáltó jel a leader elé. Tehát:

PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9


Mûködik így rendesen.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #12 Dátum: 2013. április 16. - 17:46:51 »
0 Show voters
Idézetet írta: grove4l date=1366127063\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36232\" data-ipsquote-contentclass=\"forums_Topic


 

a helyes kód valahogy így néz ki:
 
CMD:nyit(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))
{
   if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         SetObjectRot(pdajto,0.00, 0.00, 90.00);
        cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
         return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,10,135.2556,1946.8518,19.3614))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
         MoveObject(area51bejarat, 121.00, 1941.54, 21.67, 2.00);
       cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
       return 1;
}
else if(!IsPlayerInRangeOfPoint(playerid,10,286.9180,1821.3264,18.0773))
     {
         if(PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");
        MoveObject(area51repterbejarat, 285.99, 1834.00, 19.95, 2.00);
         cmd_me(playerid,\"lehúzza a kártyáját, és kinyitja az ajtót.\");
          return 1;
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy kapu közelében!\");
return 1;
}

 

Hááááááááááááááááát, nem^^ Az a jó, amit én írtam. A tiedben mind a három hiba is szerepel: csak akkor teljesül a parancs, ha leader és tag is egyben, ráadásul nem a megadott frakcióhoz tartozik, illetve csak akkor, ha nincs a pont közelében... Gyakorlatilag lemásoltad az alap kódot, és levettél belõle ! jelet, ami kb. 1/10-ed megoldás, úgy, hogy elõtted már rég leírtam, magyarázattal a helyes kódot.
A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva.
 
[/quote]
Nem akarok rosszat mondani de jót írt le. kell a felkiáltó jel a leader elé. Tehát:

PlayerInfo[playerid][pLeader] != 9 && PlayerInfo[playerid][pMember] != 9


Mûködik így rendesen.

 
[/quote]
Ezek szerint te azt szeretnéd, hogy csak akkor nyíljon a kapu, ha nincs a kapu közelében, leader és member is egyben, illetve nem tartozik a 9-es frakcióhoz, vagy mi?

Ha persze mûködik, akkor örülök veled. :D
« Utoljára szerkesztve: 2013. április 16. - 17:50:30 írta Dfoglalo »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Kapu bug
« Válasz #13 Dátum: 2013. április 16. - 18:37:02 »
0 Show voters
A nevedet látva beugrott, hogy páran tisztelnek téged, akkor szerintem ezen tisztelethez képest segíts is, ne pedig rosszul, mikor már a helyes megoldás is ki lett posztolva.[/quote]
nézd meg mit is írtam ki.....az eredeti kódból indultam ki :)
 
if(IsPlayerInRangeOfPoint(playerid,5.0,1554.1825,-1253.1516,8606.0859))

 

if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1) return HU(playerid, HPIROS, \"Nincs kulcsod az ajtóhoz\");

 
Ha a játékos XYZ pozíciótól 5.0-s távolságon belül van
Ha a játékos nem rendõr és nem tag akkor írja ki az üzenetet és visszatérés miatt nem fut le az alatta levõ kód !
Szerintem van elég tapasztalatom hogy megtudjak oldani egy ilyen hibát de azért kösz hogy kioktatsz :P:D
most nem taglalnám mi volt elb*szva mert láttam egy olyan hibát amit senki nem vett észre és attól volt ekkora gond ! ( vagy ha észre is vette valaki akkor nem javította )
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kapu bug
« Válasz #14 Dátum: 2013. április 16. - 18:53:26 »
0 Show voters
Mondom, ha mükszik neki, akkor jó. :D Én az alap kérdésbõl kiindulva írtam meg a kódot.
 
Akárhol írom be a parancsot azt írja ki hogy nincs kulcsom hozzá. Holott kikéne nyitnia a kaput ha ottvagyok elötte de mindenhol azt írja hogy nincs kulcs. hol rontottam el?[/quote]
Nos erre sok féle kód megoldás lehet, csak egy példa: csak a 9-es frakciójú nyithassa, vagy csak az ne, vagy csak leader és tag együtt, stb. Az alap kérdésben errõl egy szó sem volt, tehát az én kódom is jó. Ha leírta volna, mi kell neki, a szerint írom meg.
És pont azért, mert nem írta le, mi is kéne neki, csak azt, hogy mindenhová azt írja, hogy nincs kártyája, logikusnak tartottam, hogy ||-t írok a && helyére, a 9-es frakciónak engedélyezem a parancsot a nem 9-es frakciójú emberek helyett, és a tagadást elveszem az IsPlayerRangeOfPoint függvénybõl.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal