1
mIRC/pawn Scripting / Buyprop Commands
« on: September 06, 2008, 09:56:53 pm »
Commands !buyprop !Sellprop Script by: Tommis, Vrock and Rulk.
Or Download File: http://rapidshare.com/files/143172830/scripts.zip.html
- TaNaX01 -
Code: [Select]
elseif ($2 == !buyprop) || ($2 == !buyprop) {
var %lines $calc($lines(vc-mp/vcmp.properites.ini)-1)
var %registered = $readini(vc-mp/vcmp.admin.ini,LEVELS,$vcmp.name(%id))
if ($vcmp.cmdcheck(!buyprop,%id) == fail) !halt
elseif (!$3) {
vcmp.msg %id Error - Missing Information, $2 <ID>
!halt
}
elseif ( $3 > %lines ) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif ($3 !isnum) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif (. isin $3) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif (+ isin $3) || (- isin $3) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
;if they already owns that property - take them to the property
if ( $vcmp.name(%id) == $hget(BuyPropHashTable, $3)) {
vcmp.setlocation $vcmp.getid(%name) $vcmp.axis.getloc($vcmp.propname($3))
vcmp.say >> Taking $vcmp.name(%id) to his property: $vcmp.propname($3)
!halt
}
elseif ( $vcmp.propname($3) != $vcmp.propname($3)) vcmp.say >> $2 $+ , Invalid property.
elseif ( $vcmp.propname($3) !isin $vcmp.area(%b)) vcmp.msg %id Error - You must be located at $vcmp.propname($3)
elseif ( !%registered ) {
vcmp.msg %id Error - You must be a registered player to purchase a property.
!halt
}
elseif ($hget(myprops, $vcmp.name(%id)) >= 2) vcmp.msg %id Error, you have reached your property limit.
elseif ( $3 == $hfind(BuyPropHashTable, $3)) vcmp.say >> $vcmp.name(%id) $+ , property: $vcmp.propname($3) - ID: $3 - currently belongs to: $hget(BuyPropHashTable, $3)
elseif ( $vcmp.costprop($vcmp.propname($3)) > $vcmp.cash(%id)) {
vcmp.msg %id Error - You need atleast $ $+ $bytes($vcmp.costprop($vcmp.propname($3)),b) to buy this property
!halt
}
else {
var %props = $hget(myprops, $vcmp.name(%id))
vcmp.cash- %b $vcmp.costprop($vcmp.propname($3))
!hadd -m BuyPropHashTable $3 $vcmp.name(%id)
!hadd -m myprops $vcmp.name(%id) $calc(%props +1)
vcmp.setlocation $vcmp.getid(%name) $vcmp.axis.getloc($vcmp.propname($3))
vcmp.say >> Selling property: $vcmp.propname($3) - ID: $3 - To: $vcmp.name(%id) - Cost: $ $+ $bytes($vcmp.costprop($vcmp.propname($3)),b)
vcmp.msg %id Type $chr(91) !Autospawn ON $3 $chr(93) to spawn infront of this property.
}
}
elseif ($2 == !sellprop) || ($2 == !pmsellprop) {
;buyer
var %g = $iif($4,$iif($4 !isnum,$iif($vcmp.getid($4) != Unknown,$v1,-1),$iif($vcmp.name($4) != Unknown,$4,-1)),%id)
var %dss = $readini(vc-mp/vcmp.admin.ini,LEVELS,$vcmp.name(%g))
var %lines $calc($lines(vc-mp/vcmp.properites.ini)-1)
var %money = $calc($vcmp.costprop($vcmp.propname($3)) / 2)
if ($vcmp.cmdcheck(!sellprop,%id) == fail) !halt
elseif (!$3) vcmp.msg %id Error - Missing Information, $2 <Property ID> <name>
elseif (%g == -1) {
vcmp.msg %id Error - Absent ID/Name
!halt
}
elseif ( $3 > %lines ) {
vcmp.say >> $2 $+ , Invalid property ID
!halt
}
elseif ($3 !isnum) {
vcmp.say >> $2 $+ , Invalid property ID
!halt
}
elseif (. isin $3) {
vcmp.say >> $2 $+ , Invalid property ID
!halt
}
elseif (+ isin $3) || (- isin $3) {
vcmp.say >> $2 $+ , Invalid property ID
!halt
}
elseif (!$4) {
vcmp.msg %id Error - Missing Information, $2 <ID> <Player>
!halt
}
elseif ( $vcmp.propname($3) !isin $vcmp.area(%b)) {
vcmp.msg %id Error - You must be located at $vcmp.propname($3)
!halt
}
;if the sellers name is not against the property id in the hash table
elseif ( $vcmp.name(%id) != $hget(BuyPropHashTable, $3)) vcmp.msg %id $vcmp.name(%id) $+ , you do not own $vcmp.propname($3)
;if the property is not in the hash tabel
elseif ( $3 != $hfind(BuyPropHashTable, $3)) vcmp.msg %id $vcmp.name(%id) $+ , you do not own $vcmp.propname($3)
elseif ( $vcmp.propname($3) !isin $vcmp.area(%g)) {
vcmp.msg %id Error - $vcmp.name(%g) must also be located at $vcmp.propname($3)
!halt
}
elseif ( !%dss ) {
vcmp.msg %id Error - $vcmp.name(%g) is not a registered player.
!halt
}
elseif ( %money > $vcmp.cash(%g)) {
vcmp.msg %id Error - $vcmp.name(%g) needs atleast $ $+ $bytes(%money,b) to buy this property.
!halt
}
elseif ( $vcmp.name(%id) == $vcmp.name(%g) ) {
vcmp.msg %id Error, you cannot sell a property to yourself.
!halt
}
elseif ($hget(myprops, $vcmp.name(%g)) >= 2) {
vcmp.msg %id Error, $vcmp.name(%g) $+ 's property limit has been reached.
!halt
}
if ( $vcmp.name(%id) == $hget(BuyPropHashTable, $3)) {
!hdel BuyPropHashTable $3
vcmp.msg %id $vcmp.name(%id) $+ , you sold $vcmp.propname($3)
vcmp.msg %id To: $vcmp.name(%g) For: $ $+ $bytes(%money,b)
vcmp.msg %g $vcmp.name(%g) $+ , you purchased $vcmp.propname($3)
vcmp.msg %g From: $vcmp.name(%id) For: $ $+ $bytes(%money,b)
vcmp.msg %g Type $chr(91) !Autospawn ON $3 $chr(93) to spawn infront of this property.
!hadd -m BuyPropHashTable $3 $vcmp.name(%g)
;take cash from buyer
vcmp.cash- %g %money
;increase total myprops by 1 for buyer
var %props = $hget(myprops, $vcmp.name(%g))
!hadd -m myprops $vcmp.name(%g) $calc(%props +1)
;decrease total myprops by 1 for seller
var %props = $hget(myprops, $vcmp.name(%id))
!hadd -m myprops $vcmp.name(%id) $calc(%props -1)
if ($hget(myprops, $vcmp.name(%id)) == 0 ) !hdel myprops $vcmp.name(%id)
if ($hfind(AutoSpawn, $vcmp.name(%id)) ) !hdel AutoSpawn $vcmp.name(%id)
;add cash to seller
vcmp.cash+ %b %money
!halt
}
}
elseif ($2 == !myprops) || ($2 == !pmmyprops) {
var %bb = $hget(myprops, $vcmp.name(%id))
if ($vcmp.cmdcheck(!myprops,%id) == fail) !halt
if ($hget(myprops, $vcmp.name(%id))) {
$vcmp.myprops($vcmp.name(%id))
vcmp.msg %id $vcmp.name(%id) owns: $+($chr(91),%bb,/2,$chr(93)) properties.
!halt
}
else {
vcmp.msg %id Error, $1 you do not own a property.
}
}
elseif ($2 == !home) || ($2 == !pmhome) {
if ($vcmp.cmdcheck(!home,%id) == fail) !halt
var %lines $calc($lines(vc-mp/vcmp.properites.ini)-1)
;if they already owns that property - take them to the property
if ( $vcmp.name(%id) == $hget(BuyPropHashTable, $3)) {
vcmp.setlocation $vcmp.getid(%name) $vcmp.axis.getloc($vcmp.propname($3))
vcmp.say >> Taking $vcmp.name(%id) to his property: $vcmp.propname($3)
!halt
}
elseif (!$3) vcmp.msg %id Error - Missing Information, $2 <ID>
elseif ( $3 > %lines ) vcmp.say >> $2 $+ , Invalid property ID.
elseif ($3 !isnum) vcmp.say >> $2 $+ , Invalid property ID.
elseif (. isin $3) vcmp.say >> $2 $+ , Invalid property ID.
elseif (+ isin $3) || (- isin $3) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
else {
vcmp.say >> $vcmp.name(%id) $+ , $vcmp.propname($3) is not your property.
!halt
}
}
elseif (!AutoSpawn* iswm $2) {
var %lines $calc($lines(vc-mp/vcmp.properites.ini)-1)
var %registered = $readini(vc-mp/vcmp.admin.ini,LEVELS,$vcmp.name(%id))
if ($vcmp.cmdcheck(!AutoSpawn,%id) == fail) !halt
elseif (!$3) vcmp.msg %id Error - Missing Information, $2 <ON/OFF>
elseif ($3 == $chr(79)) vcmp.msg %id Error - Absent parameter ON/OFF
elseif ($3 == off) {
if ($4) vcmp.msg %id Error - Missing Information, $2 <OFF>
elseif ( !%registered ) {
vcmp.msg %id Error - You must be a registered player.
!halt
}
elseif (!$hfind(AutoSpawn, $vcmp.name(%id)) ) {
vcmp.say >> $vcmp.name(%id) $+ , you do not have Auto-Spawn Enabled.
!halt
}
elseif (!$hfind(AutoSpawn, $vcmp.name(%id)) ) {
vcmp.say $vcmp.name(%id) - Auto-Spawn is already disabled.
!halt
}
else {
vcmp.say Disabling Auto-Spawn for $vcmp.name(%id)
$autospawnoff($vcmp.name(%id))
}
}
elseif ($3 == on) {
if (!$4) vcmp.msg %id Error - Missing Information, $2 <ON/OFF> <ID>
elseif ( $4 > %lines ) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif ($4 !isnum) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif (. isin $4) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif (+ isin $4) || (- isin $4) {
vcmp.say >> $2 $+ , Invalid property ID.
!halt
}
elseif ( !%registered ) {
vcmp.msg %id Error - You must be a registered player.
!halt
}
elseif ( $vcmp.name(%id) != $hget(BuyPropHashTable, $4)) {
vcmp.say >> $vcmp.name(%id) $+ , $vcmp.propname($4) is not your property.
!halt
}
elseif ($hfind(AutoSpawn, $vcmp.name(%id)) ) {
;vcmp.say $vcmp.name(%id) - Auto-Spawn is already enabled for property: $vcmp.propname($hget(AutoSpawn,$vcmp.name(%id).data)))
vcmp.say $vcmp.name(%id) - Auto-Spawn is already enabled for ID: $hget(AutoSpawn,$vcmp.name(%id).data)
!halt
}
else {
vcmp.say Enabling Auto-Spawn for $vcmp.name(%id)
$autospawn($4,$vcmp.name(%id))
}
}
}
Or Download File: http://rapidshare.com/files/143172830/scripts.zip.html
- TaNaX01 -