Mango2735
The Sexy One.
- Oct 13, 2010
- 288
- 3
Now The Title is Gang Plugins 2
and it's 95% Done. Keyword 95% Done.
Greetings, I am Here To Feature The The Gang Plugins 2 Threads So Lets Get Started. #palmface#
1st Lets Get Started With GangClaim. Now You'll Need To Delete all your Present gang commands if you have any right now and replace them with the ones i added.
Firstly The Sql
2nd one sql
Secondly The Tables
In the Users// In Gang_corps//
gang_id | int(11) turf_north | int(1)
gang_rank | int(11) turf_south | int(2)
pending | int(11) gang_members | int(7)
pending_id | int(11)
in_gang | int(1)
Add These New Gang Commands
Now For :gangmembers. It Says How Much Users are in your gang. Not Who's In it. I think It Has to do with the 'int'. But im Not going to do all the work so finish the rest alone.
Ok, The GangClaim Part.
Find private 'Thread workoutLooper;' (with no quotes)
Above it Place 'private Thread gangclaimLooper;'
and 'private Thread gangclaimDosLooper;'
Secondly, Add These Voids
Search for private void workout()
Above it place these voids.
Now Add This One Also
Ok Now Add The Actual Command.
Now Like I said Before Your cut of the work will be put in. Here's the Twist. The Gangclaim command doesn't notify previous gang that gangclaimed your gangclaim-ing. Also It adds 1str and credits and i think health. But, if you find any more glitches post it.
Surely I would fix it but, I am Bust with my development and I am sorry for any misunderstood grammar as for me it is night time.
Also You might want to edit the Voids To Where it Only says North Side instead of Jabba NorthSide. Mango Meow McOut!
Credits
Sledmore- Base Coding release of the gangsystem
Xavi- Also Base coding release of gangsystem
Me- My Part of the release.
and it's 95% Done. Keyword 95% Done.
Greetings, I am Here To Feature The The Gang Plugins 2 Threads So Lets Get Started. #palmface#
1st Lets Get Started With GangClaim. Now You'll Need To Delete all your Present gang commands if you have any right now and replace them with the ones i added.
Firstly The Sql
PHP:
CREATE TABLE IF NOT EXISTS `gang_corps` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`gang_name` varchar(50) NOT NULL,
`owner` varchar(25) NOT NULL,
`kills` int(7) NOT NULL DEFAULT '0',
`jailbreaks` int(7) NOT NULL DEFAULT '0',
`gang_id` int(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=150 ;
2nd one sql
PHP:
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 20, 2011 at 06:33 AM
-- Server version: 5.1.41
-- PHP Version: 5.3.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `fanrp`
--
-- --------------------------------------------------------
--
-- Table structure for table `gang_turfs`
--
CREATE TABLE IF NOT EXISTS `gang_turfs` (
`gangid` int(7) NOT NULL,
`x` int(3) NOT NULL,
`y` int(3) NOT NULL,
`roomid` int(5) NOT NULL,
`turf_name` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `gang_turfs`
--
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Secondly The Tables
In the Users// In Gang_corps//
gang_id | int(11) turf_north | int(1)
gang_rank | int(11) turf_south | int(2)
pending | int(11) gang_members | int(7)
pending_id | int(11)
in_gang | int(1)
Add These New Gang Commands
PHP:
#region Gang System
#region :ganginfo
case "ganginfo":
{
sendData("BK" +
"General Gang Commands\r" +
"\r" +
":gangform <name>\r" +
":ganginvite <user>\r" +
":gangaccept\r" +
":gangleave\r" +
":gangdisband\r" +
":gangmembers\r" +
":gangturfs\r" +
"\r" +
"There will be more to come!");
break;
}
#endregion
#region :gangform <name>
case "gangform":
{
int myGang;
string name_taken;
string gang_name = stringManager.wrapParameters(args, 1);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
myGang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
name_taken = dbClient.getString("SELECT gang_name FROM gang_corps");
{
if (gang_name == name_taken)
{
sendData("BK" + "This gang name has already been taken." + Convert.ToChar(2));
}
else
{
if (myGang > 0)
{
sendData("BK" + "You already own a gang, or are in a gang");
}
else
{
this.sendData("BK" + "You now own the " + gang_name + " gang!");
dbClient.runQuery("INSERT INTO gang_corps (gang_id,gang_name,owner,gangmembers) VALUES ('" + userID + "','" + gang_name + "','" + userID + "','" + userID + "')");
dbClient.runQuery("UPDATE users SET gang_id = '" + userID + "' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET gang_rank = '2' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET in_gang = '1' WHERE name = '" + _Username + "'");
}
}
}
}
break;
}
#endregion
#region :ganginvite <name>
case "ganginvite":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
virtualUser User = userManager.getUser(args[1]);
{
if (_Username == User._Username)
{
this.sendData("BK" + "You cannot invite your self to your own gang!");
}
else
{
int myGangz;
string gang_name;
myGangz = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gang_name = dbClient.getString("SELECT gang_name FROM gang_corps WHERE gang_id = '" + myGangz + "'");
int isAllowed = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
if (isAllowed == 2)
{
this.sendData("BK" + "You have sent a gang invite to " + User._Username + " to join " + gang_name + "!*");
User.sendData("BK" + "You have been invited to join " + gang_name + "!");
dbClient.runQuery("UPDATE users SET pending_id = '" + userID + "' WHERE name = '" + User._Username + "'");
dbClient.runQuery("UPDATE users SET pending = '1' WHERE name = '" + User._Username + "'");
}
else
{
this.sendData("BK" + "You do not have the premission to invite someone to a gang!");
}
}
}
}
break;
}
#endregion
#region :gangaccept
case "gangaccept":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int myPending;
myPending = dbClient.getInt("SELECT pending FROM users WHERE name = '" + _Username + "'");
if (myPending != 1)
{
this.sendData("BK" + "There are no current gang requests you can accept*");
}
else
{
int ownsgang = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
if (ownsgang == 2)
{
this.sendData("BK" + "You cannot join a gang when you currently own one, just type in :gangdisband to delete your current gang");
}
else
{
int myGangz;
string gang_name;
myGangz = dbClient.getInt("SELECT pending_id FROM users WHERE name = '" + _Username + "'");
gang_name = dbClient.getString("SELECT gang_name FROM gang_corps WHERE gang_id = '" + myGangz + "'");
dbClient.runQuery("UPDATE users SET gang_id = '" + myGangz + "' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET gang_rank = '1' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET gang_members = '" + userID + "' WHERE name = '" + _Username + "'");
this.sendData("BK" + "You're now a member of the " + gang_name + " gang");
dbClient.runQuery("UPDATE users SET mission = '[GANG] " + gang_name + "' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET pending_id = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET pending = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET in_gang = '1' WHERE name = '" + _Username + "'");
refreshAppearance(true, true, true);
}
}
}
break;
}
#endregion
#region :gangleave
case "gangleave":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int myGangz;
string gang_name;
myGangz = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gang_name = dbClient.getString("SELECT gang_name FROM gang_corps WHERE gang_id = '" + myGangz + "'");
{
if (myGangz == 0)
{
this.sendData("BK" + "You are currently not in a gang");
}
else
{
int ownsgang = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
if (ownsgang == 2)
{
this.sendData("BK" + "You cannot leave a gang when you own one, You must do :gangdisband to leave it and end it.");
}
else if (ownsgang == 1)
{
this.sendData("BK" + "You have now left " + gang_name + "");
// clear shit
dbClient.runQuery("UPDATE users SET gang_id = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET gang_rank = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET mission = 'Civilian' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE gang_corps SET gang_members = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET in_gang = '0' WHERE name = '" + _Username + "'");
// incase lol
dbClient.runQuery("UPDATE users SET pending_id = '0' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET pending = '0' WHERE name = '" + _Username + "'");
refreshAppearance(true, true, true);
}
}
}
}
break;
}
#endregion
#region :gangdisband
case "gangdisband":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int gangid;
int myGangzid;
string gang_name;
myGangzid = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gang_name = dbClient.getString("SELECT gang_name FROM gang_corps WHERE gang_id = '" + myGangzid + "'");
gangid = dbClient.getInt("SELECT gang_id FROM gang_corps WHERE gang_id = '" + myGangzid + "'");
{
int ownsgang = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
if (ownsgang == 2)
{
this.sendData("BK" + "You have now disbanded " + gang_name + "!");
dbClient.runQuery("UPDATE users SET mission = 'Civilian' WHERE gang_id = '" + myGangzid + "'");
dbClient.runQuery("UPDATE users SET gang_id = '0', gang_rank = '0' WHERE gang_id = '" + myGangzid + "'");
dbClient.runQuery("DELETE FROM gang_corps WHERE gang_id = '" + myGangzid + "'");
dbClient.runQuery("UPDATE users SET in_gang = '1' WHERE name = '" + _Username + "'");
}
else
{
this.sendData("BK" + "You do not own a gang, So there is nothing to disband!");
refreshAppearance(true, true, true);
}
}
}
break;
}
#endregion
#region :gangkick
case "gangkick":
{
virtualUser User = userManager.getUser(args[1]);
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int gangid;
int myGangzid;
string gang_name;
myGangzid = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gang_name = dbClient.getString("SELECT gang_name FROM gang_corps WHERE gang_id = '" + myGangzid + "'");
gangid = dbClient.getInt("SELECT gang_id FROM gang_corps WHERE gang_id = '" + myGangzid + "'");
{
int ownsgang = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
int userisinmygang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + User._Username + "'");
{
if (ownsgang == 2)
{
if (userisinmygang == 1)
{
this.sendData("BK" + "You have now kicked " + User._Username + " from your gang!");
User.sendData("BK" + "You have been kicked out of " + gang_name + "!");
dbClient.runQuery("UPDATE users SET gang_id = '0', gang_rank = '0' WHERE name = '" + User._Username + "'");
dbClient.runQuery("UPDATE users SET mission = 'Civilian' WHERE name = '" + User._Username + "'");
dbClient.runQuery("UPDATE users SET in_gang = '1' WHERE name = '" + _Username + "'");
}
}
else if (userisinmygang == 0)
{
this.sendData("BK" + "This user is not in your gang!");
}
else if (ownsgang == 1)
{
this.sendData("BK" + "You do not have premission to use this command!");
}
}
}
}
}
break;
}
#endregion
#region :gangalert
/*#region :gangalert
case "gangalert":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int inGang;
int whatGang;
int gangRank;
inGang = dbClient.getInt("SELECT in_gang FROM users WHERE name = '" + _Username + "'");
whatGang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gangRank = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
if (inGang == 0)
{
sendData("BK" + "You are not in a gang");
}
else
{
if (gangRank == 1)
{
sendData("BK" + "You are not ranked high enough to send a gang alert");
}
else
{
string Message = Text.Substring(3);
}
}
}
}
break;
#endregion*/
#endregion
#region :gangassist <user>
case "gangassist":
{
virtualUser User = userManager.getUser(args[1]);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int userGangID = dbClient.getInt("SELECT gangid FROM users WHERE name = '" + User._Username + "'");
int myGangID = dbClient.getInt("SELECT gangid FROM users WHERE name = '" + _Username + "'");
if ((userGangID != 0) && (userGangID == myGangID))
{
if (User.jailBreakLooper != null)
{
dbClient.runQuery("UPDATE users SET jail_break = jail_break + '60' WHERE name = '" + User._Username + "'");
Room.sendSaying(roomUser, "*helps " + User._Username + " knock down the walls*");
}
else if (User.bankRobLooper != null)
{
dbClient.runQuery("UPDATE users SET bank_rob = bank_rob + '60' WHERE name = '" + User._Username + "'");
Room.sendSaying(roomUser, "*helps " + User._Username + " knock down the walls*");
}
else
{
sendData("BK" + "This user is not performing an assistable action.");
}
}
}
break;
}
#endregion
#region :gangmembers
case "gangmembers":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int inGang;
int whatGang;
int gang_members;
inGang = dbClient.getInt("SELECT in_gang FROM users WHERE name = '" + _Username + "'");
whatGang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gang_members = dbClient.getInt("SELECT gang_members FROM users WHERE name = '" + _Username + "'");
if (inGang == 0)
{
sendData("BK" + "You are not in a gang");
}
else
{
{
this.sendData("BK" + "Gang Members: " + gang_members + " Coded By Victor-Warrior <3 ");
}
}
}
}
break;
#endregion
#region :gangturfs
case "gangturfs":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int inGang;
int whatGang;
int turf_north;
int turf_south;
inGang = dbClient.getInt("SELECT in_gang FROM users WHERE name = '" + _Username + "'");
whatGang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
turf_north = dbClient.getInt("SELECT gang_turfs FROM WHERE name = '" + _Username + "'");
turf_south = dbClient.getInt("SELECT gang_turfs FROM WHERE name = '" + _Username + "'");
if (inGang == 0)
{
sendData("BK" + "You are not in a gang");
}
else
{
{
this.sendData("BK" + "Turfs 1st is north, 2nd is South: " + turf_south + turf_north + " Coded By Victor-Warrior <3 ");
}
}
}
}
break;
#endregion
#endregion
Now For :gangmembers. It Says How Much Users are in your gang. Not Who's In it. I think It Has to do with the 'int'. But im Not going to do all the work so finish the rest alone.
Ok, The GangClaim Part.
Find private 'Thread workoutLooper;' (with no quotes)
Above it Place 'private Thread gangclaimLooper;'
and 'private Thread gangclaimDosLooper;'
Secondly, Add These Voids
Search for private void workout()
Above it place these voids.
PHP:
private void gangclaim()
{
int iCount = 0;
try
{
while (true)
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
if (_roomID != 220 || roomUser.Y != 5 || roomUser.X != 4)
{
Room.sendSaying(roomUser, "*stops gang claiming*");
jailBreakLooper = null;
jailBreakLooper.Abort();
}
if (iCount == 60)
{
Room.sendSaying(roomUser, "*needs three more minutes to succesfully gangclaim North Side*");
}
if (iCount == 120)
{
Room.sendSaying(roomUser, "*needs two more minutes to succesfully gangclaim North Side*");
}
if (iCount == 180)
{
Room.sendSaying(roomUser, "*needs one more minute to succesfully Gangclaim North side*");
}
iCount++;
if (iCount > 180)
{
Room.sendSaying(roomUser, "*successfully Pawnz into the North Side territory and claims 220 credits and is North Side Gang Owners and is 1 str higher*");
dbClient.runQuery("UPDATE gang_corps SET turf_north = '1' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE gang_corps SET credits = credits + 220 WHERE id = '" + userID + "' LIMIT 1");
dbClient.runQuery("UPDATE users SET str = str + 1 WHERE id = '" + userID + "' LIMIT 1");
refreshValueables(true, true);
gangclaimLooper = null;
gangclaimLooper.Abort();
}
Thread.Sleep(1000);
}
}
}
catch
{
Thread.CurrentThread.Abort();
gangclaimLooper = null;
}
}
PHP:
private void gangclaimDos()
{
int iCount = 0;
try
{
while (true)
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
if (_roomID != 224 || roomUser.Y != 7 || roomUser.X != 3)
{
Room.sendSaying(roomUser, "*stops gang claiming*");
jailBreakLooper = null;
jailBreakLooper.Abort();
}
if (iCount == 60)
{
Room.sendSaying(roomUser, "*needs three more minutes to succesfully gangclaim South Side*");
}
if (iCount == 120)
{
Room.sendSaying(roomUser, "*needs two more minutes to succesfully gangclaim South Side*");
}
if (iCount == 180)
{
Room.sendSaying(roomUser, "*needs one more minute to succesfully Gangclaim South Side*");
}
iCount++;
if (iCount > 180)
{
Room.sendSaying(roomUser, "*successfully Pawnz into the South Side Territory and claims 220 credits and is South Side Gang Owners and is 1 str higher.*");
dbClient.runQuery("UPDATE gang_corps SET turf_south = '1' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE gang_corps SET credits = credits + 220 WHERE id = '" + userID + "' LIMIT 1");
dbClient.runQuery("UPDATE users SET str = str + 1 WHERE id = '" + userID + "' LIMIT 1");
refreshValueables(true, true);
gangclaimDosLooper = null;
gangclaimDosLooper.Abort();
}
Thread.Sleep(1000);
}
}
}
catch
{
Thread.CurrentThread.Abort();
gangclaimDosLooper = null;
}
}
Ok Now Add The Actual Command.
PHP:
#region :gangclaim
case "gangclaim":
{
if (_roomID != 399)
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
int inGang;
int whatGang;
int gangRank;
int turf_north;
int turf_south;
inGang = dbClient.getInt("SELECT in_gang FROM users WHERE name = '" + _Username + "'");
whatGang = dbClient.getInt("SELECT gang_id FROM users WHERE name = '" + _Username + "'");
gangRank = dbClient.getInt("SELECT gang_rank FROM users WHERE name = '" + _Username + "'");
turf_north = dbClient.getInt("SELECT turf_north FROM users WHERE name = '" + _Username + "'");
turf_south = dbClient.getInt("SELECT turf_south FROM users WHERE name = '" + _Username + "'");
if (inGang == 0)
{
sendData("BK" + "You are not in a gang");
}
else
{
if (turf_north == 1)
{
sendData("BK" + "Sorry, You already own this turf so you can't gangclaim again");
}
else
{
if (turf_south == 1)
{
sendData("BK" + "Sorry, You already own this turf so you can't gangclaim again");
}
else
{
if (gangclaimLooper == null && _roomID == 220 && roomUser.Y == 5 && roomUser.X == 4)
{
Room.sendSaying(roomUser, "*Starts to gangclaim Jabba North Side*");
Room.sendSaying(roomUser, "*needs four more minutes to succesfully gangclaim Jabba North Side*");
ThreadStart bankRobStarter = new ThreadStart(bankRob);
gangclaimLooper = new Thread(bankRobStarter);
gangclaimLooper.Priority = ThreadPriority.Lowest;
gangclaimLooper.Start();
}
}
if (gangclaimLooper == null && _roomID == 224 && roomUser.Y == 7 && roomUser.X == 3)
{
Room.sendSaying(roomUser, "*Starts to gangclaim South Side*");
Room.sendSaying(roomUser, "*needs four more minutes to succesfully gangclaim Jabba South Side");
ThreadStart bankRobStarter = new ThreadStart(bankRob);
gangclaimDosLooper = new Thread(bankRobStarter);
gangclaimDosLooper.Priority = ThreadPriority.Lowest;
gangclaimDosLooper.Start();
}
break;
}
}
#endregion
Now Like I said Before Your cut of the work will be put in. Here's the Twist. The Gangclaim command doesn't notify previous gang that gangclaimed your gangclaim-ing. Also It adds 1str and credits and i think health. But, if you find any more glitches post it.
Surely I would fix it but, I am Bust with my development and I am sorry for any misunderstood grammar as for me it is night time.
Also You might want to edit the Voids To Where it Only says North Side instead of Jabba NorthSide. Mango Meow McOut!
Credits
Sledmore- Base Coding release of the gangsystem
Xavi- Also Base coding release of gangsystem
Me- My Part of the release.