PDA

Просмотр полной версии : [Вопрос] Как можно реализовать.



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



public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float: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 * 30, true, "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, -1, sctring);
}
}
//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.5492, 1001.7558, 0,0,0);
popalbytulka[1] = CreateDynamicObject(1520, 258.0539, -2.7567, 1001.6400 ,0,0,0); popalbytulka[2] = CreateDynamicObject(1543, 258.0645, -2.0351, 1001.5674 ,0,0,0);
popalbytulka[3] = CreateDynamicObject(1664, 258.0365, -1.4004, 1001.7558 ,0,0,0); popalbytulka[4] = CreateDynamicObject(1520, 258.0468, -0.8387, 1001.6400 ,0,0,0);
popalbytulka[5] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0); popalbytulka[6] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0);
popalbytulka[7] = CreateDynamicObject(1664, 258.0598, 0.7132, 1001.7558 ,0,0,0); popalbytulka[8] = CreateDynamicObject(1520, 258.0374, 1.2979, 1001.6400 ,0,0,0);
popalbytulka[9] = CreateDynamicObject(1543, 257.9842, 1.7837, 1001.5674 ,0,0,0); popalbytulka[10] = CreateDynamicObject(1543, 258.0187, 2.2967, 1001.5674 ,0,0,0);
popalbytulka[11] = CreateDynamicObject(1664, 258.0854, 2.8950, 1001.7558 ,0,0,0); popalbytulka[12] = CreateDynamicObject(1520, 258.0393, 3.5182, 1001.6400 ,0,0,0);
popalbytulka[13] = CreateDynamicObject(1543, 258.0337, 4.1567, 1001.5674 ,0,0,0); popalbytulka[14] = CreateDynamicObject(1664, 258.0681, 4.7861, 1001.7558 ,0,0,0);
popalbytulka[15] = CreateDynamicObject(1520, 258.0481, 5.3592, 1001.6400 ,0,0,0); popalbytulka[16] = CreateDynamicObject(1520, 258.0315, 6.0793, 1001.6400 ,0,0,0);
popalbytulka[17] = CreateDynamicObject(1664, 258.0542, 6.7168, 1001.7558 ,0,0,0); popalbytulka[18] = CreateDynamicObject(1543, 258.0466, 7.2914, 1001.5674 ,0,0,0);
popalbytulka[19] = CreateDynamicObject(1543, 258.0556, 7.9051, 1001.5674 ,0,0,0); popalbytulka[20] = CreateDynamicObject(1664, 258.0327, 8.4349, 1001.7558 ,0,0,0);
popalbytulka[21] = CreateDynamicObject(1520, 258.0453, 9.0192, 1001.6400 ,0,0,0); popalbytulka[21] = CreateDynamicObject(1543, 257.9956, 9.5593, 1001.5674 ,0,0,0);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

Flime
28.08.2014, 23:09
if(hittype == 4)
{
if(GetPVarInt(playerid,"Popal") != 0) return 1;
switch(hitid)
{
case 30..39,41,43,45..47:
{
SetTimerEx("popalb", 1000 * 30, true, "i", playerid);
new string[27];
Playerlic[playerid][lGunTest] += 1;
format(string,sizeof(string),""W"Вы попали в бутылку. [%i/100]", Playerlic[playerid][lGunTest]);
SendClientMessage(playerid, -1, string);
SetPVarInt(playerid,"Popal",1);
}
}
//return 1;
}




forward popalb(playerid);
public popalb(playerid)
{
SetPVarInt(playerid,"Popal",0);
.
.

Айболит
28.08.2014, 23:16
if(hittype == 4)
{
if(GetPVarInt(playerid,"Popal") != 0) return 1;
switch(hitid)
{
case 30..39,41,43,45..47:
{
SetTimerEx("popalb", 1000 * 30, true, "i", playerid);
new string[27];
Playerlic[playerid][lGunTest] += 1;
format(string,sizeof(string),""W"Вы попали в бутылку. [%i/100]", Playerlic[playerid][lGunTest]);
SendClientMessage(playerid, -1, string);
SetPVarInt(playerid,"Popal",1);
}
}
//return 1;
}




forward popalb(playerid);
public popalb(playerid)
{
SetPVarInt(playerid,"Popal",0);
.
.


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

DeimoS
29.08.2014, 08:21
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float: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 * 30, false, "i", playerid);
SetPVarInt(playerid, "Hit", 1);
}
new string[31];
Playerlic[playerid][lGunTest] += 1;
format(string,sizeof(string),"Вы попали в бутылку. [%i/100]", Playerlic[playerid][lGunTest]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
}
}
//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 i; i < sizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
popalbytulka[0] = CreateDynamicObject(1664, 258.0099, -3.5492, 1001.7558, 0,0,0);
popalbytulka[1] = CreateDynamicObject(1520, 258.0539, -2.7567, 1001.6400 ,0,0,0);
popalbytulka[2] = CreateDynamicObject(1543, 258.0645, -2.0351, 1001.5674 ,0,0,0);
popalbytulka[3] = CreateDynamicObject(1664, 258.0365, -1.4004, 1001.7558 ,0,0,0);
popalbytulka[4] = CreateDynamicObject(1520, 258.0468, -0.8387, 1001.6400 ,0,0,0);
popalbytulka[5] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0);
popalbytulka[6] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0);
popalbytulka[7] = CreateDynamicObject(1664, 258.0598, 0.7132, 1001.7558 ,0,0,0);
popalbytulka[8] = CreateDynamicObject(1520, 258.0374, 1.2979, 1001.6400 ,0,0,0);
popalbytulka[9] = CreateDynamicObject(1543, 257.9842, 1.7837, 1001.5674 ,0,0,0);
popalbytulka[10] = CreateDynamicObject(1543, 258.0187, 2.2967, 1001.5674 ,0,0,0);
popalbytulka[11] = CreateDynamicObject(1664, 258.0854, 2.8950, 1001.7558 ,0,0,0);
popalbytulka[12] = CreateDynamicObject(1520, 258.0393, 3.5182, 1001.6400 ,0,0,0);
popalbytulka[13] = CreateDynamicObject(1543, 258.0337, 4.1567, 1001.5674 ,0,0,0);
popalbytulka[14] = CreateDynamicObject(1664, 258.0681, 4.7861, 1001.7558 ,0,0,0);
popalbytulka[15] = CreateDynamicObject(1520, 258.0481, 5.3592, 1001.6400 ,0,0,0);
popalbytulka[16] = CreateDynamicObject(1520, 258.0315, 6.0793, 1001.6400 ,0,0,0);
popalbytulka[17] = CreateDynamicObject(1664, 258.0542, 6.7168, 1001.7558 ,0,0,0);
popalbytulka[18] = CreateDynamicObject(1543, 258.0466, 7.2914, 1001.5674 ,0,0,0);
popalbytulka[19] = CreateDynamicObject(1543, 258.0556, 7.9051, 1001.5674 ,0,0,0);
popalbytulka[20] = CreateDynamicObject(1664, 258.0327, 8.4349, 1001.7558 ,0,0,0);
popalbytulka[21] = CreateDynamicObject(1520, 258.0453, 9.0192, 1001.6400 ,0,0,0);
popalbytulka[21] = CreateDynamicObject(1543, 257.9956, 9.5593, 1001.5674 ,0,0,0);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

Айболит
29.08.2014, 11:08
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float: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 * 30, false, "i", playerid);
SetPVarInt(playerid, "Hit", 1);
}
new string[31];
Playerlic[playerid][lGunTest] += 1;
format(string,sizeof(string),"Вы попали в бутылку. [%i/100]", Playerlic[playerid][lGunTest]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
}
}
//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 i; i < sizeof(popalbytulka); i++) DestroyDynamicObject(popalbytulka[i]);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
popalbytulka[0] = CreateDynamicObject(1664, 258.0099, -3.5492, 1001.7558, 0,0,0);
popalbytulka[1] = CreateDynamicObject(1520, 258.0539, -2.7567, 1001.6400 ,0,0,0);
popalbytulka[2] = CreateDynamicObject(1543, 258.0645, -2.0351, 1001.5674 ,0,0,0);
popalbytulka[3] = CreateDynamicObject(1664, 258.0365, -1.4004, 1001.7558 ,0,0,0);
popalbytulka[4] = CreateDynamicObject(1520, 258.0468, -0.8387, 1001.6400 ,0,0,0);
popalbytulka[5] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0);
popalbytulka[6] = CreateDynamicObject(1543, 258.0263, -0.3760, 1001.5674 ,0,0,0);
popalbytulka[7] = CreateDynamicObject(1664, 258.0598, 0.7132, 1001.7558 ,0,0,0);
popalbytulka[8] = CreateDynamicObject(1520, 258.0374, 1.2979, 1001.6400 ,0,0,0);
popalbytulka[9] = CreateDynamicObject(1543, 257.9842, 1.7837, 1001.5674 ,0,0,0);
popalbytulka[10] = CreateDynamicObject(1543, 258.0187, 2.2967, 1001.5674 ,0,0,0);
popalbytulka[11] = CreateDynamicObject(1664, 258.0854, 2.8950, 1001.7558 ,0,0,0);
popalbytulka[12] = CreateDynamicObject(1520, 258.0393, 3.5182, 1001.6400 ,0,0,0);
popalbytulka[13] = CreateDynamicObject(1543, 258.0337, 4.1567, 1001.5674 ,0,0,0);
popalbytulka[14] = CreateDynamicObject(1664, 258.0681, 4.7861, 1001.7558 ,0,0,0);
popalbytulka[15] = CreateDynamicObject(1520, 258.0481, 5.3592, 1001.6400 ,0,0,0);
popalbytulka[16] = CreateDynamicObject(1520, 258.0315, 6.0793, 1001.6400 ,0,0,0);
popalbytulka[17] = CreateDynamicObject(1664, 258.0542, 6.7168, 1001.7558 ,0,0,0);
popalbytulka[18] = CreateDynamicObject(1543, 258.0466, 7.2914, 1001.5674 ,0,0,0);
popalbytulka[19] = CreateDynamicObject(1543, 258.0556, 7.9051, 1001.5674 ,0,0,0);
popalbytulka[20] = CreateDynamicObject(1664, 258.0327, 8.4349, 1001.7558 ,0,0,0);
popalbytulka[21] = CreateDynamicObject(1520, 258.0453, 9.0192, 1001.6400 ,0,0,0);
popalbytulka[21] = CreateDynamicObject(1543, 257.9956, 9.5593, 1001.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]);

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


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