Author Topic: Location Script for LC  (Read 2432 times)

0 Members and 1 Guest are viewing this topic.

Offline bakasan

  • VC:MP Developer
  • Made Man
  • *
  • Posts: 169
    • View Profile
Location Script for LC
« on: November 28, 2007, 07:49:40 am »
i haven't seen a location script for lc around, so i decided to have a go at making one and describe the process.  the one i made uses just basic zones, more could be defined later.

to create and save the hash table needed:
1) copy the data/info.zon file from your gtalc or lc-mp installation into your mirc dir
2) copy this alias into your mirc:
Code: [Select]
alias convertlocationsfrominfozontohash {
  var %infozonfile = info.zon, %i = 1, %c = 0
  if ($hget(infozontemp)) !hfree -s infozontemp
  !hmake -s infozontemp 500
  while (%i < $lines(%infozonfile)) {
    tokenize 32 $read(%infozonfile,%i)
    if ($7) {
      !inc %c
      !hadd infozontemp %c $+($3,$7,$6,$7,$6,$4,$3,$left($4,-1))
      !hadd infozontemp %c $+ . $left($1,-1)
    }
    !inc %i
  }
  !hadd infozontemp max_loc %c
  !hsave infozontemp lcmp.area.hash
  !hfree -s infozontemp
}
3) in your mirc, trigger the alias by typing: /convertlocationsfrominfozontohash

this creates a saved file called lcmp.area.hash which can be used with a location script like this:

create and load the hash table from the saved file when the script starts
Code: [Select]
!hmake -s area 500
if ($exists(lcmp.area.hash)) !hload area lcmp.area.hash

alias for getting a location name from x y coordinates e.g. $lcmp.area(%x,%y)
Code: [Select]
alias lcmp.area {   
  if (($1) && ($2)) {
    var %a = 1
    while (%a <= $hget(area,max_loc)) {
      var %t = $hget(area,%a)
      if ((%t) && ($inpoly($1,$2, [ %t ] ))) !return $hget(area,%a $+ .)
      !inc %a
    }
  }
  !return Liberty City
}

at first, the names may not be worded the way you want, but thats easy enough to change...

all of this will be included (plus heaps more) with my upcoming vcmp/lcmp mirc echo bot release ^^ but this is for those who wonder how it was done or dont want to wait
« Last Edit: November 28, 2007, 08:10:31 am by bakasan »