Script Optimization? -
sciman001 - 15.04.2011
Hello all. Before i start this question, i want to say something i should have said a while ago but i didnt want to make a new topic for it as it would probably be spam.Anyway, here goes: I'm guessing that you all have noticed me being a spammer and rule breaker... :/ well, my days of that are over. please forgive me. Anyway, the question:
Can you guys help me speed up my script a bit? Heres the code:
pawn Код:
//includes
#include <a_samp>
#include <minc2>
#include <mikefunc>
#include <defines>
#include "../include/gl_common.inc"
#include "../include/gl_spawns.inc"
#include <Dini> // This include is use for saving data's
#include <Dutils> // This include is used for some important function
#include <Dudb> // This include is used for hashing password
//forwards
forward msg();
forward fixcars();
forward ccc(); //forward ccc
forward ttt();
//pragma's
#pragma unused ret_memcpy
#pragma unused gArmySpawns
#pragma unused gMedicalSpawns
#pragma unused gPoliceSpawns
//news
new ccar; //stores the car
new total_vehicles_from_files = 0;
new mc1;
new mc2;
new mc3;
new mc4;
new mc5;
new mc6;
new mc7;
new mc8;
new mc9;
new mc10;
new mc11;
new n1;
new n2;
new Menu:shop;
new car;
new truth;
new t1;
new engine,lights,alarm,doors,bonnet,boot,objective;//This will create the engine/lights,etc varibles
new a;
new sp = 0;
new randSpawn = 0;
new Killz[MAX_PLAYERS];
new Deathz[MAX_PLAYERS];
//defines
#define savefolder "/save/%s.ini"
#define VEHICLE_PARAMS_UNSET -1 //This sets if your using the params
#define VEHICLE_PARAMS_OFF 0 //This will set your params OFF
#define VEHICLE_PARAMS_ON 1 //This will set your params ON
#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
main()
{
print("Party Loaded!");
}
public OnGameModeInit()
{
//tickcount
new StartTick, StopTick;
StartTick = GetTickCount();
//player markers
ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
//stunt bonus
EnableStuntBonusForAll(1);
//weather
SetWeather(2);
//game mode text
SetGameModeText("PARTY");
//player classes
AddPlayerClass(299, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(1, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(294, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(291, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(292, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(286, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
//cars from files
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/mm.txt");
printf("Total vehicles from files: %d",total_vehicles_from_files);
//cars
mc1 = AddStaticVehicle(562, 1797.8432,-1301.8840,13.5087, 357.3673, 7, 7);
mc2 = AddStaticVehicle(562, 1827.1270, -1278.4496, 131.7344, 356.2112, 13, 13); // mc2
mc3 = AddStaticVehicle(562,-1380.2383,-60.9142,5.8340,359.8493,122,1); // mc3
mc4 = AddStaticVehicle(562,-1372.3546,-61.3774,5.8342,0.4200,122,1); // mc4
mc5 = AddStaticVehicle(562,-1363.7715,-61.5484,5.8340,359.0742,122,1); // mc5
mc6 = AddStaticVehicle(562,-1337.0522,-67.5196,5.8342,270.4945,122,1); // mc6
mc7 = AddStaticVehicle(562,-1336.8188,-79.5637,5.8341,269.1048,122,1); // mc7
mc8 = AddStaticVehicle(562,-1386.3369,-71.5868,5.8337,89.8659,122,1); // mc8
mc9 = AddStaticVehicle(562,-1369.8386,-88.1138,5.8341,267.1925,122,1); // mc9
mc10 = AddStaticVehicle(562,-1369.6626,-96.2473,5.8342,269.5889,122,1); // mc10
mc11 = AddStaticVehicle(562,-1371.1698,-120.6941,5.8340,270.9391,122,1); // mc11
ccar = AddStaticVehicle(562,2324.3391,-1270.5941,22.1586,180.6980,122,1); // ccar
car = AddStaticVehicle(603,426.9448,2493.6545,17.0369,88.2769,21,36); // car
truth = AddStaticVehicle(483,1834.5129,-1281.0243,131.3930,0.9327,13,13); // truth
//menus
shop = CreateMenu("Shop", 2, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Machine guns");
AddMenuItem(shop, 0, "Machine guns");
AddMenuItem(shop, 0, "Rifles");
AddMenuItem(shop, 1, "9mm($2000)");
AddMenuItem(shop, 1, "Silenced pistol($1000)");
AddMenuItem(shop, 1, "Desert Eagle($2500)");
AddMenuItem(shop, 1, "Shotgun($2000)");
AddMenuItem(shop, 1, "Sawn-Offs($5000)");
AddMenuItem(shop, 1, "SPAS($4000)");
AddMenuItem(shop, 1, "Tec9($3000)");
AddMenuItem(shop, 1, "UZI($3000)");
AddMenuItem(shop, 1, "SMG($3500)");
AddMenuItem(shop, 1, "AK-47($2000)");
AddMenuItem(shop, 1, "M4($2000)");
AddMenuItem(shop, 1, "Sniper($6000)");
//CAR ENGINE/LIGHTS
ManualVehicleEngineAndLights();
//rcon commands
SendRconCommand("reloadfs ls_elevator");
//car licence plate loop
for(new i=0; i<MAX_VEHICLES; i++)
{
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11)
{
SetVehicleNumberPlate(i, "PARTY");
SetVehicleToRespawn(i);
}
else if(i == car)
{
SetVehicleNumberPlate(i, "*LOL*");
SetVehicleToRespawn(i);
}
else if(i == truth)
{
SetVehicleNumberPlate(i, "HTURT");
SetVehicleToRespawn(i);
}
else if(i == ccar)
{
SetVehicleNumberPlate(i, "CCAR"); //sets the cars number plate
SetVehicleToRespawn(i); //respawns it (VERY IMPORTANT!!!)
}
else
{
SetVehicleToRespawn(i);
}
}
//timers
SetTimer("ccc", 500, 1); //sets the timer
SetTimer("fixcars", 5000, 1);
SetTimer("msg", 60 * 30000, 1);
SetTimer("ttt", 1000, false);
for(new i=0; i<MAX_OBJECTS; i++)
{
if(IsValidObject(i))
{
a++;
}
}
printf("Unstreamed Objects: %i", a);
//tickcount
StopTick = GetTickCount();
t1 = StopTick - StartTick;
printf("GameMode Loaded In: %i ms!", t1);
return 1;
}
public OnGameModeExit()
{
//tickcount
new StartTick, StopTick;
StartTick = GetTickCount();
Vclear(); //clears all cars
DestroyVehicle(ccar); //destroys the car
DestroyAllObjects(); //destroys all objects
a = 0;
//tickcount
StopTick = GetTickCount();
t1 = StopTick - StartTick;
printf("GameMode UnLoaded In: %i ms!", t1);
return 1;
}
public OnPlayerConnect(playerid)
{
CountPlayersOnline(); //counts and prints the # of players online
SendConnectMessage(playerid); //sends the connect message
UsePlayerPedAnims(); //use player ped anims
GameTextForPlayer(playerid,"~R~PARTY TIME",3000,4); //game text
SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
new pname[128];
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), savefolder,pname);
new IP[16];
GetPlayerIp(playerid, IP, sizeof(IP));
if(!dini_Exists(file))
{
dini_Create(file);
dini_Set(file, "Ip", IP);
SetPVarInt(playerid, "Ip", IP);
dini_IntSet(file, "Score", 0);
dini_IntSet(file, "Money", 0);
dini_IntSet(file, "Kills", Killz[playerid]);
dini_IntSet(file, "Deaths", Deathz[playerid]);
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
new tmp;
tmp = dini_Int(file, "Ip");
if(tmp == GetPVarInt(playerid, "IP"))
{
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
new string[128];
format(string, sizeof(string), "YOu arent the real %s, GTFO!", pname);
SendClientMessage(playerid, COLOR_RED, string);
Kick(playerid);
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SendDisconnectMessage(playerid, reason); //disconnect message
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
new pname[128];
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), savefolder,pname);
if(!dini_Exists(file))
{
}
else
{
dini_IntSet(file, "Score", GetPlayerScore(playerid));
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
dini_IntSet(file, "Kills", Killz[playerid]);
dini_IntSet(file, "Deaths", Deathz[playerid]);
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerFacingAngle(playerid, 80.5222); //sets the players angle
SetPlayerPos(playerid, 1565.5916, -1358.9417, 330.0576); //sets the players position
SetPlayerCameraPos(playerid, 1554.3995, -1357.9331, 329.4581); //sets the camera position
SetPlayerCameraLookAt(playerid, 1565.5916, -1358.9417, 330.0576); //makes the camera look at the player
return 1;
}
public OnPlayerSpawn(playerid)
{
SetWeather(2); //sets the weather
GivePlayerWeapon(playerid, PARACHUTE, 1); //gives the player a parachute
GivePlayerWeapon(playerid, WEAPON_MP5, 999999); //gives the player a mp5
GivePlayerWeapon(playerid, WEAPON_M4, 999999); //gives the player a m4
SetPlayerHealthAndArmour(playerid, 100); //sets the players health to 100
GivePlayerMoney(playerid, 350); //gives the player money
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,2000);//sets the players weapon skill
SetPlayerPos(playerid, 959.8422, 1379.3899, 358.0047);
SetPlayerFacingAngle(playerid, 207.0);
switch(sp)
{
case 0:
{
randSpawn = random(sizeof(gRandomSpawns_LosSantos));
SetPlayerPos(playerid,
gRandomSpawns_LosSantos[randSpawn][0],
gRandomSpawns_LosSantos[randSpawn][1],
gRandomSpawns_LosSantos[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
sp++;
}
case 1:
{
randSpawn = random(sizeof(gRandomSpawns_SanFierro));
SetPlayerPos(playerid,
gRandomSpawns_SanFierro[randSpawn][0],
gRandomSpawns_SanFierro[randSpawn][1],
gRandomSpawns_SanFierro[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
sp++;
}
case 2:
{
randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
SetPlayerPos(playerid,
gRandomSpawns_LasVenturas[randSpawn][0],
gRandomSpawns_LasVenturas[randSpawn][1],
gRandomSpawns_LasVenturas[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
sp=0;
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason); //sends the death message
GivePlayerMoney(playerid, -10); //takes away 10 bucks
GivePlayerMoney(killerid, 100); //gives 100 bucks
Killz[killerid]++;
Deathz[playerid]++;
return 1;
}
public OnPlayerText(playerid, text[])
{
if((GetTickCount() - GetPVarInt(playerid, "AntiSpam")) > 1000) //if the player spammed basically
{
new string[128], name[MAX_PLAYER_NAME]; //defines the players name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s (%i): %s", name, playerid, text); //formats the message
SendClientMessageToAll(COLOR_WHITE, string); //sends the message to all
SetPVarInt(playerid, "AntiSpam", GetTickCount()); //sets the players PVar
SetPlayerChatBubble(playerid, text, COLOR_RED, 40, 5000); //sets the players chat bubble
printf(" ", string); //ptints the chat
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must wait at least 1 second before using the chat again."); //sends the antispam message
}
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(kill, 4, cmdtext);
dcmd(healme, 6, cmdtext);
dcmd(help, 4, cmdtext);
dcmd(rules, 5, cmdtext);
dcmd(cars, 4, cmdtext);
dcmd(area69, 6, cmdtext);
dcmd(shop, 4, cmdtext);
dcmd(me, 2, cmdtext);
dcmd(spin, 4, cmdtext);
dcmd(hop, 3, cmdtext);
dcmd(goto, 4, cmdtext);
dcmd(mgun, 4, cmdtext);
return 0;
}
public OnVehicleSpawn(vehicleid)
{
new i = vehicleid;
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11)
{
ChangeVehiclePaintjob(vehicleid,0); // paint job
AddVehicleComponent(vehicleid, 1035); // roof
AddVehicleComponent(vehicleid, 1079); // rim
AddVehicleComponent(vehicleid, 1037); // exhaust
AddVehicleComponent(vehicleid, 1039); // side
AddVehicleComponent(vehicleid, 1172); // front
AddVehicleComponent(vehicleid, 1146); // Spoiler
AddVehicleComponent(vehicleid, NITROX10); // Spoiler
}
else if(i == truth)
{
ChangeVehiclePaintjob(i, 0); // paint job
AddVehicleComponent(vehicleid, NITROX10); // Nitrous
}
else if(i == ccar)
{
ChangeVehiclePaintjob(vehicleid,0); // paint job
AddVehicleComponent(vehicleid, 1035); // roof
AddVehicleComponent(vehicleid, 1079); // rim
AddVehicleComponent(vehicleid, 1037); // exhaust
AddVehicleComponent(vehicleid, 1039); // side
AddVehicleComponent(vehicleid, 1172); // front
AddVehicleComponent(vehicleid, 1146); // Spoiler
AddVehicleComponent(vehicleid, NITROX10); // Nitrous
SendClientMessageToAll(0xFF0000FF, "The ChaseCar Respawned!!!"); //message
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == ccar) //if vehicleid == ccar
{
new name[MAX_PLAYER_NAME], string[44]; //defines name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s has taken the ChaseCar!",name); //formats the message
SendClientMessageToAll(0xFF0000FF, string); //sends the message
}
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
SetPlayerArmedWeapon(playerid, 0);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(vehicleid == ccar) //if vehicleid == ccar
{
new name[MAX_PLAYER_NAME], string[44]; //defines name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s has left the ChaseCar!",name); //formats the message
SendClientMessageToAll(0xFF0000FF, string); //sends the message
}
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
return 1;
}
public OnPlayerUpdate(playerid)
{
if(!IsPlayerConnected(playerid)) return 0; //if player isnt connected, return 0
// No weapons in interiors
if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO WEAPONS IN INTERIORS!"); //message
SetPlayerArmedWeapon(playerid,0); // fists
return 0; // no syncing until they change their weapon
}
}
// Don't allow minigun
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO MINIGUUNS!"); //message
Kick(playerid); //kicks the player
}
return 0;
}
//No jetpacks allowed
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO JETPACKS!"); //message
Kick(playerid); //kicks the player
}
return 0;
}
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid); //defines CurrentMenu
if(CurrentMenu == shop) //is CurrentMenu == shop
{
switch(row) //switches via row
{
case 0: //Pistol
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,22,300);
GivePlayerMoney(playerid, -2000);
ShowMenuForPlayer(shop,playerid);
}
case 1: //Slienced
{
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,23,500);
GivePlayerMoney(playerid, -1000);
ShowMenuForPlayer(shop,playerid);
}
case 2: //Deag;e
{
if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,24,150);
GivePlayerMoney(playerid,-2500);
ShowMenuForPlayer(shop,playerid);
}
case 3: //Shotugn
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,25,100);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 4: //Sawn-offs
{
if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,26,100);
GivePlayerMoney(playerid,-5000);
ShowMenuForPlayer(shop,playerid);
}
case 5: //SPAS
{
if(GetPlayerMoney(playerid) < 4000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,27,100);
GivePlayerMoney(playerid,-4000);
ShowMenuForPlayer(shop,playerid);
}
case 6: //tec9
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,32,180);
GivePlayerMoney(playerid,-3000);
ShowMenuForPlayer(shop,playerid);
}
case 7: //UZI
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,28,180);
GivePlayerMoney(playerid,-3000);
ShowMenuForPlayer(shop,playerid);
}
case 8: //SMG
{
if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,29,120);
GivePlayerMoney(playerid,-3500);
ShowMenuForPlayer(shop,playerid);
}
case 9: //AK-47
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,30,150);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 10: //M4
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,31,150);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 11: //sniper
{
if(GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,34,150);
GivePlayerMoney(playerid,-6000);
ShowMenuForPlayer(shop,playerid);
}
}
}
return 1;
}
public ccc() //public
{
for(new i=0; i < MAX_PLAYERS; i++) //loop
{
if(IsPlayerInCar(i)) //if player is in car
{
if(GetPlayerVehicleID(i) == ccar) //if player car == ccar
{
GivePlayerMoney(i, 100); //gives player money
}
}
}
}
public fixcars()
{
for(new i=0; i<MAX_VEHICLES; i++) //loop
{
if(i == ccar) //if the car is ccar
{
}
else
{
RepairVehicle(i); //repairs it
SetVehicleHealth(i, 1000); //sets the cars health
}
}
}
public msg()
{
ClearChat();
SendClientMessageToAll(COLOR_RED, "Please remember to use /help and follow the /rules!!!!!"); //message
SendClientMessageToAll(COLOR_RED, "Also, please know that this server is about %%42 done. :D THX!"); //message
}
public ttt()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11 || i == car || i == ccar || i == truth)
{
n1 = CreateObject(18648,0,0,0,0,0,0);
n2 = CreateObject(18648,0,0,0,0,0,0);
AttachObjectToVehicle(n1, i, -0.7, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(n2, i, 0.7, 0.0, -0.70, 0.0, 0.0, 0.0);
}
}
}
dcmd_healme(playerid, params[])
{
#pragma unused params
SetPlayerHealthAndArmour(playerid, 100); //sets the players health
SendClientMessage(playerid, COLOR_RED, "You have been healed!"); //sends the message
return 1;
}
dcmd_kill(playerid, params[])
{
#pragma unused params
SetPlayerHealthAndArmour(playerid, 0); //sets the players health
SendClientMessage(playerid, COLOR_RED, "You have been killed!"); //sends the message
return 1;
}
dcmd_cars(playerid, params[])
{
#pragma unused params
SetPlayerPos(playerid, -1377.9780, -103.9513, 6.0000); //sets the players position
SetPlayerFacingAngle(playerid, 1.3191); //sets the players angle
return 1;
}
dcmd_area69(playerid, params[])
{
#pragma unused params
SetPlayerPos(playerid, 214.4333, 1880.9895, 13.1879); //sets the players position
SetPlayerFacingAngle(playerid, 1.3191); //sets the players angle
return 1;
}
dcmd_me(playerid, params[])
{
new pname[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "*%s %s", pname, params);
SendClientMessageToAll(COLOR_YELLOW, str);
return 1;
}
dcmd_hop(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_YELLOW,"You need to be in a vehicle"); //vehicle message
SetVehicleVelocity(GetPlayerVehicleID(playerid), 0, 0, 5); //sets the vehicles velocity
return 1;
}
dcmd_spin(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_YELLOW,"You need to be in a vehicle"); //vehicle message
SetVehicleAngularVelocity(GetPlayerVehicleID(playerid), 0, 0, 50.0); //sets the vehicles velocity
return 1;
}
dcmd_help(playerid, params[])
{
#pragma unused params
SendClientMessage(playerid, COLOR_RED, "-------HELP-------"); //message
SendClientMessage(playerid, COLOR_RED, "COMMANDS: /help, /rules, /kill, /healme, /me, /spin, /hop, /shop"); //message
SendClientMessage(playerid, COLOR_RED, "TELEPORTS: /cars, /area69"); //message
SendClientMessage(playerid, COLOR_RED, "Cars will automatically fix themselvs"); //message
SendClientMessage(playerid, COLOR_RED, "Cars with licence plate: PARTY will tune themselvs"); //message
SendClientMessage(playerid, COLOR_RED, "If you are in the car with licence plate: CCAR you will get $200 a second."); //message
SendClientMessage(playerid, COLOR_RED, "This vehicle, CCAR, is the ChaseCar hence the CCAR."); //message
SendClientMessage(playerid, COLOR_RED, "-------HELP-------"); //message
return 1;
}
dcmd_rules(playerid, params[])
{
#pragma unused params
SendClientMessage(playerid, COLOR_RED, "-------RULES-------"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Spawnkill"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Hack"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Cheat"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Be An Asshole"); //message
SendClientMessage(playerid, COLOR_RED, "Have Fun"); //message
SendClientMessage(playerid, COLOR_RED, "-------RULES-------"); //message
return 1;
}
dcmd_goto(playerid, params[])
{
new otherplayer = strval(params); //strval
if(!IsPlayerConnected(otherplayer)) return SendClientMessage(playerid,COLOR_RED,"The player is not connected");//!connected message
Goto(playerid, otherplayer); //goto
return 1;
}
dcmd_shop(playerid, params[])
{
#pragma unused params
ShowMenuForPlayer(shop,playerid); //shows the shop menu
return 1;
}
dcmd_mgun(playerid, params[])
{
#pragma unused params
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(playerid, WEAPON_MINIGUN, 999999);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You arent admin!");
}
return 1;
}
I sometimes notice lag in the chat and always in cars. The car lag might just be me. Idk. Anyway, yeah, can you help me speed it up as much as possible? ALSO, With my updated code (just updated), i get this error:
pawn Код:
C:\Documents and Settings\Matt\Desktop\server\gamemodes\PARTY.pwn(245) : error 035: argument type mismatch (argument 3)
What should i do? THANKS!
update:
heres my updated code:
pawn Код:
//includes
#include <a_samp>
#include <minc2>
#include <mikefunc>
#include <string>
#include <defines>
#include "../include/gl_common.inc"
#include "../include/gl_spawns.inc"
#include <Dini> // This include is use for saving data's
#include <Dutils> // This include is used for some important function
#include <Dudb> // This include is used for hashing password
//forwards
forward msg();
forward fixcars();
forward ccc(); //forward ccc
forward ttt();
//pragma's
#pragma unused ret_memcpy
#pragma unused gArmySpawns
#pragma unused gMedicalSpawns
#pragma unused gPoliceSpawns
//news
new ccar; //stores the car
new total_vehicles_from_files = 0;
new mc1;
new mc2;
new mc3;
new mc4;
new mc5;
new mc6;
new mc7;
new mc8;
new mc9;
new mc10;
new mc11;
new n1;
new n2;
new Menu:shop;
new car;
new truth;
new t1;
new engine,lights,alarm,doors,bonnet,boot,objective;//This will create the engine/lights,etc varibles
new a;
new sp = 0;
new randSpawn = 0;
new Killz[MAX_PLAYERS];
new Deathz[MAX_PLAYERS];
//defines
#define savefolder "/save/%s.ini"
#define VEHICLE_PARAMS_UNSET -1 //This sets if your using the params
#define VEHICLE_PARAMS_OFF 0 //This will set your params OFF
#define VEHICLE_PARAMS_ON 1 //This will set your params ON
#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
main()
{
print("Party Loaded!");
}
public OnGameModeInit()
{
//tickcount
new StartTick, StopTick;
StartTick = GetTickCount();
//anti de-amx
AntiDeAMX(); //anti de-amx
//player markers
ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
//stunt bonus
EnableStuntBonusForAll(1);
//weather
SetWeather(2);
//game mode text
SetGameModeText("PARTY");
//player classes
AddPlayerClass(299, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(1, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(294, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(291, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(292, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
AddPlayerClass(286, 1565.5916, -1358.9417, 330.0576, 80.5222, 0, 0, 0, 0, 0, 0);
//cars from files
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/mm.txt");
printf("Total vehicles from files: %d",total_vehicles_from_files);
//cars
mc1 = AddStaticVehicle(562, 1797.8432,-1301.8840,13.5087, 357.3673, 7, 7);
mc2 = AddStaticVehicle(562, 1827.1270, -1278.4496, 131.7344, 356.2112, 13, 13); // mc2
mc3 = AddStaticVehicle(562,-1380.2383,-60.9142,5.8340,359.8493,122,1); // mc3
mc4 = AddStaticVehicle(562,-1372.3546,-61.3774,5.8342,0.4200,122,1); // mc4
mc5 = AddStaticVehicle(562,-1363.7715,-61.5484,5.8340,359.0742,122,1); // mc5
mc6 = AddStaticVehicle(562,-1337.0522,-67.5196,5.8342,270.4945,122,1); // mc6
mc7 = AddStaticVehicle(562,-1336.8188,-79.5637,5.8341,269.1048,122,1); // mc7
mc8 = AddStaticVehicle(562,-1386.3369,-71.5868,5.8337,89.8659,122,1); // mc8
mc9 = AddStaticVehicle(562,-1369.8386,-88.1138,5.8341,267.1925,122,1); // mc9
mc10 = AddStaticVehicle(562,-1369.6626,-96.2473,5.8342,269.5889,122,1); // mc10
mc11 = AddStaticVehicle(562,-1371.1698,-120.6941,5.8340,270.9391,122,1); // mc11
ccar = AddStaticVehicle(562,2324.3391,-1270.5941,22.1586,180.6980,122,1); // ccar
car = AddStaticVehicle(603,426.9448,2493.6545,17.0369,88.2769,21,36); // car
truth = AddStaticVehicle(483,1834.5129,-1281.0243,131.3930,0.9327,13,13); // truth
//menus
shop = CreateMenu("Shop", 2, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Pistols");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Shotguns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Sub Machine guns");
AddMenuItem(shop, 0, "Machine guns");
AddMenuItem(shop, 0, "Machine guns");
AddMenuItem(shop, 0, "Rifles");
AddMenuItem(shop, 1, "9mm($2000)");
AddMenuItem(shop, 1, "Silenced pistol($1000)");
AddMenuItem(shop, 1, "Desert Eagle($2500)");
AddMenuItem(shop, 1, "Shotgun($2000)");
AddMenuItem(shop, 1, "Sawn-Offs($5000)");
AddMenuItem(shop, 1, "SPAS($4000)");
AddMenuItem(shop, 1, "Tec9($3000)");
AddMenuItem(shop, 1, "UZI($3000)");
AddMenuItem(shop, 1, "SMG($3500)");
AddMenuItem(shop, 1, "AK-47($2000)");
AddMenuItem(shop, 1, "M4($2000)");
AddMenuItem(shop, 1, "Sniper($6000)");
//CAR ENGINE/LIGHTS
ManualVehicleEngineAndLights();
//rcon commands
SendRconCommand("reloadfs ls_elevator");
//car licence plate loop
for(new i=0; i<MAX_VEHICLES; i++)
{
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11)
{
SetVehicleNumberPlate(i, "PARTY");
SetVehicleToRespawn(i);
}
else if(i == car)
{
SetVehicleNumberPlate(i, "*LOL*");
SetVehicleToRespawn(i);
}
else if(i == truth)
{
SetVehicleNumberPlate(i, "HTURT");
SetVehicleToRespawn(i);
}
else if(i == ccar)
{
SetVehicleNumberPlate(i, "CCAR"); //sets the cars number plate
SetVehicleToRespawn(i); //respawns it (VERY IMPORTANT!!!)
}
else
{
SetVehicleToRespawn(i);
}
}
//timers
SetTimer("ccc", 500, 1); //sets the timer
SetTimer("fixcars", 5000, 1);
SetTimer("msg", 60 * 30000, 1);
SetTimer("ttt", 1000, false);
for(new i=0; i<MAX_OBJECTS; i++)
{
if(IsValidObject(i))
{
a++;
}
}
printf("Unstreamed Objects: %i", a);
//tickcount
StopTick = GetTickCount();
t1 = StopTick - StartTick;
printf("GameMode Loaded In: %i ms!", t1);
return 1;
}
public OnGameModeExit()
{
//tickcount
new StartTick, StopTick;
StartTick = GetTickCount();
Vclear(); //clears all cars
DestroyVehicle(ccar); //destroys the car
DestroyAllObjects(); //destroys all objects
a = 0; //a = 0
AntiDeAMX(); //anti de-amx
//tickcount
StopTick = GetTickCount();
t1 = StopTick - StartTick;
printf("GameMode UnLoaded In: %i ms!", t1);
return 1;
}
public OnPlayerConnect(playerid)
{
CountPlayersOnline(); //counts and prints the # of players online
SendConnectMessage(playerid); //sends the connect message
UsePlayerPedAnims(); //use player ped anims
GameTextForPlayer(playerid,"~R~PARTY TIME",3000,4); //game text
SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
AntiDeAMX(); //anti de-amx
new pname[128];
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), savefolder,pname);
new IP[16];
GetPlayerIp(playerid, IP, sizeof(IP));
if(!dini_Exists(file))
{
dini_Create(file);
dini_Set(file, "Ip", IP);
new rand = random(99999999999);
SetPVarInt(playerid, "##", rand);
dini_IntSet(file, "###", rand);
dini_IntSet(file, "Score", 0);
dini_IntSet(file, "Money", 0);
dini_IntSet(file, "Kills", Killz[playerid]);
dini_IntSet(file, "Deaths", Deathz[playerid]);
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
if(dini_Int(file, "###") == GetPVarInt(playerid, "##"))
{
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
new string[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "You arent the real %s, GTFO!", name);
SendClientMessage(playerid, COLOR_RED, string);
Kick(playerid);
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SendDisconnectMessage(playerid, reason); //disconnect message
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
AntiDeAMX(); //anti de-amx
new pname[128];
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), savefolder,pname);
if(!dini_Exists(file))
{
}
else
{
dini_IntSet(file, "Score", GetPlayerScore(playerid));
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
dini_IntSet(file, "Kills", Killz[playerid]);
dini_IntSet(file, "Deaths", Deathz[playerid]);
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerFacingAngle(playerid, 80.5222); //sets the players angle
SetPlayerPos(playerid, 1565.5916, -1358.9417, 330.0576); //sets the players position
SetPlayerCameraPos(playerid, 1554.3995, -1357.9331, 329.4581); //sets the camera position
SetPlayerCameraLookAt(playerid, 1565.5916, -1358.9417, 330.0576); //makes the camera look at the player
AntiDeAMX(); //anti de-amx
return 1;
}
public OnPlayerSpawn(playerid)
{
SetWeather(2); //sets the weather
GivePlayerWeapon(playerid, PARACHUTE, 1); //gives the player a parachute
GivePlayerWeapon(playerid, WEAPON_MP5, 999999); //gives the player a mp5
GivePlayerWeapon(playerid, WEAPON_M4, 999999); //gives the player a m4
SetPlayerHealthAndArmour(playerid, 100); //sets the players health to 100
GivePlayerMoney(playerid, 350); //gives the player money
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,2000); //sets the players weapon skill
SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,2000);//sets the players weapon skill
SetPlayerPos(playerid, 959.8422, 1379.3899, 358.0047);
SetPlayerFacingAngle(playerid, 207.0);
switch(sp)
{
case 0:
{
randSpawn = random(sizeof(gRandomSpawns_LosSantos));
SetPlayerPos(playerid,
gRandomSpawns_LosSantos[randSpawn][0],
gRandomSpawns_LosSantos[randSpawn][1],
gRandomSpawns_LosSantos[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
sp++;
}
case 1:
{
randSpawn = random(sizeof(gRandomSpawns_SanFierro));
SetPlayerPos(playerid,
gRandomSpawns_SanFierro[randSpawn][0],
gRandomSpawns_SanFierro[randSpawn][1],
gRandomSpawns_SanFierro[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
sp++;
}
case 2:
{
randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
SetPlayerPos(playerid,
gRandomSpawns_LasVenturas[randSpawn][0],
gRandomSpawns_LasVenturas[randSpawn][1],
gRandomSpawns_LasVenturas[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
sp=0;
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason); //sends the death message
GivePlayerMoney(playerid, -10); //takes away 10 bucks
GivePlayerMoney(killerid, 100); //gives 100 bucks
Killz[killerid]++;
Deathz[playerid]++;
return 1;
}
public OnPlayerText(playerid, text[])
{
if((GetTickCount() - GetPVarInt(playerid, "AntiSpam")) > 1000) //if the player spammed basically
{
new string[128], name[MAX_PLAYER_NAME]; //defines the players name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s (%i): %s", name, playerid, text); //formats the message
SendClientMessageToAll(COLOR_WHITE, string); //sends the message to all
SetPVarInt(playerid, "AntiSpam", GetTickCount()); //sets the players PVar
SetPlayerChatBubble(playerid, text, COLOR_RED, 40, 5000); //sets the players chat bubble
printf(" ", string); //ptints the chat
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must wait at least 1 second before using the chat again."); //sends the antispam message
}
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(kill, 4, cmdtext);
dcmd(healme, 6, cmdtext);
dcmd(help, 4, cmdtext);
dcmd(rules, 5, cmdtext);
dcmd(cars, 4, cmdtext);
dcmd(area69, 6, cmdtext);
dcmd(shop, 4, cmdtext);
dcmd(me, 2, cmdtext);
dcmd(spin, 4, cmdtext);
dcmd(hop, 3, cmdtext);
dcmd(goto, 4, cmdtext);
dcmd(mgun, 4, cmdtext);
return 0;
}
public OnVehicleSpawn(vehicleid)
{
new i = vehicleid;
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11)
{
ChangeVehiclePaintjob(vehicleid,0); // paint job
AddVehicleComponent(vehicleid, 1035); // roof
AddVehicleComponent(vehicleid, 1079); // rim
AddVehicleComponent(vehicleid, 1037); // exhaust
AddVehicleComponent(vehicleid, 1039); // side
AddVehicleComponent(vehicleid, 1172); // front
AddVehicleComponent(vehicleid, 1146); // Spoiler
AddVehicleComponent(vehicleid, NITROX10); // Spoiler
}
else if(i == truth)
{
ChangeVehiclePaintjob(i, 0); // paint job
AddVehicleComponent(vehicleid, NITROX10); // Nitrous
}
else if(i == ccar)
{
ChangeVehiclePaintjob(vehicleid,0); // paint job
AddVehicleComponent(vehicleid, 1035); // roof
AddVehicleComponent(vehicleid, 1079); // rim
AddVehicleComponent(vehicleid, 1037); // exhaust
AddVehicleComponent(vehicleid, 1039); // side
AddVehicleComponent(vehicleid, 1172); // front
AddVehicleComponent(vehicleid, 1146); // Spoiler
AddVehicleComponent(vehicleid, NITROX10); // Nitrous
SendClientMessageToAll(0xFF0000FF, "The ChaseCar Respawned!!!"); //message
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == ccar) //if vehicleid == ccar
{
new name[MAX_PLAYER_NAME], string[44]; //defines name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s has taken the ChaseCar!",name); //formats the message
SendClientMessageToAll(0xFF0000FF, string); //sends the message
}
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
SetPlayerArmedWeapon(playerid, 0);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(vehicleid == ccar) //if vehicleid == ccar
{
new name[MAX_PLAYER_NAME], string[44]; //defines name and string
GetPlayerName(playerid, name, sizeof(name)); //gets the players name
format(string, sizeof(string), "%s has left the ChaseCar!",name); //formats the message
SendClientMessageToAll(0xFF0000FF, string); //sends the message
}
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
return 1;
}
public OnPlayerUpdate(playerid)
{
if(!IsPlayerConnected(playerid)) return 0; //if player isnt connected, return 0
// No weapons in interiors
if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO WEAPONS IN INTERIORS!"); //message
SetPlayerArmedWeapon(playerid,0); // fists
return 0; // no syncing until they change their weapon
}
}
// Don't allow minigun
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO MINIGUUNS!"); //message
Kick(playerid); //kicks the player
}
return 0;
}
//No jetpacks allowed
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
{
if(!IsPlayerAdmin(playerid)) //is player admin?
{
SendClientMessage(playerid, COLOR_RED, "NO JETPACKS!"); //message
Kick(playerid); //kicks the player
}
return 0;
}
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid); //defines CurrentMenu
if(CurrentMenu == shop) //is CurrentMenu == shop
{
switch(row) //switches via row
{
case 0: //Pistol
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,22,300);
GivePlayerMoney(playerid, -2000);
ShowMenuForPlayer(shop,playerid);
}
case 1: //Slienced
{
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,23,500);
GivePlayerMoney(playerid, -1000);
ShowMenuForPlayer(shop,playerid);
}
case 2: //Deag;e
{
if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,24,150);
GivePlayerMoney(playerid,-2500);
ShowMenuForPlayer(shop,playerid);
}
case 3: //Shotugn
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,25,100);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 4: //Sawn-offs
{
if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,26,100);
GivePlayerMoney(playerid,-5000);
ShowMenuForPlayer(shop,playerid);
}
case 5: //SPAS
{
if(GetPlayerMoney(playerid) < 4000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,27,100);
GivePlayerMoney(playerid,-4000);
ShowMenuForPlayer(shop,playerid);
}
case 6: //tec9
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,32,180);
GivePlayerMoney(playerid,-3000);
ShowMenuForPlayer(shop,playerid);
}
case 7: //UZI
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,28,180);
GivePlayerMoney(playerid,-3000);
ShowMenuForPlayer(shop,playerid);
}
case 8: //SMG
{
if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,29,120);
GivePlayerMoney(playerid,-3500);
ShowMenuForPlayer(shop,playerid);
}
case 9: //AK-47
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,30,150);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 10: //M4
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,31,150);
GivePlayerMoney(playerid,-2000);
ShowMenuForPlayer(shop,playerid);
}
case 11: //sniper
{
if(GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash.");
GivePlayerWeapon(playerid,34,150);
GivePlayerMoney(playerid,-6000);
ShowMenuForPlayer(shop,playerid);
}
}
}
return 1;
}
public ccc() //public
{
for(new i=0; i < MAX_PLAYERS; i++) //loop
{
if(IsPlayerInCar(i)) //if player is in car
{
if(GetPlayerVehicleID(i) == ccar) //if player car == ccar
{
GivePlayerMoney(i, 100); //gives player money
}
}
}
}
public fixcars()
{
for(new i=0; i<MAX_VEHICLES; i++) //loop
{
if(i == ccar) //if the car is ccar
{
}
else
{
RepairVehicle(i); //repairs it
SetVehicleHealth(i, 1000); //sets the cars health
}
}
}
public msg()
{
ClearChat();
SendClientMessageToAll(COLOR_RED, "Please remember to use /help and follow the /rules!!!!!"); //message
SendClientMessageToAll(COLOR_RED, "Also, please know that this server is about %%42 done. :D THX!"); //message
}
public ttt()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if(i == mc1 || i == mc2 || i == mc3 || i == mc4 || i == mc4 || i == mc5 || i == mc6 || i == mc7 || i == mc8 || i == mc9 || i == mc10 || i == mc11 || i == car || i == ccar || i == truth)
{
n1 = CreateObject(18648,0,0,0,0,0,0);
n2 = CreateObject(18648,0,0,0,0,0,0);
AttachObjectToVehicle(n1, i, -0.7, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(n2, i, 0.7, 0.0, -0.70, 0.0, 0.0, 0.0);
}
}
}
dcmd_healme(playerid, params[])
{
#pragma unused params
SetPlayerHealthAndArmour(playerid, 100); //sets the players health
SendClientMessage(playerid, COLOR_RED, "You have been healed!"); //sends the message
return 1;
}
dcmd_kill(playerid, params[])
{
#pragma unused params
SetPlayerHealthAndArmour(playerid, 0); //sets the players health
SendClientMessage(playerid, COLOR_RED, "You have been killed!"); //sends the message
return 1;
}
dcmd_cars(playerid, params[])
{
#pragma unused params
SetPlayerPos(playerid, -1377.9780, -103.9513, 6.0000); //sets the players position
SetPlayerFacingAngle(playerid, 1.3191); //sets the players angle
return 1;
}
dcmd_area69(playerid, params[])
{
#pragma unused params
SetPlayerPos(playerid, 214.4333, 1880.9895, 13.1879); //sets the players position
SetPlayerFacingAngle(playerid, 1.3191); //sets the players angle
return 1;
}
dcmd_me(playerid, params[])
{
new pname[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "*%s %s", pname, params);
SendClientMessageToAll(COLOR_YELLOW, str);
return 1;
}
dcmd_hop(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_YELLOW,"You need to be in a vehicle"); //vehicle message
SetVehicleVelocity(GetPlayerVehicleID(playerid), 0, 0, 5); //sets the vehicles velocity
return 1;
}
dcmd_spin(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_YELLOW,"You need to be in a vehicle"); //vehicle message
SetVehicleAngularVelocity(GetPlayerVehicleID(playerid), 0, 0, 50.0); //sets the vehicles velocity
return 1;
}
dcmd_help(playerid, params[])
{
#pragma unused params
SendClientMessage(playerid, COLOR_RED, "-------HELP-------"); //message
SendClientMessage(playerid, COLOR_RED, "COMMANDS: /help, /rules, /kill, /healme, /me, /spin, /hop, /shop"); //message
SendClientMessage(playerid, COLOR_RED, "TELEPORTS: /cars, /area69"); //message
SendClientMessage(playerid, COLOR_RED, "Cars will automatically fix themselvs"); //message
SendClientMessage(playerid, COLOR_RED, "Cars with licence plate: PARTY will tune themselvs"); //message
SendClientMessage(playerid, COLOR_RED, "If you are in the car with licence plate: CCAR you will get $200 a second."); //message
SendClientMessage(playerid, COLOR_RED, "This vehicle, CCAR, is the ChaseCar hence the CCAR."); //message
SendClientMessage(playerid, COLOR_RED, "-------HELP-------"); //message
return 1;
}
dcmd_rules(playerid, params[])
{
#pragma unused params
SendClientMessage(playerid, COLOR_RED, "-------RULES-------"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Spawnkill"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Hack"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Cheat"); //message
SendClientMessage(playerid, COLOR_RED, "Do Not Be An Asshole"); //message
SendClientMessage(playerid, COLOR_RED, "Have Fun"); //message
SendClientMessage(playerid, COLOR_RED, "-------RULES-------"); //message
return 1;
}
dcmd_goto(playerid, params[])
{
new otherplayer = strval(params); //strval
if(!IsPlayerConnected(otherplayer)) return SendClientMessage(playerid,COLOR_RED,"The player is not connected");//!connected message
Goto(playerid, otherplayer); //goto
return 1;
}
dcmd_shop(playerid, params[])
{
#pragma unused params
ShowMenuForPlayer(shop,playerid); //shows the shop menu
return 1;
}
dcmd_mgun(playerid, params[])
{
#pragma unused params
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(playerid, WEAPON_MINIGUN, 999999);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You arent admin!");
}
return 1;
}
stock AntiDeAMX()
{
new xyz[][] =
{
"Muha",
"lol xD",
"suk it!",
"u lose",
"i win",
"go anti-deamx"
};
#pragma unused xyz
}
only, it doesnt SAVE the kills and deaths... what should i do?
Re: Script Optimization? -
sciman001 - 16.04.2011
ok, i updated the code and now, i have an error... can someone please reply asap? THX! Oh, and i PROMIDE that this be my LAST BUMP EVER! Sorry to bump though but its urgent.
Re: Script Optimization? -
admantis - 16.04.2011
All you can do is change from Dini to Fini or y_Ini and from dcmd to zcmd or ycmd! However your code is a bit messy, doubt that will affect speed anyways!
What is the line of the error?
Re: Script Optimization? -
sciman001 - 16.04.2011
245. it says arguement 3 is mismatched. other than that, i guess i'll hust keep coding. I lost my origional code so i had to remake it.
Anyway, yeah. So, what do you think i can do about line 245? idk what else i can do instead of pvar int...
Re: Script Optimization? -
admantis - 16.04.2011
Show the line
Re: Script Optimization? -
sciman001 - 16.04.2011
kk.
under OnPlayerConnect
pawn Код:
SetPVarInt(playerid, "Ip", IP);
it says that arguement 3 is mismatched. heres the whole onplayerconnect:
pawn Код:
public OnPlayerConnect(playerid)
{
CountPlayersOnline(); //counts and prints the # of players online
SendConnectMessage(playerid); //sends the connect message
UsePlayerPedAnims(); //use player ped anims
GameTextForPlayer(playerid,"~R~PARTY TIME",3000,4); //game text
SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
AntiDeAMX(); //anti de-amx
new pname[128];
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), savefolder,pname);
new IP[16];
GetPlayerIp(playerid, IP, sizeof(IP));
if(!dini_Exists(file))
{
dini_Create(file);
dini_Set(file, "Ip", IP);
SetPVarInt(playerid, "Ip", IP);
dini_IntSet(file, "Score", 0);
dini_IntSet(file, "Money", 0);
dini_IntSet(file, "Kills", Killz[playerid]);
dini_IntSet(file, "Deaths", Deathz[playerid]);
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
new tmp;
tmp = dini_Int(file, "Ip");
if(tmp == GetPVarInt(playerid, "IP"))
{
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
}
else
{
new string[128];
format(string, sizeof(string), "YOu arent the real %s, GTFO!", pname);
SendClientMessage(playerid, COLOR_RED, string);
Kick(playerid);
}
}
return 1;
}
that code is a tiny bit updated.
Re: Script Optimization? -
admantis - 16.04.2011
Of course why! An IP address is a string, not an integer! Your dini_Int and SetPVarInt (GetPVarInt) are wrong for that reason.
https://sampwiki.blast.hk/wiki/SetPVarString
https://sampwiki.blast.hk/wiki/GetPVarString
Re: Script Optimization? -
sciman001 - 16.04.2011
updated...... read the absolute first thing.. not comment.. the actual thread. please help!
Re: Script Optimization? -
Donya - 16.04.2011
as said,
dini to y_ini or mysql
dcmd to zcmd or ycmd
pawn Код:
SendDisconnectMessage(playerid, reason); //disconnect message
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
you sending 2 disconnect messages?
Re: Script Optimization? -
sciman001 - 16.04.2011
they're a diffrent kinda message.