Szerző Téma: else, lezárás probléma  (Megtekintve 498 alkalommal)

blazing19980307

  • Vendég
else, lezárás probléma
« Dátum: 2016. augusztus 06. - 13:02:35 »
0 Show voters
Sziasztok! Zárásokkal és az else használatával szenvedek. Általában hosszabb parancsoknál elvesztem a fonalat és nem értem, hogy kell lezárni. Kisebb parancsoknál nincs ilyen baj.
[pawn]   if(strcmp(cmd, \"/szerzodes\", true) == 0 || strcmp(cmd, \"/szerződés\", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, SILENT_BLUE, \"(( /szerzodes [JátékosID/NévRészlet] ))\");
            return 1;
      }
      new para 1;
      para 1 = ReturnUser(tmp);
      tmp = strtok(cmdtext, idx);
      if(PlayerToPoint(1.0, playerid, 693.3569,-497.0938,16.5250))
      {
         if(PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
         {
             if(IsPlayerConnected(para1))
             {
                 if(para 1 != INVALID_PLAYERI_ID)
                 {
                     if(PlayerInfo[para1][pJob] == 0)
                     {
                         SendClientMessage(playerid, SILENT_ORANGE, \"(( Ő munkanélküli! ))\");
                         return 1;
                  }
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pJob] = 0;
                        PlayerInfo[para1][vanmunka] = 0;
                        format(string, sizeof(string), \"(( %s lepecsételte a szerződésedet! ))\"), sendername);
                        SendClientMessage(para1, SILENT_BLUE, string);
                        SendClientMessage(playerid, SILENT_BLUE, \"(( Elintézted a szerződését! ))\");
                     }
                  }
               }
               else
               {
                SendClientMessage(playerid, SILENT_ORANGE, \"(( Nem vagy a Munkaügyi Központban! ))\");
               }
               return 1;
               }[/pawn]
Bárki aki szán rám egy kis időt az elmagyarázná miképp kell átlátni ilyenkor a dolgokat? Köszönöm szépen!  :-[

Nem elérhető ugrobolha

  • 29
  • Discord: barnabas#2158
    • Profil megtekintése
else, lezárás probléma
« Válasz #1 Dátum: 2016. augusztus 06. - 14:14:00 »
0 Show voters
Ha notepad++ot használsz az kijelöli neked pirossal a { párját (tehát a \"}\"-t) ha rákattintasz
Használj ZCMD-t mert sokkal könnyebb lesz ha azzal kezdesz
Else annyit tesz, hogy ha nem igaz a feltétel akkor valami történik pl.
 

CMD:alma(playerid, params[])
{
if (IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438)) //ha ott van a játékos
{
SendClientMessage(playerid, -1, \"Alma\"); //akkor elküldi neki az üzenetet ami azt tartalmazza, hogy Alma
}
else SendClientMessage(playerid, -1, \"Nincs alma :(\"); //de ha nincs ott, akkor azt küldi el neki, hogy Nincs alma :(
return 1;
}

 
Returnról itt olvashatsz:http://wiki.sa-mp.com/wiki/Control_Structures#return

blazing19980307

  • Vendég
else, lezárás probléma
« Válasz #2 Dátum: 2016. augusztus 06. - 14:31:49 »
0 Show voters
Tudom a funkciójukat
Én azt írtam, hogy  a parancsok végén az elhelyezését nem értem
Az imént leírt parancsnak is a zárással vannak gondjai

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal