Script Optimization?
#1

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?
Reply
#2

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.
Reply
#3

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?
Reply
#4

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...
Reply
#5

Show the line
Reply
#6

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.
Reply
#7

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
Reply
#8

updated...... read the absolute first thing.. not comment.. the actual thread. please help!
Reply
#9

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?
Reply
#10

they're a diffrent kinda message.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)