Dimka2407
Новичок
1. Ко всем
вставляем
2. В Onplayerconnect и вставим следующий код
3.В OnPlayerDisconnect и вставим следующий код
4. В конец мода вставим следующий код
Вот и всё.
Скриншоты
PHP:
new
PHP:
new LastWeapon[MAX_PLAYERS];//Последнее оружие
new UpdateTimer[MAX_PLAYERS];//таймер
new PlayerText:TDWeapon[MAX_PLAYERS][4];//Тектдравы
PHP:
TDWeapon[playerid][0] = CreatePlayerTextDraw(playerid,538.000000, 398.000000, "UP");
PlayerTextDrawBackgroundColor(playerid,TDWeapon[playerid][0], 295368071);
PlayerTextDrawFont(playerid,TDWeapon[playerid][0], 2);
PlayerTextDrawLetterSize(playerid,TDWeapon[playerid][0], 0.240000, 1.100000);
PlayerTextDrawColor(playerid,TDWeapon[playerid][0], 1735291903);
PlayerTextDrawSetOutline(playerid,TDWeapon[playerid][0], 0);
PlayerTextDrawSetProportional(playerid,TDWeapon[playerid][0], 1);
PlayerTextDrawSetShadow(playerid,TDWeapon[playerid][0], 0);
TDWeapon[playerid][1] = CreatePlayerTextDraw(playerid,480.000000, 412.000000, "CENTER");
PlayerTextDrawBackgroundColor(playerid,TDWeapon[playerid][1], 295368071);
PlayerTextDrawFont(playerid,TDWeapon[playerid][1], 2);
PlayerTextDrawLetterSize(playerid,TDWeapon[playerid][1], 0.300000, 1.400000);
PlayerTextDrawColor(playerid,TDWeapon[playerid][1], -1);
PlayerTextDrawSetOutline(playerid,TDWeapon[playerid][1], 1);
PlayerTextDrawSetProportional(playerid,TDWeapon[playerid][1], 1);
TDWeapon[playerid][2] = CreatePlayerTextDraw(playerid,538.000000, 431.000000, "DOWN");
PlayerTextDrawBackgroundColor(playerid,TDWeapon[playerid][2], 295368071);
PlayerTextDrawFont(playerid,TDWeapon[playerid][2], 2);
PlayerTextDrawLetterSize(playerid,TDWeapon[playerid][2], 0.240000, 1.100000);
PlayerTextDrawColor(playerid,TDWeapon[playerid][2], 1735291903);
PlayerTextDrawSetOutline(playerid,TDWeapon[playerid][2], 0);
PlayerTextDrawSetProportional(playerid,TDWeapon[playerid][2], 1);
PlayerTextDrawSetShadow(playerid,TDWeapon[playerid][2], 0);
TDWeapon[playerid][3] = CreatePlayerTextDraw(playerid,649.000000, 395.000000, "~n~~n~~n~~n~~n~~n~");
PlayerTextDrawBackgroundColor(playerid,TDWeapon[playerid][3], 255);
PlayerTextDrawFont(playerid,TDWeapon[playerid][3], 1);
PlayerTextDrawLetterSize(playerid,TDWeapon[playerid][3], 0.500000, 1.000000);
PlayerTextDrawColor(playerid,TDWeapon[playerid][3], -1);
PlayerTextDrawSetOutline(playerid,TDWeapon[playerid][3], 0);
PlayerTextDrawSetProportional(playerid,TDWeapon[playerid][3], 1);
PlayerTextDrawSetShadow(playerid,TDWeapon[playerid][3], 1);
PlayerTextDrawUseBox(playerid,TDWeapon[playerid][3], 1);
PlayerTextDrawBoxColor(playerid,TDWeapon[playerid][3], 80);
PlayerTextDrawTextSize(playerid,TDWeapon[playerid][3], 464.000000, 4.000000);
///////////////Отобразим созданные ранее текстдравы////////////////////////
PlayerTextDrawShow(playerid,TDWeapon[playerid][0]);
PlayerTextDrawShow(playerid,TDWeapon[playerid][1]);
PlayerTextDrawShow(playerid,TDWeapon[playerid][2]);
PlayerTextDrawShow(playerid,TDWeapon[playerid][3]);
LastWeapon[playerid] = 0;// Установим последнее оружие - кулаки
UpdateTimer[playerid] = SetTimerEx("Update",1000,true,"i",playerid);//Запустим таймер для игрока
PHP:
PlayerTextDrawHide(playerid,TDWeapon[playerid][0]);
PlayerTextDrawHide(playerid,TDWeapon[playerid][1]);
PlayerTextDrawHide(playerid,TDWeapon[playerid][2]);
PlayerTextDrawHide(playerid,TDWeapon[playerid][3]);
PlayerTextDrawDestroy(playerid,TDWeapon[playerid][0]);
PlayerTextDrawDestroy(playerid,TDWeapon[playerid][1]);
PlayerTextDrawDestroy(playerid,TDWeapon[playerid][2]);
PlayerTextDrawDestroy(playerid,TDWeapon[playerid][3]);
KillTimer(UpdateTimer[playerid]);
PHP:
forward Update(playerid);
public Update(playerid)
{
if(LastWeapon[playerid] != GetPlayerWeapon(playerid))//Если в руках "новое" оружие
{
new slot[2],weap[2],weaponname[20];//массив для слотов, идов оружия и их названия
new id = GetPlayerWeapon(playerid);//ид оружия в руках playerid'a
LastWeapon[playerid] = id;//запоминаем ид оружия
slot[0] = GetWeaponSlot(id);//Получаем слот оружия
if(slot[0] == 12)//Если в руках оружие из последнего слота, то следующее оружия будет из слота 0
{
slot[0] = slot[0]-1;//Пред. слот
slot[1] = 0;//след. слот
}
else if(slot[0] == 0)//Если в руках оружие из первого слота, то предыдущее оружием было(будет) из слота 12
{
slot[1] = slot[0]+1;//след. слот
slot[0] = 12;//Пред. слот.
}
else
{
slot[1] = slot[0]+1;//след. слот
slot[0] = slot[0]-1;//Пред. слот
}
weap[0] = GetUpWeapon(playerid,slot[0]);//Получаем след валидное верхнее оружие
weap[1] = GetDownWeapon(playerid,slot[1]);//Получаем след валидное нижнее оружие
if(weap[1] == 18)weaponname = "Coctail";//название нижнего оружия (ид 18 не определяется)
else if(weap[1] == 0)weaponname = "None";//название нижнего оружия (ид 0 не определяется)
else GetWeaponName(weap[1],weaponname,sizeof(weaponname));//название нижнего оружия
PlayerTextDrawSetString(playerid,TDWeapon[playerid][2],weaponname);// обновление тд
if(weap[0] == 18)weaponname = "Coctail";//название верхнего оружия (ид 18 не определяется)
else if(weap[0] == 0)weaponname = "None";//название верхнего оружия(ид 0 не определяется)
else GetWeaponName(weap[0],weaponname,sizeof(weaponname));//название верхнего оружия
PlayerTextDrawSetString(playerid,TDWeapon[playerid][0],weaponname);// обновление тд
if(id == 18)weaponname = "Coctail";//название текущего оружия(ид 18 не определяется)
else if(id == 0)weaponname = "None";//название текущего оружия(ид 0 не определяется)
else GetWeaponName(id,weaponname,sizeof(weaponname));//название текущего оружия
PlayerTextDrawSetString(playerid,TDWeapon[playerid][1],weaponname);// обновление тд
}
return true;
}
stock GetWeaponSlot(weaponid)
{
switch(weaponid)
{
case 0:
return 0;
case WEAPON_BRASSKNUCKLE:
return 0;
case WEAPON_GOLFCLUB .. WEAPON_CHAINSAW:
return 1;
case WEAPON_COLT45 .. WEAPON_DEAGLE:
return 2;
case WEAPON_SHOTGUN .. WEAPON_SHOTGSPA:
return 3;
case WEAPON_UZI, WEAPON_MP5, WEAPON_TEC9:
return 4;
case WEAPON_AK47, WEAPON_M4:
return 5;
case WEAPON_RIFLE, WEAPON_SNIPER:
return 6;
case WEAPON_ROCKETLAUNCHER .. WEAPON_MINIGUN:
return 7;
case WEAPON_GRENADE .. WEAPON_MOLTOV, WEAPON_SATCHEL:
return 8;
case WEAPON_SPRAYCAN .. WEAPON_CAMERA:
return 9;
case WEAPON_DILDO .. WEAPON_FLOWER:
return 10;
case 44, 45, WEAPON_PARACHUTE:
return 11;
case WEAPON_BOMB:
return 12;
}
return true;
}
stock GetUpWeapon(playerid,slotid)//верхее оружие
{
new weap,ammo;
for(new i = slotid; i != -1; --i)
{
GetPlayerWeaponData(playerid,i,weap,ammo);
if(ammo != 0 && weap != 0|| ammo == 0 && weap == 0 && i == 0)
{
// вовзращаем ид оружия
return weap;
}
}
if(!weap)
{
for(new i = 12; i != slotid; i--)
{
GetPlayerWeaponData(playerid,i,weap,ammo);
if(ammo != 0 && weap != 0|| ammo == 0 && weap == 0 && i == 0)
{
break;//останавливаем цикл
}
}
}
return weap; // вовзращаем ид оружия
}
stock GetDownWeapon(playerid,slotid)//нижнее оружие оружие
{
new weap,ammo;
for(new i = slotid; i < 12; i++)
{
GetPlayerWeaponData(playerid,i,weap,ammo);
if(ammo != 0 && weap != 0|| ammo == 0 && weap == 0 && i == 0)
{
// вовзращаем ид оружия
return weap;
}
}
if(!weap)
{
for(new i = 0; i < slotid; i++)
{
GetPlayerWeaponData(playerid,i,weap,ammo);
if(ammo != 0 && weap != 0|| ammo == 0 && weap == 0 && i == 0)
{
break;//останавливаем цикл
}
}
}
return weap;// вовзращаем ид оружия
}
Скриншоты
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование модератором:
