Moc737
Новичок
Здравствуйте друзья.
При работе с пикапами у меня возникло проблема, а конкретно: я создаю в отдельном мире 5 пикапов через таймер. После закачивании таймера пикапы должны удалятся и в место них должны появляется другие пикапы (на этих же координатах).
Так вот, пикапы удалятся и в место них появляются эти обновленные пикапы (только визуально)...
Повторю: только визуально, потому что при вызове OnPlayerPickUpPickup берутся иногда данные прежних
пикапов или вовсе смешаются(берется по 2, скажем оружие или берется только данные прежнего пикапа)
Я изначально создаю пикапы в ongamemodinit и через 15 секунд начинаю с ними манипулировать
Есть идеи в чем может быть проблема ?
пример кода >
При работе с пикапами у меня возникло проблема, а конкретно: я создаю в отдельном мире 5 пикапов через таймер. После закачивании таймера пикапы должны удалятся и в место них должны появляется другие пикапы (на этих же координатах).
Так вот, пикапы удалятся и в место них появляются эти обновленные пикапы (только визуально)...
Повторю: только визуально, потому что при вызове OnPlayerPickUpPickup берутся иногда данные прежних
пикапов или вовсе смешаются(берется по 2, скажем оружие или берется только данные прежнего пикапа)
Я изначально создаю пикапы в ongamemodinit и через 15 секунд начинаю с ними манипулировать
Есть идеи в чем может быть проблема ?
пример кода >
PHP:
CB: updatepickup(playerid)
{
switch(SInfo[CtfPickupupdate])
{
case 0:
{
if(SInfo[CtfPickupupdate] == 0){
DestroyPickup(Pickups[gun_pickup1]);
DestroyPickup(Pickups[gun_pickup2]);
DestroyPickup(Pickups[gun_pickup3]);
DestroyPickup(Pickups[gun_pickup4]);
DestroyPickup(Pickups[gun_pickup5]);
DestroyPickup(Pickups[gun_pickup6]);
DestroyPickup(Pickups[gun_pickup7]);
DestroyPickup(Pickups[gun_pickup8]);
DestroyPickup(Pickups[gun_pickup9]);
DestroyPickup(Pickups[gun_pickup10]);
}
SendClientMessage(playerid,COLOR_LIGHTRED,"test1");
SInfo[CtfPickupupdate] = 1;
}
case 1:
{
DestroyPickup(Pickups[gun_pickup6]);
DestroyPickup(Pickups[gun_pickup7]);
DestroyPickup(Pickups[gun_pickup8]);
DestroyPickup(Pickups[gun_pickup9]);
DestroyPickup(Pickups[gun_pickup10]);
Pickups[gun_pickup1] = CreatePickup(1220,1,-3953.14111, -1042.59119, 107.61050,WORLD_CTF)
Pickups[gun_pickup2] = CreatePickup(370,1,-3959.39453, -1045.50342, 106.78787, WORLD_CTF)
Pickups[gun_pickup3] = CreatePickup(341,1,-3955.49048, -1041.24805, 107.17730, WORLD_CTF)
Pickups[gun_pickup4] = CreatePickup(337,1,-3957.99243, -1043.70837, 107.55250, WORLD_CTF);
Pickups[gun_pickup5] = CreatePickup(360,1,-3954.04224, -1045.20923, 107.49070, WORLD_CTF);
SendClientMessage(playerid,COLOR_LIGHTRED,"test2");
SInfo[CtfPickupupdate] = 2;
}
case 2:
{
DestroyPickup(Pickups[gun_pickup1]);
DestroyPickup(Pickups[gun_pickup2]);
DestroyPickup(Pickups[gun_pickup3]);
DestroyPickup(Pickups[gun_pickup4]);
DestroyPickup(Pickups[gun_pickup5]);
Pickups[gun_pickup6] = CreatePickup(351,1,-3953.14111, -1042.59119, 107.61050,WORLD_CTF);
Pickups[gun_pickup7] = CreatePickup(361,1,-3959.39453, -1045.50342, 106.78787, WORLD_CTF)
Pickups[gun_pickup8] = CreatePickup(364,1,-3955.49048, -1041.24805, 107.17730, WORLD_CTF)
Pickups[gun_pickup9] = CreatePickup(348,1,-3957.99243, -1043.70837, 107.55250, WORLD_CTF)
Pickups[gun_pickup10] = CreatePickup(352,1,-3954.04224, -1045.20923, 107.49070, WORLD_CTF)
SendClientMessage(playerid,COLOR_LIGHTRED,"test3");
SInfo[CtfPickupupdate] = 0;
}
}
return true;
}
PHP:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == Pickups[gun_pickup1])
{
GivePlayerWeapon(playerid,18,30); // iz boxa vzrivnie shari
DestroyPickup(Pickups[gun_pickup1]);
}
else if(pickupid == Pickups[gun_pickup2])
{
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK); // jetpack
DestroyPickup(Pickups[gun_pickup2]);
}
// ...
}
Последнее редактирование модератором:
