Главный редактор форума: Doc-John | Текущая дата: 30.11.2024, 08:52
  • Страница 1 из 1
  • 1
[Мануал] Система фейерверков, как на Advance Rp
Оффлайн
Воскресенье, 25.08.2013, 15:54 | Сообщение # 1
Сообщений:
20
0
Здравствуйте, уважаемые игроки. Сегодня я расскажу как сделать систему фейерверков на  ваш сервер SAMP через программу Pawno.

Добавляем ко всем new:

Цитата (Код)
new
salut[4],
Float:xsalut,
Float:ysalut,
Float:zsalut;

В public OnObjectMoved(objectid)

Цитата (Код)
new
Float:x, Float:y, Float:z;
if(objectid >= salut[0] && objectid <= salut[1])
{
GetObjectPos(objectid, x,y,z);
DestroyObject(objectid);
CreateExplosion(x, y , z, 11, 0.5);
salut[3] ++;
}
if(salut[3] == 25)
{
if(salut[4] >= 45) salut[4] = -1;
else salutik();
}

В public OnGameModeInit


Цитата (Код)
salut[4] = -1;

Добавляем к командам:

Цитата (Код)
else if(strcmp(cmd, "/blow", true) == 0)
{
if(salut[4] != -1)return SendClientMessage(playerid, COLOR_WHITE, "{DDA0DD} >> Попробуйте позже");
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 6.1, 0, 0, 0, 0, 0,1);
return salutik();
}

В конец мода:

Цитата (Код)
stock delsalut()
{
for(new i = salut[0]; i <= salut[1]; i++)DestroyObject(i);
return true;
}
stock salutik()
{
delsalut();
delsalut();
delsalut();
delsalut();
delsalut();
//Не удивляйтесь что так много удалений, с первого раза не удаляет, не понимаю почему, никто не понимает ...((

salut[0] = CreateObject(19121+random(6),xsalut,ysalut,zsalut,0.0,0.0,0.0);
for(new i; i <= 23; i++) CreateObject(19121+random(6),xsalut,ysalut,zsalut,0.0,0.0,0.0);
salut[1] = CreateObject(19121+random(6),xsalut,ysalut,zsalut,0.0,0.0,0.0);

for(new i = salut[0]; i <= salut[1];i++)MoveObject(i,xsalut+(-30+(random(60)),ysalut+(-30+(random(60)),zsalut+(-40+(random(20)),35+random(15));
salut[4] ++;
return true;
}

Должно получится так:
  • Страница 1 из 1
  • 1
Поиск: