GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: coldridge - 2012. május 19. - 15:28:52

Cím: /exit parancs
Írta: coldridge - 2012. május 19. - 15:28:52
[pawn]   if(strcmp(cmd, \"/exit\", true) == 0)
{
    if(IsPlayerConnected(playerid))
   {
      for(new i = 0; i <  sizeof(HouseInfo); i++)
      {
         //printf(\"House :%d\",i);
         if (PlayerToPoint(3, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]))

         {


             if(HouseEntered[playerid] == i)


             {


               SetPlayerInterior(playerid,0);


               SetPlayerPos(playerid,HouseInfo
[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);

               PlayerInfo[playerid][pInt] = 0;


               PlayerInfo[playerid][pLocal] = 255;


               SetCameraBehindPlayer(playerid);


               SetPlayerVirtualWorld(playerid,0);


               HouseEntered[playerid] = 255;


               if(HouseInfo
[hHel] == 1)

               {


                  new Float:tempheal;


                  GetPlayerHealth(playerid,tempheal);


                  if(tempheal < 100.0)


                  {


                     SetPlayerHealth(playerid,100.0);


                  }


               }


               return 1;[/pawn]


Az a gondom vele, hogyha bármilyen interriorba bemegyek /enter-el kimenni nemtudok a /exit-el. Mi a gond?
Cím: /exit parancs
Írta: SyncMaster - 2012. május 19. - 15:57:56
Ezt a részt írd át
if(HouseEntered[playerid]==i) // itt bent vagy a házban az interiort azért kell átálitanod 0-ról 1-re
{
SetPlayerInterior(playerid, 1);
Cím: /exit parancs
Írta: ZyZu. - 2012. május 19. - 16:23:53
Idézetet írta: coldridge date=1337434132\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21695\" data-ipsquote-contentclass=\"forums_Topic

   if(strcmp(cmd, \"/exit\", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
   for(new i = 0; i <  sizeof(HouseInfo); i++)
   {
      //printf(\"House :%d\",i);
      if (PlayerToPoint(3, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]))
      {
          if(HouseEntered[playerid] == i)
          {
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);
            PlayerInfo[playerid][pInt] = 0;
            PlayerInfo[playerid][pLocal] = 255;
            SetCameraBehindPlayer(playerid);
            SetPlayerVirtualWorld(playerid,0);
            HouseEntered[playerid] = 255;
            if(HouseInfo[hHel] == 1)
            {
               new Float:tempheal;
               GetPlayerHealth(playerid,tempheal);
               if(tempheal < 100.0)
               {
                  SetPlayerHealth(playerid,100.0);
               }
            }
            return 1;

 
Az a gondom vele, hogyha bármilyen interriorba bemegyek /enter-el kimenni nemtudok a /exit-el. Mi a gond?
 
Szerintem a zárás lesz a hiba.. return 1; alatt vannak zárások?
Cím: /exit parancs
Írta: Zsolesszka - 2012. május 20. - 07:44:11
A gond nem megfelelõ adat betöltés/mentés lehet.
Mentsd le újra a használt épület be és kilépési koordinátáit, próbáld újra és ha akkor se mûködik akkor, tényleg nem megfelelõ adat betöltés vagy adatmentés van.
Újra le kell ellenõrizni a mentés illetve betöltés megfelelõ sorrendjét.
Érthetõbben pl.: a kilépés HouseInfo[hExitz] értéke tényleg az legyen ami neki van szánva, és az összes többinek is.

Ezt konzolba kiírt szöveggel egyszerû leellenõrizni csak egy printf(\"%f | %f... sort kell beírni a \"loadhouse\" vagy valami hasonló nevû eljáráshoz, és manuálisan össze hasonlítani az adatokat. (a kiírt és az adatbázisban lévõkkel (fájl, mysql, .db, stb.))
Cím: /exit parancs
Írta: Benceee - 2012. május 20. - 07:46:08
Zárási hibánál 26 error lesz a scriptben.
Cím: /exit parancs
Írta: coldridge - 2012. május 19. - 15:28:52
[pawn]   if(strcmp(cmd, \"/exit\", true) == 0)
{
    if(IsPlayerConnected(playerid))
   {
      for(new i = 0; i <  sizeof(HouseInfo); i++)
      {
         //printf(\"House :%d\",i);
         if (PlayerToPoint(3, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]))

         {


             if(HouseEntered[playerid] == i)


             {


               SetPlayerInterior(playerid,0);


               SetPlayerPos(playerid,HouseInfo
[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);

               PlayerInfo[playerid][pInt] = 0;


               PlayerInfo[playerid][pLocal] = 255;


               SetCameraBehindPlayer(playerid);


               SetPlayerVirtualWorld(playerid,0);


               HouseEntered[playerid] = 255;


               if(HouseInfo
[hHel] == 1)

               {


                  new Float:tempheal;


                  GetPlayerHealth(playerid,tempheal);


                  if(tempheal < 100.0)


                  {


                     SetPlayerHealth(playerid,100.0);


                  }


               }


               return 1;[/pawn]


Az a gondom vele, hogyha bármilyen interriorba bemegyek /enter-el kimenni nemtudok a /exit-el. Mi a gond?
Cím: /exit parancs
Írta: SyncMaster - 2012. május 19. - 15:57:56
Ezt a részt írd át
if(HouseEntered[playerid]==i) // itt bent vagy a házban az interiort azért kell átálitanod 0-ról 1-re
{
SetPlayerInterior(playerid, 1);
Cím: /exit parancs
Írta: ZyZu. - 2012. május 19. - 16:23:53
Idézetet írta: coldridge date=1337434132\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21695\" data-ipsquote-contentclass=\"forums_Topic

   if(strcmp(cmd, \"/exit\", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
   for(new i = 0; i <  sizeof(HouseInfo); i++)
   {
      //printf(\"House :%d\",i);
      if (PlayerToPoint(3, playerid,HouseInfo[hExitx], HouseInfo[hExity], HouseInfo[hExitz]))
      {
          if(HouseEntered[playerid] == i)
          {
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,HouseInfo[hEntrancex],HouseInfo[hEntrancey],HouseInfo[hEntrancez]);
            PlayerInfo[playerid][pInt] = 0;
            PlayerInfo[playerid][pLocal] = 255;
            SetCameraBehindPlayer(playerid);
            SetPlayerVirtualWorld(playerid,0);
            HouseEntered[playerid] = 255;
            if(HouseInfo[hHel] == 1)
            {
               new Float:tempheal;
               GetPlayerHealth(playerid,tempheal);
               if(tempheal < 100.0)
               {
                  SetPlayerHealth(playerid,100.0);
               }
            }
            return 1;

 
Az a gondom vele, hogyha bármilyen interriorba bemegyek /enter-el kimenni nemtudok a /exit-el. Mi a gond?
 
Szerintem a zárás lesz a hiba.. return 1; alatt vannak zárások?
Cím: /exit parancs
Írta: Zsolesszka - 2012. május 20. - 07:44:11
A gond nem megfelelõ adat betöltés/mentés lehet.
Mentsd le újra a használt épület be és kilépési koordinátáit, próbáld újra és ha akkor se mûködik akkor, tényleg nem megfelelõ adat betöltés vagy adatmentés van.
Újra le kell ellenõrizni a mentés illetve betöltés megfelelõ sorrendjét.
Érthetõbben pl.: a kilépés HouseInfo[hExitz] értéke tényleg az legyen ami neki van szánva, és az összes többinek is.

Ezt konzolba kiírt szöveggel egyszerû leellenõrizni csak egy printf(\"%f | %f... sort kell beírni a \"loadhouse\" vagy valami hasonló nevû eljáráshoz, és manuálisan össze hasonlítani az adatokat. (a kiírt és az adatbázisban lévõkkel (fájl, mysql, .db, stb.))
Cím: /exit parancs
Írta: Benceee - 2012. május 20. - 07:46:08
Zárási hibánál 26 error lesz a scriptben.