Thread: Shovel
View Single Post
  #1  
Old 05-05-2007, 07:15 PM
Chandler Chandler is offline
Banned
Join Date: Jan 2007
Posts: 656
Chandler will become famous soon enough
Shovel

HTML Code:
function onActionServerside(serverOption)
{
  if (temp.serverOption != "dig")
  {
    return false;
  }
  temp.digPosition = player.dropPosition();
  if (clientr.lastDig[0] == temp.digPosition[0] && clientr.lastDig[1] == clientr.lastDig[1])
  {
    return false;
  }
  
  temp.digCheck = this.checkTiles(temp.digPosition);
  
  clientr.lastDig = temp.digPosition;
  setani("v_shovel", "v_shovel-"@ temp.digCheck @".png");
  
  switch (temp.digCheck)
  { 
    case "grass":
      this.doDrops(temp.digPosition, {{"object_hole", 0}, {"object_artifact", 290}});
    break;
    
    case "sand":
      this.doDrops(temp.digPosition, {{"object_sandhole", 280}, {"generator_dungeon", 0}});
    break; 
  }
}
function checkTiles(position)
{
  temp.tilePosition = tiles[temp.position[0], temp.position[1]];
  temp.allTiles = {
    {"grass", {1023, 299, 1, 0, 1008, 16, 130, 197, 131, 147, 114}},
    {"sand", {301, 171, 170, 2993, 2992, 3010, 2977, 15,  8, 381, 382, 288, 181, 2976}},
    {"darksand", {170, 947, 949, 895, 847, 904, 339, 905}}
  };
  for (temp.currentTiles: temp.allTiles)
  {
    if (temp.tilePosition in temp.currentTiles[1])
    {
      temp.foundTile = temp.currentTiles[0];
      break;
    }
  }
  return temp.foundTile;
}
function doDrops(dropPosition, dropMode)
{
  for (temp.currentDrop: temp.dropMode)
  {
    if (temp.currentDrop[1] != 0)
    {
      temp.doDrop = (random(0, 300) < temp.currentDrop[1]? true: false);
    }
     else
    {
      temp.doDrop = true;
    }
    if (temp.doDrop)
    {
      putnpc2(temp.dropPosition[0], temp.dropPosition[1], ("join" SPC temp.currentDrop[0] @";"));
    }
  }
}
      
//#CLIENTSIDE
function onWeaponFired()
{
  triggerserver("weapon", this.name, "dig");
}
A shovel, works with pics1.png. Uses PUTNPC2 for classes
Reply With Quote