killtimer errors..
#1

why when i try to kill certain timers i get this error?

pawn Код:
C:\DOCUME~1\Karim\MYDOCU~1\GRANDT~1\SA-MPS~1\FILTER~1\alcohol.pwn(207) : error 076: syntax error in the expression, or invalid function call
C:\DOCUME~1\Karim\MYDOCU~1\GRANDT~1\SA-MPS~1\FILTER~1\alcohol.pwn(208) : error 076: syntax error in the expression, or invalid function call
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Reply
#2

Show line 207 & 208
Reply
#3

KillTimer(CheckPointCheck);
KillTimer(BloodAlcoholLevel);
Reply
#4

Show us CheckPointCheck and BloodAlcoholLevel.
Reply
#5

im using the fs drunklevel thing..

pawn Код:
public CheckPointCheck()
{
    for(new a = 0; a < MAX_PLAYERS; a++)
    {
        if(IsPlayerConnected(a) == 0) continue;

        new Float:X, Float:Y, Float:Z, radius = 8, disable;
        GetPlayerPos(a, X, Y, Z);
       
        for(new b = 0; b < 11; b++)
        {
            if((X - radius < CPP[b][0] && X + radius > CPP[b][0]) && (Y - radius < CPP[b][1] && Y + radius > CPP[b][1]) && (Z - radius < CPP[b][2] && Z + radius > CPP[b][2]))
            {
                disable = 1;
           
                if(PlayerInfo[a][CheckSet] == 1) continue;
                PlayerInfo[a][CheckSet] = 1;

                SetPlayerCheckpoint(a, CPP[b][0], CPP[b][1], CPP[b][2], 2);
            }
        }

        if(disable == 0)
        {
            PlayerInfo[a][CheckSet] = 0;
            DisablePlayerCheckpoint(a);
        }
    }
}

public BloodAlcoholLevel()
{
    new Float:DrunkFloatValue;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PlayerInfo[i][DrinkingType] == 7)
        {
            SetPlayerHealth(i, 0);
            continue;
        }
   
        if(GetPlayerDrunkLevel(i) >= 50000)
        {
            ApplyAnimation(i,"PARACHUTE", "FALL_skyDive_DIE", 4.1, 0, 1, 1, 1, 1);
            PlayerInfo[i][DrinkingType] = 7;
            continue;
        }

        if(IsPlayerConnected(i) == 0) continue;
        TextDrawHideForPlayer(i, Menu5);
       
        if(GetPlayerDrunkLevel(i) > 0)
        {
            SetPlayerDrunkLevel(i, GetPlayerDrunkLevel(i) - 200);
            DrunkFloatValue = GetPlayerDrunkLevel(i);
       
            new string[128];
            format(string, sizeof(string), "~w~Blood Alcohol Level: ~w~%0.2f~n~~w~0.40 means death!", DrunkFloatValue / 50000 / 2.5);
            TextDrawSetString(Menu5, string);
            TextDrawShowForPlayer(i, Menu5);
        }

        if(GetPlayerDrunkLevel(i) > 40000) if(random(20) == 0) ApplyAnimation(i, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1);
    }
}
Reply
#6

You can 'kill' a public.
You need to asign the Timer to a variable to give an ID to it.
Then destroy the ID of that timer.

Example:
Код:
new
       Timer1
;
Timer1 = SetTimer("BloodAlcoholLevel", 1000, true);
Then to kill:
Код:
KillTimer(Timer1);
Reply
#7

this is already there.

SetTimer("CheckPointCheck", 500, 1);
SetTimer("BloodAlcoholLevel", 1000, 1);

pawn Код:
/* Zezombia
   Alcohol Script */


#include <a_samp>

#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) //Created by ****** (I think...)

forward CheckDrinkCount(playerid);
forward CheckPointCheck();
forward BloodAlcoholLevel();

new Text:Menu, Text:Menu2, Text:Menu3, Text:Menu4, Text:Menu5;

enum pInfo
{
    InCheckpoint,
    CheckSet,
    DrinkingCount,
    DrinkingType
}

new PlayerInfo[MAX_PLAYERS][pInfo];

//Check Point Positions (Bars)
new Float:CPP[11][3] =
{
    {1955.3748, 1017.6965, 992.4688},
    {-2653.1204, 1410.2084, 906.2734},
    {499.9641, -20.6701, 1000.6797},
    {498.4640, -76.0254, 998.7578},
    {-224.7854, 1403.8903, 27.7734},
    {498.4646, -76.0377, 998.7578},
    {499.9659, -20.6998, 1000.6797},
    {499.9659, -20.6629, 1000.6797},
    {498.4817, -76.0398, 998.7578},
    {1955.3748, 1017.6965, 992.4688},
    {2199.3247, 1603.7456, 1005.0625}
};

public OnFilterScriptInit()
{
    SetTimer("CheckPointCheck", 500, 1);
    SetTimer("BloodAlcoholLevel", 1000, 1);
   
    //Textdraw Beverage Menu
    Menu = TextDrawCreate(50, 150, "~r~Beverage Menu~n~~n~~n~~n~~n~~n~");
    TextDrawUseBox(Menu, 1);
    TextDrawFont(Menu, 1);
    TextDrawLetterSize(Menu, 0.30, 1.25);
    TextDrawTextSize(Menu, 200, 200);
    TextDrawBoxColor(Menu, 0x00000085);
    TextDrawColor(Menu, 0xFFFFFFFF);
    TextDrawSetOutline(Menu, 1);
    TextDrawSetShadow(Menu, 0);
    TextDrawSetProportional(Menu, 1);
   
    Menu2 = TextDrawCreate(50, 166, "~w~1) Beer~n~2) Wine~n~3) Champagne~n~4) Brandy~n~5) Rum~n~6) Whiskey");
    TextDrawFont(Menu2, 1);
    TextDrawLetterSize(Menu2, 0.25, 1);
    TextDrawTextSize(Menu2, 200, 200);
    TextDrawColor(Menu2, 0xFFFFFFFF);
    TextDrawSetOutline(Menu2, 1);
    TextDrawSetShadow(Menu2, 0);
    TextDrawSetProportional(Menu2, 1);
   
    Menu3 = TextDrawCreate(123, 166, "~b~5%~n~15%~n~20%~n~30%~n~40%~n~55%");
    TextDrawFont(Menu3, 1);
    TextDrawLetterSize(Menu3, 0.25, 1);
    TextDrawTextSize(Menu3, 200, 200);
    TextDrawColor(Menu3, 0xFFFFFFFF);
    TextDrawSetOutline(Menu3, 1);
    TextDrawSetShadow(Menu3, 0);
    TextDrawSetProportional(Menu3, 1);
   
    Menu4 = TextDrawCreate(160, 166, "~y~$5~n~$10~n~$15~n~$20~n~$25~n~$30");
    TextDrawFont(Menu4, 1);
    TextDrawLetterSize(Menu4, 0.25, 1);
    TextDrawTextSize(Menu4, 200, 200);
    TextDrawColor(Menu4, 0xFFFFFFFF);
    TextDrawSetOutline(Menu4, 1);
    TextDrawSetShadow(Menu4, 0);
    TextDrawSetProportional(Menu4, 1);
   
    //Textdraw Blood Alcohol Level
    Menu5 = TextDrawCreate(500, 420, "~w~Blood Alcohol Level: ~w~0.0%~n~~w~0.40% means death!");
    TextDrawUseBox(Menu5, 1);
    TextDrawFont(Menu5, 1);
    TextDrawLetterSize(Menu5, 0.2, 0.75);
    TextDrawTextSize(Menu5, 600, 200);
    TextDrawBoxColor(Menu5, 0x00000085);
    TextDrawColor(Menu5, 0xFFFFFFFF);
    TextDrawSetOutline(Menu5, 1);
    TextDrawSetShadow(Menu5, 0);
    TextDrawSetProportional(Menu5, 1);
    return 1;
}

public OnFilterScriptExit()
{
    TextDrawDestroy(Menu);
    TextDrawDestroy(Menu2);
    TextDrawDestroy(Menu3);
    TextDrawDestroy(Menu4);
    TextDrawDestroy(Menu5);
}

public OnPlayerConnect(playerid)
{
    PlayerInfo[playerid][InCheckpoint] = 0;
    PlayerInfo[playerid][DrinkingCount] = 0;
    PlayerInfo[playerid][DrinkingType] = 0;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerInfo[playerid][InCheckpoint] = 0;
    PlayerInfo[playerid][DrinkingCount] = 0;
    PlayerInfo[playerid][DrinkingType] = 0;
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(PlayerInfo[playerid][InCheckpoint] == 0) return 1;
   
    if(strval(text) == 1 && GetPlayerMoney(playerid) < 5) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
    if(strval(text) == 2 && GetPlayerMoney(playerid) < 10) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
    if(strval(text) == 3 && GetPlayerMoney(playerid) < 15) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
    if(strval(text) == 4 && GetPlayerMoney(playerid) < 20) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
    if(strval(text) == 5 && GetPlayerMoney(playerid) < 25) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
    if(strval(text) == 6 && GetPlayerMoney(playerid) < 30) return PlayerPlaySound(playerid, 1055, 0, 0, 0);
   
    if(strval(text) == 1)
    {
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
        PlayerInfo[playerid][DrinkingType] = strval(text);
        PlayerInfo[playerid][DrinkingCount] = 3;
        GivePlayerMoney(playerid, -10);
        PlayerPlaySound(playerid, 1054, 0, 0, 0);
        return 0;
    }
    else if(strval(text) > 1 && strval(text) < 7)
    {
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
        PlayerInfo[playerid][DrinkingType] = strval(text);
        PlayerInfo[playerid][DrinkingCount] = 3;
        if(strval(text) == 2) GivePlayerMoney(playerid, -10);
        if(strval(text) == 3) GivePlayerMoney(playerid, -15);
        if(strval(text) == 4) GivePlayerMoney(playerid, -20);
        if(strval(text) == 5) GivePlayerMoney(playerid, -25);
        if(strval(text) == 6) GivePlayerMoney(playerid, -30);
        PlayerPlaySound(playerid, 1054, 0, 0, 0);
        return 0;
    }
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    PlayerInfo[playerid][InCheckpoint] = 1;
   
    if(PlayerInfo[playerid][CheckSet])
    {
        TextDrawShowForPlayer(playerid, Menu);
        TextDrawShowForPlayer(playerid, Menu2);
        TextDrawShowForPlayer(playerid, Menu3);
        TextDrawShowForPlayer(playerid, Menu4);
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_FIRE) && PlayerInfo[playerid][DrinkingCount] != 0)
    {
        if(PlayerInfo[playerid][DrinkingType] == 1) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 1000);
        if(PlayerInfo[playerid][DrinkingType] == 2) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 3000);
        if(PlayerInfo[playerid][DrinkingType] == 3) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 4000);
        if(PlayerInfo[playerid][DrinkingType] == 4) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 6000);
        if(PlayerInfo[playerid][DrinkingType] == 5) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 8000);
        if(PlayerInfo[playerid][DrinkingType] == 6) SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + 11000);

        PlayerInfo[playerid][DrinkingCount]--;
        SetTimerEx("CheckDrinkCount", 1000, 0, "i", playerid);
    }
}

public OnPlayerLeaveCheckpoint(playerid)
{
    PlayerInfo[playerid][InCheckpoint] = 0;

    TextDrawHideForPlayer(playerid, Menu);
    TextDrawHideForPlayer(playerid, Menu2);
    TextDrawHideForPlayer(playerid, Menu3);
    TextDrawHideForPlayer(playerid, Menu4);
    return 1;
}

public OnPlayerDeath(playerid)
{
    TextDrawHideForPlayer(playerid, Menu);
    TextDrawHideForPlayer(playerid, Menu2);
    TextDrawHideForPlayer(playerid, Menu3);
    TextDrawHideForPlayer(playerid, Menu4);
    KillTimer(CheckPointCheck);
    KillTimer(BloodAlcoholLevel);
    return 1;
}

public CheckDrinkCount(playerid)
{
    if(PlayerInfo[playerid][DrinkingCount] <= 0)
    {
        PlayerInfo[playerid][DrinkingCount] = 0;
        PlayerInfo[playerid][DrinkingType] = 0;

        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
    }
}

public CheckPointCheck()
{
    for(new a = 0; a < MAX_PLAYERS; a++)
    {
        if(IsPlayerConnected(a) == 0) continue;

        new Float:X, Float:Y, Float:Z, radius = 8, disable;
        GetPlayerPos(a, X, Y, Z);
       
        for(new b = 0; b < 11; b++)
        {
            if((X - radius < CPP[b][0] && X + radius > CPP[b][0]) && (Y - radius < CPP[b][1] && Y + radius > CPP[b][1]) && (Z - radius < CPP[b][2] && Z + radius > CPP[b][2]))
            {
                disable = 1;
           
                if(PlayerInfo[a][CheckSet] == 1) continue;
                PlayerInfo[a][CheckSet] = 1;

                SetPlayerCheckpoint(a, CPP[b][0], CPP[b][1], CPP[b][2], 2);
            }
        }

        if(disable == 0)
        {
            PlayerInfo[a][CheckSet] = 0;
            DisablePlayerCheckpoint(a);
        }
    }
}

public BloodAlcoholLevel()
{
    new Float:DrunkFloatValue;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PlayerInfo[i][DrinkingType] == 7)
        {
            SetPlayerHealth(i, 0);
            continue;
        }
   
        if(GetPlayerDrunkLevel(i) >= 50000)
        {
            ApplyAnimation(i,"PARACHUTE", "FALL_skyDive_DIE", 4.1, 0, 1, 1, 1, 1);
            PlayerInfo[i][DrinkingType] = 7;
            continue;
        }

        if(IsPlayerConnected(i) == 0) continue;
        TextDrawHideForPlayer(i, Menu5);
       
        if(GetPlayerDrunkLevel(i) > 0)
        {
            SetPlayerDrunkLevel(i, GetPlayerDrunkLevel(i) - 200);
            DrunkFloatValue = GetPlayerDrunkLevel(i);
       
            new string[128];
            format(string, sizeof(string), "~w~Blood Alcohol Level: ~w~%0.2f~n~~w~0.40 means death!", DrunkFloatValue / 50000 / 2.5);
            TextDrawSetString(Menu5, string);
            TextDrawShowForPlayer(i, Menu5);
        }

        if(GetPlayerDrunkLevel(i) > 40000) if(random(20) == 0) ApplyAnimation(i, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1);
    }
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)