Код:
#include <a_samp>
#include <dudb>
#include <dutils>
#include <utils>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_SYSTEM 0xEFEFF7AA
// VEHICLE LICENSE SYSTEM BY BLACKFOX - ICQ 480 814 388 - SLYFER1@******MAIL.COM
#define FILTERSCRIPT
#define COLOR_GREY 0xBEBEBEAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
forward ShowStats(playerid,targetid);
forward OnPlayerUpdate(playerid);
forward Encrypt(string[]);
forward OnPlayerLogin(playerid,const string[]);
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward ABroadCast(color,const string[],level);
forward CustomPickups();
enum pInfo
{
pPassword[128],
pKills,
pDeaths,
pCash,
pBank,
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];
new gPlayerAccount[MAX_PLAYERS];
new ConsumingMoney[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];
new playermoney;
new pickup;
#if defined FILTERSCRIPT
/* DEFINES */
forward PlayerToPoint (Float:radi, playerid, Float:x, Float:y, Float:z);
new gLicenseC[MAX_PLAYERS];
new gLicenseF[MAX_PLAYERS];
new gLicenseB[MAX_PLAYERS];
new gLicenseZ[MAX_PLAYERS];
/*========*/
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Filterscript Driving/Fly/Boat/Bike Scool System");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" FS LOADED.");
print("----------------------------------\n");
}
#endif
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
new formatZ[256];
new playrname[MAX_PLAYER_NAME];
new connect[128];
GetPlayerName(playerid, playrname, sizeof(playrname));
format(connect, sizeof(connect), "%s.cer", playrname);
if(fexist(connect))
{
gPlayerAccount[playerid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "You are registered, please login with /login password");
return 1;
}
else
{
gPlayerAccount[playerid] = 0;
SendClientMessage(playerid, COLOR_YELLOW, "You are new here or not registered, please register with /register password");
}
format(formatZ,sizeof(formatZ),"%s.lics.bfx",PlayerName(playerid));
if(!udb_Exists(formatZ))
{
udb_Create(formatZ,"209010");
}
gLicenseC[playerid] = dUserINT(formatZ).("carlic");
gLicenseF[playerid] = dUserINT(formatZ).("fluglic");
gLicenseB[playerid] = dUserINT(formatZ).("bootlic");
gLicenseZ[playerid] = dUserINT(formatZ).("bikelic");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new formatZ2[256];
OnPlayerUpdate(playerid);
gPlayerLogged[playerid] = 0;
format(formatZ2,sizeof(formatZ2),"%s.lics.bfx",PlayerName(playerid));
dUserSetINT(formatZ2).("carlic",gLicenseC[playerid]);
dUserSetINT(formatZ2).("fluglic",gLicenseF[playerid]);
dUserSetINT(formatZ2).("bootlic",gLicenseB[playerid]);
dUserSetINT(formatZ2).("bikelic",gLicenseZ[playerid]);
return 1;
}
stock PlayerName(playerid) {
new name[255];
GetPlayerName(playerid, name, 255);
return name;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
new Float:Health;
GetPlayerHealth(playerid, Health);
if(Health == 0.0)
{
PlayerInfo[playerid][pDeaths] += 1;
}
GivePlayerMoney(killerid,2000);
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1;
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
new tmp[256];
new playername[MAX_PLAYER_NAME];
new string[256];
new moneys;
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid;
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " You are already logged in.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, " USAGE: /login [password]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
if (strcmp(cmd, "/register", true)==0)
{
//new string[265];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "USAGE: /register [password]");
return 1;
}
if (gPlayerAccount[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " That name is already registered");
return 1;
}
strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
Encrypt(PlayerInfo[playerid][pPassword]);
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s.cer", playername);
new File: file = fopen(string, io_read);
if (file)
{
SendClientMessage(playerid, COLOR_GREY, " That name is already registered");
fclose(file);
return 1;
}
new File:hFile;
hFile = fopen(string, io_append);
new var[32];//
format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var);
fclose(hFile);
SendClientMessage(playerid, COLOR_WHITE, "Succesfully Registered!");
SendClientMessage(playerid, COLOR_WHITE, "Next time you connect, type /login <password> to log in.");
OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
return 1;
}
if (strcmp(cmd, "/stats", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
ShowStats(playerid,playerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not Logged in !");
}
}
return 1;
}
//=================[Bank System]================================================================
if(strcmp(cmd, "/bank", true) == 0 || strcmp(cmd, "/deposit", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(20.0,playerid,2313.0049,-3.5899,26.7422))
{
SendClientMessage(playerid, COLOR_GREY, " You are not at the Bank !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /bank [amount]");
format(string, sizeof(string), " You Have $%d in your account.", PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_GRAD3, string);
return 1;
}
new cashdeposit = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /bank [amount]");
format(string, sizeof(string), " You Have $%d in your account.", PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_GRAD3, string);
return 1;
}
if (cashdeposit > GetPlayerMoney(playerid) || cashdeposit < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " You dont have that much");
return 1;
}
GivePlayerMoney(playerid,-cashdeposit);
new curfunds = PlayerInfo[playerid][pBank];
PlayerInfo[playerid][pBank]=cashdeposit+PlayerInfo[playerid][pBank];
SendClientMessage(playerid, COLOR_WHITE, "|___ BANK STATMENT ___|");
format(string, sizeof(string), " Old Balance: $%d", curfunds);
SendClientMessage(playerid, COLOR_GRAD2, string);
format(string, sizeof(string), " Deposit: $%d",cashdeposit);
SendClientMessage(playerid, COLOR_GRAD4, string);
SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
format(string, sizeof(string), " New Balance: $%d", PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
return 1;
}
if(strcmp(cmd, "/withdraw", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(20.0,playerid,2313.0049,-3.5899,26.7422))
{
SendClientMessage(playerid, COLOR_GREY, " You are not at the Bank !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
format(string, sizeof(string), " You Have $%d in your account.", PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_GRAD3, string);
return 1;
}
new cashdeposit = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
format(string, sizeof(string), " You Have $%d in your account.", PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_GRAD3, string);
return 1;
}
if (cashdeposit > PlayerInfo[playerid][pBank] || cashdeposit < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " You dont have that much !");
return 1;
}
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid,cashdeposit);
PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-cashdeposit;
format(string, sizeof(string), " You Have Withdrawn $%d from your account Total: $%d ", cashdeposit,PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
return 1;
}
if(strcmp(cmd, "/balance", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(20.0,playerid,2313.0049,-3.5899,26.7422))
{
SendClientMessage(playerid, COLOR_GREY, " You are not at the Bank !");
return 1;
}
format(string, sizeof(string), " You Have $%d in your account.",PlayerInfo[playerid][pBank]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/transfer", true) == 0 || strcmp(cmd, "/wiretransfer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(20.0,playerid,2313.0049,-3.5899,26.7422))
{
SendClientMessage(playerid, COLOR_GREY, " You are not at the Bank !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /transfer [playerid/PartOfName] [amount]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /transfer [playerid/PartOfName] [amount]");
return 1;
}
moneys = strval(tmp);
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = PlayerInfo[playerid][pBank] ;
if (moneys > 0 && playermoney >= moneys)
{
PlayerInfo[playerid][pBank] -= moneys;
PlayerInfo[giveplayerid][pBank] += moneys;
format(string, sizeof(string), " You have transferd $%d to %s's account", moneys, giveplayer,giveplayerid);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), " You have recieved $%d to into your account from %s", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_GRAD1, string);
format(string, sizeof(string), "%s transferd $%d to %s", sendername, moneys, giveplayer);
if(moneys >= 500000)
{
ABroadCast(COLOR_YELLOW,string,1);
}
printf("%s", string);
PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Invalid transaction amount.");
}
}
}
else
{
format(string, sizeof(string), " %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
//==========================[Enter and Exit]==========================================================================================================
Код:
if(strcmp(cmd, "/enter", true) == 0)
{
if (PlayerToPoint(3.0, playerid,1879.3861,2290.5596,10.9799))// Bank
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,2306.5386,-15.8507,26.7496);
CreatePickup(1239,2,2306.5386,-15.8507,26.7496);
}
return 1;
}
if(strcmp(cmdtext, "/exit", true) == 0)
{
if (PlayerToPoint(3.0, playerid,2306.5386,-15.8507,26.7496))// Bank
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1879.3861,2290.5596,10.9799);
}
return 1;
}
if (strcmp("/buycarlic", cmdtext, true, 10) == 0)
{
if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719))
{
if(5000 > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,0x000087F6,"You Dont have the Money!");
return 1;
}
gLicenseC[playerid] = 1;
SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Car License.");
}
else
{
SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!");
}
return 1;
}
if (strcmp("/buyflylic", cmdtext, true, 10) == 0)
{
if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719))
{
if(5000 > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,0x000087F6,"You Dont have the Money!");
return 1;
}
gLicenseF[playerid] = 1;
SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Fly License.");
}
else
{
SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!");
}
return 1;
}
if (strcmp("/buyboatlic", cmdtext, true, 10) == 0)
{
if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719))
{
if(5000 > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,0x000087F6,"You Dont have the Money!");
return 1;
}
gLicenseB[playerid] = 1;
SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Boat License.");
}
else
{
SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!");
}
return 1;
}
if (strcmp("/buybikelic", cmdtext, true, 10) == 0)
{
if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719))
{
if(5000 > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,0x000087F6,"You Dont have the Money!");
return 1;
}
gLicenseZ[playerid] = 1;
SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Bike License.");
}
else
{
SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!");
}
return 1;
}
if (strcmp("/licenses", cmdtext, true, 10) == 0)
{
if(gLicenseC[playerid] == 1)
{
SendClientMessage(playerid,0x559A72AD,"Car License [YES]");
}
else
{
SendClientMessage(playerid,0x559A72AD,"Car License [NO]");
}
if(gLicenseF[playerid] == 1)
{
SendClientMessage(playerid,0x559A72AD,"Fly License [YES]");
}
else
{
SendClientMessage(playerid,0x559A72AD,"Fly License [NO]");
}
if(gLicenseB[playerid] == 1)
{
SendClientMessage(playerid,0x559A72AD,"Boat License [YES]");
}
else
{
SendClientMessage(playerid,0x559A72AD,"Boat License [NO]");
}
if(gLicenseZ[playerid] == 1)
{
SendClientMessage(playerid,0x559A72AD,"Bike License [YES]");
}
else
{
SendClientMessage(playerid,0x559A72AD,"Bike License [NO]");
}
return 1;
}
return 0;
}
public Encrypt(string[])
{
for(new x=0; x < strlen(string); x++)
{
string[x] += (3^x) * (x % 15);
if(string[x] > (0xff))
{
string[x] -= 64;
}
}
return 1;
}
public OnPlayerLogin(playerid,const string[])
{
new pname2[MAX_PLAYER_NAME];
new pname3[MAX_PLAYER_NAME];
new string2[64];
new string3[128];
GetPlayerName(playerid, pname2, sizeof(pname2));
format(string2, sizeof(string2), "%s.cer", pname2);
new File: UserFile = fopen(string2, io_read);
if (UserFile)
{
new valtmp[128];
fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
{
new key[128],val[128];
new Data[128];
while(fread(UserFile,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); }
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
}
fclose(UserFile);
gPlayerLogged[playerid] = 1;
gPlayerAccount[playerid] = 1;
new kills = PlayerInfo[playerid][pKills];
SetPlayerScore(playerid, kills);
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "Welcome %s, you have been succesfully logged in!", pname3);
SendClientMessage(playerid, COLOR_WHITE,string3);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Password does not match your name");
fclose(UserFile);
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
new string3[32];
new pname3[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "%s.cer", pname3);
new File: pFile = fopen(string3, io_write);
if (pFile)
{
new var[32];
format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
fclose(pFile);
new File: hFile = fopen(string3, io_append);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var);
fclose(hFile);
}
}
}
return 1;
}
stock ini_GetKey( line[] )
{
new keyRes[128];
keyRes[0] = 0;
if ( strfind( line , "=" , true ) == -1 ) return keyRes;
strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
return keyRes;
}
stock ini_GetValue( line[] )
{
new valRes[128];
valRes[0]=0;
if ( strfind( line , "=" , true ) == -1 ) return valRes;
strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
return valRes;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
public ShowStats(playerid,targetid)
{
if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
{
new cash = GetPlayerMoney(targetid);
new deaths = PlayerInfo[targetid][pDeaths];
new kills = PlayerInfo[targetid][pKills];
new name[MAX_PLAYER_NAME];
GetPlayerName(targetid, name, sizeof(name));
new Float:px,Float:py,Float:pz;
GetPlayerPos(targetid, px, py, pz);
new coordsstring[256];
new bank = PlayerInfo[targetid][pBank];
SendClientMessage(playerid, COLOR_GREEN,"________________________________________________");
format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
SendClientMessage(playerid, COLOR_WHITE,coordsstring);
format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d] Bank:[$%d]",kills,deaths,cash,bank);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
SendClientMessage(playerid, COLOR_GREEN,"________________________________________________");
}
}
public ABroadCast(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SendClientMessage(i, color, string);
printf("%s", string);
}
}
return 1;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new getthecar;
getthecar = GetPlayerVehicleID(playerid);
if(newstate == 2)
{
if(IsHeli(playerid,getthecar))
{
if(gLicenseF[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,0xDB0000F6,"You can't use Helicopter without a License!");
}
}
//
if(IsPlane(playerid,getthecar))
{
if(gLicenseF[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,0xDB0000F6,"You can't use Planes without a License!");
}
}
//
if(IsCar(playerid,getthecar))
{
if(gLicenseC[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,0xDB0000F6,"You can't Drive Cars without a License!");
}
}
//
if(IsBoat(playerid,getthecar))
{
if(gLicenseB[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,0xDB0000F6,"You can't sailing without License!");
}
}
//
if(IsBike(playerid,getthecar))
{
if(gLicenseZ[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,0xDB0000F6,"You can't use Bike without License!");
}
}
//
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickup)
{
SendClientMessage(playerid,0xFFFF00AA, "/bank");
SendClientMessage(playerid,0xFFFF00AA, "/transfer");
SendClientMessage(playerid,0xFFFF00AA, "/balance");
SendClientMessage(playerid,0xFFFF00AA, "/withdraw");
}
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
//
IsPlane(playerid,vehicleid) // Planes
{
#define MAX_PLANES 14
new IsPlaneA[MAX_PLANES] =
{
592,577,511,512,593,520,553,464,476,519,
460,513,539
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_PLANES; i++)
{
if(GetVehicleModel(vehicleid) == IsPlaneA[i])
{
return true;
}
}
}
return false;
}
//
IsCar(playerid,vehicleid) // Cars
{
#define MAX_LCARS 145
new IsCarA[MAX_LCARS] =
{
445,602,416,485,568,429,433,499,424,536,496,
504,422,609,498,401,575,518,402,541,482,431,
438,457,527,483,524,415,542,589,437,532,480,
596,599,597,598,578,486,507,562,585,427,419,
587,490,528,533,544,407,565,455,530,526,466,
604,492,474,588,434,502,503,494,579,545,411,
546,559,508,571,400,403,517,410,551,500,418,
572,423,414,516,582,467,443,470,404,514,603,
600,413,426,436,547,489,441,594,564,515,479,
534,432,505,442,440,475,543,605,495,567,428,
405,535,458,580,439,561,409,560,550,506,601,
574,566,549,420,459,576,525,531,408,583,451,
558,552,540,491,412,478,421,529,555,456,554,
477
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_LCARS; i++)
{
if(GetVehicleModel(vehicleid) == IsCarA[i])
{
return true;
}
}
}
return false;
}
//
IsHeli(playerid,vehicleid) // Helicopters
{
#define MAX_HELIS 13
new IsHeliA[MAX_HELIS] =
{
548,425,417,487,497,563,501,465,447,469,
488
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_HELIS; i++)
{
if(GetVehicleModel(vehicleid) == IsHeliA[i])
{
return true;
}
}
}
return false;
}
//
IsBoat(playerid,vehicleid) // Boats
{
#define MAX_BOATS 13
new IsBoatA[MAX_BOATS] =
{
472,473,493,595,484,430,453,452,446,454
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_BOATS; i++)
{
if(GetVehicleModel(vehicleid) == IsBoatA[i])
{
return true;
}
}
}
return false;
}
//
IsBike(playerid,vehicleid) // Bikes
{
#define MAX_BIKEZ 13
new IsBikeA[MAX_BIKEZ] =
{
581,523,462,521,463,522,461,448,468,586
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_BIKEZ; i++)
{
if(GetVehicleModel(vehicleid) == IsBikeA[i])
{
return true;
}
}
}
return false;
}
// PLAYER TO POINT
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
//
public CustomPickups()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (PlayerToPoint(3, i,2026.4064,1017.9352,10.8203)) // Bank
{
GameTextForPlayer(i, "~y~Welcome to The ~y~City Bank~n~~w~Type /enter to go in", 5000, 5);
}
}
return 1;
}
C:\Program Files\Rockstar Games\GTA San Andreas\samp sever\filterscripts\license.pwn(674) : error 021: symbol already defined: "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp sever\filterscripts\license.pwn(689) : error 047: array sizes do not match, or destination array is too small