Hello, I've seen a lot of discussion on pawn forums about including mIRC with this dll. I don't know where I can find it, as every download I've seen is for the entire mIRC server.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menuelse if (strcmp(cmd, "!buyprop", true) == 0) {
new szMsg[256],cost,prop,owner;
tmp = strtok(cmdtext,idx);
prop = dini_Int(file, "prop");
cost = dini_Int("/Properties/prices.ini", tmp);
if (PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid,COLOR_GREEN,"You have to log in first");
else if(!strlen(tmp)) SendClientMessage(playerid,COLOR_GREEN, "USAGE: !buyprop [PropertyID]");
else if(prop == 2) SendClientMessage(playerid,COLOR_GREEN,"You can only own 2 props");
else if(!IsPropertyForSale(tmp)) SendClientMessage(playerid,COLOR_GREEN, "Error: That prop is not for sale!");
else if (GetPlayerHandCash(gPlayers[playerid]) < cost) SendClientMessage(playerid,COLOR_GREEN,"Not enough money");
else {
new prop2;
prop2 = prop +1;
format(szMsg,sizeof(szMsg),"%d",prop2);
dini_Set(file, "Prop", szMsg);
dini_Set("/Properties/owners.ini", tmp, gPlayers[playerid]);
SendClientMessage(playerid,COLOR_GREEN,"You succesfully bought a property");
SendClientMessage(playerid,COLOR_GREEN,"You can use !propname to change its name");
DecPlayerHandCash(playerid,cost);
}
return 1;
}
else if (strcmp(cmd, "!sellprop", true) == 0) {
new prop;
prop = prop = dini_Int(file, "prop");
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
else if(!strlen(tmp)) SendClientMessage(playerid,COLOR_GREEN, "USAGE: !sellprop [PropertyID]");
else if(!IsPropertyExist(tmp)) SendClientMessage(playerid,COLOR_GREEN, "Error: Unknown Property");
else if(!IsPropertyOwner(tmp,playerid)) SendClientMessage(playerid,COLOR_GREEN, "Error: That property is not yours!");
else {
new cost,prop2,szMsg[256]; cost = GetPropertyCost(tmp);
prop = prop -1;
format(szMsg,sizeof(szMsg),"%d",prop2);
dini_Set(file, "Prop", szMsg);
format(file, sizeof(file), "/Properties/owners.ini", "owners");
dini_Set(file, tmp, "none");
IncPlayerHandCash(playerid,cost);
format(szMsg,sizeof(szMsg),"Property Sold! Earned:[ $%d ]",cost);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
return 1;
}
else if (strcmp(cmd, "!propname", true) == 0) {
new tmp2[256];
tmp = strtok(cmdtext, idx),tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp2)) SendClientMessage(playerid,COLOR_GREEN,"Use !propname <propid> <name>");
else if(!IsPropertyOwner(tmp,playerid)) SendClientMessage(playerid,COLOR_GREEN, "Error: That property is not yours!");
else {
dini_Set("/Properties/names.ini",tmp,tmp2);
SendClientMessage(playerid,COLOR_GREEN,"Property name set");
}
}
else if (strcmp(cmd, "!shareprop", true) == 0) {
new tmp2[256], plr; tmp = strtok(cmdtext, idx), tmp2 = strtok(cmdtext, idx), plr = FindPlayerIDFromString(tmp2);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
else if(!strlen(tmp2)) SendClientMessage(playerid,COLOR_GREEN, "USAGE: !shareprop [PropertyID] [Nick/ID]");
else if(!IsPropertyExist(tmp)) SendClientMessage(playerid,COLOR_GREEN, "Error: Unknown Property");
else if(!IsPropertyOwner(tmp,playerid)) SendClientMessage(playerid,COLOR_GREEN, "Error: You do not own that property!");
else if(plr == INACTIVE_PLAYER_ID) SendClientMessage(playerid,COLOR_RED,"Error: Unknown player");
else if(IsPropertyShared(tmp)) SendClientMessage(playerid,COLOR_RED,"Error: Property already shared.");
else {
if(!IsPlayerRegistered(gPlayers[plr])) {
format(szMsg,sizeof(szMsg),"Error: %s is not a registered nick!",gPlayers[plr]);
SendClientMessageToAll(COLOR_GREEN,szMsg);
return 1;
}
format(file, sizeof(file), "/Properties/share.ini", "share");
dini_Set(file, tmp, gPlayers[plr]);
format(szMsg,sizeof(szMsg),"Property shared with:[ %s ]",gPlayers[plr]);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
return 1;
}
else if (strcmp(cmd, "!delshareprop", true) == 0) {
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
else if(!strlen(tmp)) SendClientMessage(playerid,COLOR_GREEN, "USAGE: !delshareprop [PropertyID]");
else if(!IsPropertyExist(tmp)) SendClientMessage(playerid,COLOR_GREEN, "Error: Unknown Property");
else if(!IsPropertyOwner(tmp,playerid)) SendClientMessage(playerid,COLOR_GREEN, "Error: You do not own that property!");
else if(!IsPropertyShared(tmp)) SendClientMessage(playerid,COLOR_RED,"Error: That property is not shared.");
else {
format(file, sizeof(file), "/Properties/share.ini", "share");
dini_Set(file, tmp, "none");
format(szMsg,sizeof(szMsg),"Property:[ %s ] share deleted.",tmp);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
return 1;
}
enum picInfo
{
isprop,
propname,
income,
incomes,
collections
}
enum sInfo
{
incomes,
pickup
}
new ServerInfo[1][sInfo];
new PickupInfo[200][picInfo];
LoadProps()
public LoadProps()
{
print("Loading props, please wait...");
new XU;
if(!dini_Exists("/Properties/sum.ini")) return -1;
new data[7][256];
for (XU=1; XU<=250; XU++) {
new pos[256],fm[6];
format(fm,sizeof(fm),"%d",XU);
pos = dini_Get("/Properties/sum.ini",fm);
if (strlen(pos)) {
split(pos,data,' ');
ServerInfo[0][pickup] = ServerInfo[0][pickup] +1;
AddStaticPickup(ServerInfo[0][pickup],407,strval(data[0]),floatstr(data[1]),floatstr(data[2]));
//printf("Creating Prop! Pickup ID:%d Prop ID: %d",ServerInfo[0][pickup],XU);
PickupInfo[ServerInfo[0][pickup]][isprop] = 1;
PickupInfo[ServerInfo[0][pickup]][propname] = XU;
new szMsg[256];
format(szMsg,sizeof(szMsg),"%d",XU);
PickupInfo[ServerInfo[0][pickup]][income] = dini_Int("/Properties/income.ini", szMsg);
ServerInfo[0][incomes] = 1;
}
}
printf("Props Loaded!");
return asp;
}
else if (strcmp(cmd, "addprop", true) == 0) {
new tmp2[256],tmp3[256],tmp4[256];
tmp = strtok(cmdtext,idx);
tmp2 = strtok(cmdtext,idx);
tmp3 = strtok(cmdtext,idx);
tmp4 = strtok(cmdtext,idx);
else if(!strlen(tmp4)) SendClientMessage(playerid,COLOR_GREEN,"Use /c addprop <cost> <income> <ID> <Name>");
else if (!IsNumeric(tmp) || !IsNumeric(tmp2) || !IsNumeric(tmp3)) SendClientMessage(playerid,COLOR_GREEN, "Cost, income, and ID must be numbers");
else {
new Float:x,Float:y,Float:z,szMsg[256],id[256];
format(szMsg,sizeof(szMsg),"Added - Cost: $%s Income: $%s ID: %s Name: %s",tmp,tmp2,tmp3,tmp4);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
GetPlayerPos(playerid,x,y,z);
format(szMsg,sizeof(szMsg),"%f %f %f",x,y,z);
format(id,sizeof(id),"%d",strval(tmp3));
dini_Set("/Properties/sum.ini",id,szMsg);
dini_Set("/Properties/income.ini",id,tmp2);
dini_Set("/Properties/names.ini",id,tmp4);
dini_Set("/Properties/prices.ini",id,tmp);
dini_Set("/Properties/owners.ini",id,"none");
dini_Set("/Properties/share.ini",id,"none");
}
return 1;
}
if (PickupInfo[pickupid][isprop] == 1) {
new szMsg[256],owner[256],cost,shared[256],name[256];
owner = GetPropertyOwner(PickupInfo[pickupid][propname]);
cost = GetPropertyCost(IntToStr(PickupInfo[pickupid][propname]));
shared = GetPropertyShare(PickupInfo[pickupid][propname]);
name = GetPropertyName(PickupInfo[pickupid][propname]);
new money,string[256],collects;
if(strcmp(owner, gPlayers[playerid], true) == 0) {
PickupInfo[pickupid][collections] = PickupInfo[pickupid][collections] +1;
collects = ServerInfo[0][incomes] -PickupInfo[pickupid][collections] +1;
money = collects * PickupInfo[pickupid][income];
if(collects == 0) {
PickupInfo[pickupid][collections] = PickupInfo[pickupid][collections] -1;
format(szMsg,sizeof(szMsg),">>> %s <<<",name);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"ID:[ %d ] Value:[ %d ]",PickupInfo[pickupid][propname],cost);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
SendClientMessage(playerid,COLOR_GREEN,"Earnings: $0");
}
else {
IncPlayerHandCash(playerid,money);
format(szMsg,sizeof(szMsg),">>> %s <<<",name);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"ID:[ %d ] Value:[ %d ]",PickupInfo[pickupid][propname],cost);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"Earnings: $%d",money);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
}
else if(strcmp(owner, "none", true) == 0) {
format(szMsg,sizeof(szMsg),">>> %s <<<",name);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"ID:[ %d ] Cost:[ %d ]",PickupInfo[pickupid][propname],cost);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
else if(strcmp(shared, "none", true) == 0) {
format(szMsg,sizeof(szMsg),">>> %s <<<",name);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"ID:[ %d ] Owner:[ %s ]",PickupInfo[pickupid][propname],owner);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
else {
format(szMsg,sizeof(szMsg),">>> %s <<<",name);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"ID:[ %d ] Owner:[ %s ] Shared:[ %s ]",PickupInfo[pickupid][propname],owner,shared);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
return 1;
SetTimer("Payday",900000,true);
public Payday()
{
ServerInfo[0][incomes] = ServerInfo[0][incomes] +1;
for(new i = 0; i <= MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) == 1) {
GameTextForAll("Payday!!!!");
}
}
}
else if (strcmp(cmd, "call", true) == 0) {
new plr;
tmp = strtok(cmdtext,idx);
plr = FindPlayerIDFromString(tmp);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid,COLOR_GREEN,"Please login first");
else if(PlayerInfo[playerid][call] != 100) SendClientMessage(playerid,COLOR_GREEN,"You are already in a call");
else if(!strlen(tmp)) SendClientMessage(playerid,COLOR_GREEN,"Use /c call <Nick/ID>");
else if(plr == INACTIVE_PLAYER_ID) SendClientMessage(playerid,COLOR_GREEN,"Unknown player");
else if(PlayerInfo[plr][call] != 100) SendClientMessage(playerid,COLOR_GREEN,"You hear a busy tone");
else {
new szMsg[256];
format(szMsg,sizeof(szMsg),"Calling %s",gPlayers[plr]);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
format(szMsg,sizeof(szMsg),"Incoming call from %s, use /c accept and /c decline",gPlayers[playerid]);
SendClientMessage(plr,COLOR_GREEN,szMsg);
PlayerInfo[plr][caller] = playerid;
}
return 1;
}
else if (strcmp(cmd, "accept", true) == 0) {
if(PlayerInfo[playerid][caller] == 100) SendClientMessage(playerid,COLOR_GREEN,"No one has called you");
else {
SendClientMessage(playerid,COLOR_GREEN,"You have accepted a call, use /c c <text> to talk");
SendClientMessage(PlayerInfo[playerid][caller],COLOR_GREEN,"Your call has been accepted, use /c c <text> to talk");
PlayerInfo[playerid][call] = PlayerInfo[playerid][caller];
PlayerInfo[PlayerInfo[playerid][caller]][call] = playerid;
PlayerInfo[playerid][caller] = 100;
}
}
else if (strcmp(cmd, "decline", true) == 0) {
if(PlayerInfo[playerid][caller] == 100) SendClientMessage(playerid,COLOR_GREEN,"No one has called you");
else {
SendClientMessage(playerid,COLOR_GREEN,"You have denied your call");
SendClientMessage(PlayerInfo[playerid][caller],COLOR_GREEN,"Your call has been denied");
PlayerInfo[playerid][caller] = 100;
}
}
else if (strcmp(cmd, "c", true) == 0) {
new szMsg[256];
tmp = strtok(cmdtext, idx);
if (PlayerInfo[playerid][call] == 100) SendClientMessage(playerid, COLOR_GREEN, "You are not in a call");
else if (!strlen(tmp)) SendClientMessage(playerid, COLOR_GREEN, "/c c <text>");
else {
format(szMsg, sizeof(szMsg), "[Phone][%s]: %s", gPlayers[playerid], cmdtext);
SendClientMessage(PlayerInfo[playerid][call],COLOR_GREEN,szMsg);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
}
return 1;
}
else if (strcmp(cmd, "hangup", true) == 0) {
if(PlayerInfo[playerid][call] == 100) SendClientMessage(playerid,COLOR_GREEN,"You are not in a call");
else {
SendClientMessage(playerid,COLOR_GREEN,"You hangup the phone");
SendClientMessage(PlayerInfo[playerid][call],COLOR_GREEN,"Phone call ended");
PlayerInfo[PlayerInfo[playerid][call]][call] = 100;
PlayerInfo[playerid][call] = 100;
}
}
You will also need to add the following to the PlayerInfo enumpublic speedometer()
{
for(new i = 0; i <= MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) == 1) {
new Float:X,Float:Y,Float:Z,szMsg[256],MPH,distance;
GetPlayerPos(i,X,Y,Z);
distance = GetPointDistance(PlayerInfo[i][Xp],PlayerInfo[i][Yp],PlayerInfo[i][Zp],X,Y,Z);
MPH = distance * 4;
PlayerInfo[i][Xp] = X;
PlayerInfo[i][Yp] = Y;
PlayerInfo[i][Zp] = Z;
format(szMsg,sizeof(szMsg),"~o~MPH ~r~%d",MPH);
GameTextForPlayerBottom(i,szMsg);
}
}
}
stock GetPointDistance(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
{
new Float:tmpdis;
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
public ToggleEngine(playerid,tmp)
{
new id;
id = GetPlayerVehicleID(playerid);
if(tmp == 0) {
KillVehicleEngine(id);
CarInfo[id][engineon] = 0;
}
else {
RemovePlayerFromVehicle(playerid);
PutPlayerInVehicle(playerid,id);
CarInfo[id][engineon] = 1;
}
return 1;
}
enum cInfo
{
gas
}
new CarInfo[here put the number of cars in your server][cInfo]
SetTimer("cargas",30000,true);
public cargas()
{
for(new i = 0; i <= MAX_PLAYERS; i++) {
if(PlayerInfo[i][onfoot] == 0) CarInfo[157][locked] = 1;
else {
new id;
id = GetPlayerVehicleID(i);
new szMsg[256];
CarInfo[id][gas] = CarInfo[id][gas] -1;
format(szMsg,sizeof(szMsg),"~o~Fuel ~r~%d",CarInfo[id][gas]);
GameTextForPlayerBottom(i,szMsg);
if(CarInfo[id][gas] < 1) {
KillVehicleEngine(id);
CarInfo[id][gas] = 0;
}
}
}
}
if(CarInfo[vehicleid][gas] < 1) {
ServerInfo[0][gas] = playerid;
SetTimer("engine",5000,false);
}
public engine()
{
new id;
SendClientMessage(ServerInfo[0][gas],COLOR_GREEN,"The engine dies, might want to check the fuel tank");
id = GetPlayerVehicleID(ServerInfo[0][gas]);
KillVehicleEngine(id);
ServerInfo[0][gas] = 100;
CarInfo[id][engineon] = 0;
return 1;
}