Full Version : CTF location ?
xmlspawner >>XMLPoint's Troubleshooting >>CTF location ?


<< Prev | Next >>

koluch- 11-01-2006
We had a few players try the CTF the other night.

It teleported them to a location in Malas
The whole screen was black with the except each character. They could not move or cast a recall spell. The only way they could get out was to use the help menu.
Both were at the same coordinates but could not see each other.

The game location should have been 987,519,-50 malas I think

But it teleported them to 5450,1150,0 malas

Not sure why we have not changed anything in that folder that i can think of.
Any idea's or help would be great

The other games seem to be ok so far that we have seen and tested

Thanks

ArteGordon- 11-02-2006
I would use agent ransack to do a string search for Malas in the xmlpoints folder and see if you can find the mod.

koluch- 11-02-2006
Thanks Arte
I was not sure where to start looking, will start there.

koluch- 11-04-2006
QUOTE
if you wanted hard locations for the bases instead of player placed bases you could make this mod in CTFGump.cs around line 956

QUOTE

if (info.ButtonID >= 1000)
       {
        int team = info.ButtonID - 1000;
        //state.Mobile.Target = new CTFBaseTarget(m_gauntlet, team);

        Point3D baseloc = Point3D.Zero;
        switch (team)
        {
         // hardcode the base locations for as many teams as you would like
         case 1:
          baseloc = new Point3D(5450, 1150, 0);
          break;
         case 2:
          baseloc = new Point3D(5500, 1150, 0);
          break;
         case 3:
          baseloc = new Point3D(5450, 1150, 0);
          break;
         case 4:
          baseloc = new Point3D(5500, 1150, 0);
          break;

        }
        CTFBase newbase = m_gauntlet.FindBase(team);

        if (baseloc != Point3D.Zero)
        {
         if (newbase == null)
         {
          newbase = new CTFBase(m_gauntlet, team);
          // add the base to the gauntlet list
          m_gauntlet.HomeBases.Add(newbase);
         }

         newbase.MoveToWorld(new Point3D(baseloc), state.Mobile.Map);
        }

        state.Mobile.SendGump(new TeamsGump(m_gauntlet, state.Mobile));
       }


the games were designed to be modified, and allow creating your own as well so feel free to customize as much as you would like.


Hi Arte,
I was going through this post. I redownloaded the script to be sure we hadnt made any changes, and the script is originally set to hardcoded locations.
We found out the problem is when players innitiate the game on a map other than Trammel or Felucca, they are moved to these locations which are black hole areas on the other maps.
Is the code psted below correct for allowing players to set up the game and place the flags for whichever map they are on(not sure I have the correct things commented out) starting around line 969 CTFGump.cs:

CODE

  public override void OnResponse(NetState state, RelayInfo info)
  {
   if (state == null || info == null || state.Mobile == null || m_gauntlet == null) return;

   switch (info.ButtonID)
   {
    default:
     {
      // base buttons
      if (info.ButtonID >= 1000)
      {
       int team = info.ButtonID - 1000;
       state.Mobile.Target = new CTFBaseTarget(m_gauntlet, team);

       //   for hardcoded base locations instead of manually placed
       // comment out the Target line above  and uncomment the code below
       //
          Point3D baseloc = Point3D.Zero;
//being commenting out for player placement
      /*
       switch (team)
       {
        // hardcode the base locations for as many teams as you would like
        case 1:
         baseloc = new Point3D(5450, 1150, 0);
         break;
        case 2:
         baseloc = new Point3D(5500, 1150, 0);
         break;
        case 3:
         baseloc = new Point3D(5450, 1150, 0);
         break;
        case 4:
         baseloc = new Point3D(5500, 1150, 0);
         break;
       }*/
//end removal for hard coded locations

       CTFBase newbase = m_gauntlet.FindBase(team);

       if (baseloc != Point3D.Zero)
       {
        if (newbase == null)
        {
         newbase = new CTFBase(m_gauntlet, team);
         // add the base to the gauntlet list
         m_gauntlet.HomeBases.Add(newbase);
        }

        newbase.MoveToWorld(new Point3D(baseloc), state.Mobile.Map);
       }

       state.Mobile.SendGump(new TeamsGump(m_gauntlet, state.Mobile));
      }
      break;
     }
   }

  }

 }
}
}


Thanks for the help!

Koluch
edit: moved the Point3D baseloc = Point3D.Zero; to not be commented out and ran a test on our server, seems to be fine.Let me know just in cae I have missed something