Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Айболит
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.05.2014
    Сообщений
    133
    Репутация:
    1 ±

    Как можно реализовать.

    Такое дело: Вообщем сделал тир, при попадание в объект, через 30 секунд удадаляються все объекты, и становятся заново, так как альтернативы я не нашел, по восстановлению объектов. Тут такое дело: Если попадать в каждую бутылку, будет срабатывать таймер, попал 1 бутылку сработал 1 таймер, попал 2 сработал 2 и т.д. Собственно некорректно работает. Как можно убрать это?, допустим надо, попал 1 бутылку сработал таймер попадает в другие уже не срабатывает таймер, а срабатывает после действие таймера, т.е, после 30 секунд...

    PHP код:
    public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
        if(
    hittype == 4)
        {
        switch(
    hitid)
        {
        case 
    36,33,31,29,26,25,23,22,24,27,28,30,32,34,37,35,39,41,43,45,46,47,38:
        {
        
    SetTimerEx("popalb"1000 30true"i"playerid);
        new 
    string[1000],sctring[2000];
        
    Playerlic[playerid][lGunTest] += 1;
        
    format(string,sizeof(string),""W"Вы попали в бутылку. [%i/100]"Playerlic[playerid][lGunTest],string);
        
    strcat(sctring,string);
        
    SendClientMessage(playerid, -1sctring);
        }
        }
        
    //return 1;
        
    }
        
    //new szString[144];
        //format(szString, sizeof(szString), "Weapon %i fired. hittype: %i   hitid: %i   pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
        //SendClientMessage(playerid, -1, szString);
        
    return 1;
    }

    forward popalb(playerid);
    public 
    popalb(playerid)
    {
        
    //SetTimerEx("popalb", 1000 * 30, true, "i", playerid);
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //new popalbytulka[23];
        
    DestroyDynamicObject(popalbytulka[0]);        DestroyDynamicObject(popalbytulka[1]);
        
    DestroyDynamicObject(popalbytulka[2]);        DestroyDynamicObject(popalbytulka[3]);                DestroyDynamicObject(popalbytulka[4]);                DestroyDynamicObject(popalbytulka[5]);
        
    DestroyDynamicObject(popalbytulka[6]);        DestroyDynamicObject(popalbytulka[7]);                DestroyDynamicObject(popalbytulka[8]);                DestroyDynamicObject(popalbytulka[9]);
        
    DestroyDynamicObject(popalbytulka[10]);        DestroyDynamicObject(popalbytulka[11]);                DestroyDynamicObject(popalbytulka[12]);                DestroyDynamicObject(popalbytulka[13]);
        
    DestroyDynamicObject(popalbytulka[14]);        DestroyDynamicObject(popalbytulka[15]);                DestroyDynamicObject(popalbytulka[16]);                DestroyDynamicObject(popalbytulka[17]);
        
    DestroyDynamicObject(popalbytulka[18]);        DestroyDynamicObject(popalbytulka[19]);                DestroyDynamicObject(popalbytulka[20]);                DestroyDynamicObject(popalbytulka[21]);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         
    popalbytulka[0] = CreateDynamicObject(1664,   258.0099, -3.54921001.7558,   0,0,0);
        
    popalbytulka[1] = CreateDynamicObject(1520,   258.0539, -2.75671001.6400   ,0,0,0);    popalbytulka[2] = CreateDynamicObject(1543,   258.0645, -2.03511001.5674   ,0,0,0);
         
    popalbytulka[3] = CreateDynamicObject(1664,   258.0365, -1.40041001.7558   ,0,0,0);    popalbytulka[4] = CreateDynamicObject(1520,   258.0468, -0.83871001.6400   ,0,0,0);
        
    popalbytulka[5] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);    popalbytulka[6] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);
        
    popalbytulka[7] = CreateDynamicObject(1664,   258.05980.71321001.7558   ,0,0,0);    popalbytulka[8] = CreateDynamicObject(1520,   258.03741.29791001.6400   ,0,0,0);
        
    popalbytulka[9] = CreateDynamicObject(1543,   257.98421.78371001.5674   ,0,0,0);    popalbytulka[10] = CreateDynamicObject(1543,  258.01872.29671001.5674   ,0,0,0);
        
    popalbytulka[11] = CreateDynamicObject(1664,  258.08542.89501001.7558   ,0,0,0);    popalbytulka[12] = CreateDynamicObject(1520,  258.03933.51821001.6400   ,0,0,0);
        
    popalbytulka[13] = CreateDynamicObject(1543,  258.03374.15671001.5674   ,0,0,0);    popalbytulka[14] = CreateDynamicObject(1664,  258.06814.78611001.7558   ,0,0,0);
        
    popalbytulka[15] = CreateDynamicObject(1520,  258.04815.35921001.6400   ,0,0,0);    popalbytulka[16] = CreateDynamicObject(1520,  258.03156.07931001.6400   ,0,0,0);
        
    popalbytulka[17] = CreateDynamicObject(1664,  258.05426.71681001.7558   ,0,0,0);    popalbytulka[18] = CreateDynamicObject(1543,  258.04667.29141001.5674   ,0,0,0);
        
    popalbytulka[19] = CreateDynamicObject(1543,  258.05567.90511001.5674   ,0,0,0);    popalbytulka[20] = CreateDynamicObject(1664,  258.03278.43491001.7558   ,0,0,0);
        
    popalbytulka[21] = CreateDynamicObject(1520,  258.04539.01921001.6400   ,0,0,0);    popalbytulka[21] = CreateDynamicObject(1543,  257.99569.55931001.5674   ,0,0,0);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


  2. #2
    Аватар для Flime
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    16 ±
    PHP код:
    if(hittype == 4

    if(
    GetPVarInt(playerid,"Popal") != 0) return 1;
    switch(
    hitid

    case 
    30..39,41,43,45..47

    SetTimerEx("popalb"1000 30true"i"playerid); 
    new 
    string[27]; 
    Playerlic[playerid][lGunTest] += 1
    format(string,sizeof(string),""W"Вы попали в бутылку. [%i/100]"Playerlic[playerid][lGunTest]); 
    SendClientMessage(playerid, -1string); 
    SetPVarInt(playerid,"Popal",1);


    //return 1; 

    PHP код:
    forward popalb(playerid); 
    public 
    popalb(playerid

    SetPVarInt(playerid,"Popal",0);
    .


  3. Пользователь сказал cпасибо:
    Айболит (28.08.2014)
  4. #3
    Аватар для Айболит
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.05.2014
    Сообщений
    133
    Репутация:
    1 ±
    Цитата Сообщение от Flime Посмотреть сообщение
    PHP код:
    if(hittype == 4

    if(
    GetPVarInt(playerid,"Popal") != 0) return 1;
    switch(
    hitid

    case 
    30..39,41,43,45..47

    SetTimerEx("popalb"1000 30true"i"playerid); 
    new 
    string[27]; 
    Playerlic[playerid][lGunTest] += 1
    format(string,sizeof(string),""W"Вы попали в бутылку. [%i/100]"Playerlic[playerid][lGunTest]); 
    SendClientMessage(playerid, -1string); 
    SetPVarInt(playerid,"Popal",1);


    //return 1; 

    PHP код:
    forward popalb(playerid); 
    public 
    popalb(playerid

    SetPVarInt(playerid,"Popal",0);
    .

    Но теперь в другие нельзя стрелять, после того как попадешь в 1, ладно буду думать...

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
        if(
    hittype == 4)
        {
            switch(
    hitid)
            {
                case 
    36,33,31,29,26,25,23,22,24,27,28,30,32,34,37,35,39,41,43,45,46,47,38:
                {
                    if(!
    GetPVarInt(playerid"Hit"))
                    {
                        
    SetTimerEx("RespawnBottle"1000 30false"i"playerid);
                        
    SetPVarInt(playerid"Hit"1);
                    }
                    new 
    string[31];
                    
    Playerlic[playerid][lGunTest] += 1;
                    
    format(string,sizeof(string),"Вы попали в бутылку. [%i/100]"Playerlic[playerid][lGunTest]);
                    
    SendClientMessage(playerid0xFFFFFFFFstring);
                }
            }
            
    //return 1;
        
    }
        
    //new szString[144];
        //format(szString, sizeof(szString), "Weapon %i fired. hittype: %i   hitid: %i   pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
        //SendClientMessage(playerid, -1, szString);
        
    return 1;
    }

    public 
    RespawnBottle(playerid)
    {
        
    SetPVarInt(playerid"Hit"0);
        for(new 
    isizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        
    popalbytulka[0] = CreateDynamicObject(1664,   258.0099, -3.54921001.7558,   0,0,0);
        
    popalbytulka[1] = CreateDynamicObject(1520,   258.0539, -2.75671001.6400   ,0,0,0);
        
    popalbytulka[2] = CreateDynamicObject(1543,   258.0645, -2.03511001.5674   ,0,0,0);
        
    popalbytulka[3] = CreateDynamicObject(1664,   258.0365, -1.40041001.7558   ,0,0,0);
        
    popalbytulka[4] = CreateDynamicObject(1520,   258.0468, -0.83871001.6400   ,0,0,0);
        
    popalbytulka[5] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);
        
    popalbytulka[6] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);
        
    popalbytulka[7] = CreateDynamicObject(1664,   258.05980.71321001.7558   ,0,0,0);
        
    popalbytulka[8] = CreateDynamicObject(1520,   258.03741.29791001.6400   ,0,0,0);
        
    popalbytulka[9] = CreateDynamicObject(1543,   257.98421.78371001.5674   ,0,0,0);
        
    popalbytulka[10] = CreateDynamicObject(1543,  258.01872.29671001.5674   ,0,0,0);
        
    popalbytulka[11] = CreateDynamicObject(1664,  258.08542.89501001.7558   ,0,0,0);
        
    popalbytulka[12] = CreateDynamicObject(1520,  258.03933.51821001.6400   ,0,0,0);
        
    popalbytulka[13] = CreateDynamicObject(1543,  258.03374.15671001.5674   ,0,0,0);
        
    popalbytulka[14] = CreateDynamicObject(1664,  258.06814.78611001.7558   ,0,0,0);
        
    popalbytulka[15] = CreateDynamicObject(1520,  258.04815.35921001.6400   ,0,0,0);
        
    popalbytulka[16] = CreateDynamicObject(1520,  258.03156.07931001.6400   ,0,0,0);
        
    popalbytulka[17] = CreateDynamicObject(1664,  258.05426.71681001.7558   ,0,0,0);
        
    popalbytulka[18] = CreateDynamicObject(1543,  258.04667.29141001.5674   ,0,0,0);
        
    popalbytulka[19] = CreateDynamicObject(1543,  258.05567.90511001.5674   ,0,0,0);
        
    popalbytulka[20] = CreateDynamicObject(1664,  258.03278.43491001.7558   ,0,0,0);
        
    popalbytulka[21] = CreateDynamicObject(1520,  258.04539.01921001.6400   ,0,0,0);
        
    popalbytulka[21] = CreateDynamicObject(1543,  257.99569.55931001.5674   ,0,0,0);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Айболит (29.08.2014)
  7. #5
    Аватар для Айболит
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.05.2014
    Сообщений
    133
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    public OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
        if(
    hittype == 4)
        {
            switch(
    hitid)
            {
                case 
    36,33,31,29,26,25,23,22,24,27,28,30,32,34,37,35,39,41,43,45,46,47,38:
                {
                    if(!
    GetPVarInt(playerid"Hit"))
                    {
                        
    SetTimerEx("RespawnBottle"1000 30false"i"playerid);
                        
    SetPVarInt(playerid"Hit"1);
                    }
                    new 
    string[31];
                    
    Playerlic[playerid][lGunTest] += 1;
                    
    format(string,sizeof(string),"Вы попали в бутылку. [%i/100]"Playerlic[playerid][lGunTest]);
                    
    SendClientMessage(playerid0xFFFFFFFFstring);
                }
            }
            
    //return 1;
        
    }
        
    //new szString[144];
        //format(szString, sizeof(szString), "Weapon %i fired. hittype: %i   hitid: %i   pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
        //SendClientMessage(playerid, -1, szString);
        
    return 1;
    }

    public 
    RespawnBottle(playerid)
    {
        
    SetPVarInt(playerid"Hit"0);
        for(new 
    isizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        
    popalbytulka[0] = CreateDynamicObject(1664,   258.0099, -3.54921001.7558,   0,0,0);
        
    popalbytulka[1] = CreateDynamicObject(1520,   258.0539, -2.75671001.6400   ,0,0,0);
        
    popalbytulka[2] = CreateDynamicObject(1543,   258.0645, -2.03511001.5674   ,0,0,0);
        
    popalbytulka[3] = CreateDynamicObject(1664,   258.0365, -1.40041001.7558   ,0,0,0);
        
    popalbytulka[4] = CreateDynamicObject(1520,   258.0468, -0.83871001.6400   ,0,0,0);
        
    popalbytulka[5] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);
        
    popalbytulka[6] = CreateDynamicObject(1543,   258.0263, -0.37601001.5674   ,0,0,0);
        
    popalbytulka[7] = CreateDynamicObject(1664,   258.05980.71321001.7558   ,0,0,0);
        
    popalbytulka[8] = CreateDynamicObject(1520,   258.03741.29791001.6400   ,0,0,0);
        
    popalbytulka[9] = CreateDynamicObject(1543,   257.98421.78371001.5674   ,0,0,0);
        
    popalbytulka[10] = CreateDynamicObject(1543,  258.01872.29671001.5674   ,0,0,0);
        
    popalbytulka[11] = CreateDynamicObject(1664,  258.08542.89501001.7558   ,0,0,0);
        
    popalbytulka[12] = CreateDynamicObject(1520,  258.03933.51821001.6400   ,0,0,0);
        
    popalbytulka[13] = CreateDynamicObject(1543,  258.03374.15671001.5674   ,0,0,0);
        
    popalbytulka[14] = CreateDynamicObject(1664,  258.06814.78611001.7558   ,0,0,0);
        
    popalbytulka[15] = CreateDynamicObject(1520,  258.04815.35921001.6400   ,0,0,0);
        
    popalbytulka[16] = CreateDynamicObject(1520,  258.03156.07931001.6400   ,0,0,0);
        
    popalbytulka[17] = CreateDynamicObject(1664,  258.05426.71681001.7558   ,0,0,0);
        
    popalbytulka[18] = CreateDynamicObject(1543,  258.04667.29141001.5674   ,0,0,0);
        
    popalbytulka[19] = CreateDynamicObject(1543,  258.05567.90511001.5674   ,0,0,0);
        
    popalbytulka[20] = CreateDynamicObject(1664,  258.03278.43491001.7558   ,0,0,0);
        
    popalbytulka[21] = CreateDynamicObject(1520,  258.04539.01921001.6400   ,0,0,0);
        
    popalbytulka[21] = CreateDynamicObject(1543,  257.99569.55931001.5674   ,0,0,0);
        
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    (1283) : warning 216: nested comment

    for(new i; i < sizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);

    Что может быть не так?

    - - - Добавлено - - -

    Цитата Сообщение от Айболит Посмотреть сообщение
    (1283) : warning 216: nested comment

    for(new i; i < sizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);

    Что может быть не так?

    Моя была ошибка, не посмотрел на строчку, все работает, спасибо....

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •