Kako napraviti DM Zonu ?
Prvo Definisemo Dialog za Dm Zonu i Boju slova koja nije bitna#define DM_ZONA 3000 ///podesavajte kako ocete ovaj broj na kraju
#define red 0xFF0000FF //Definisemo Crvenu boju koja nece nicemu koristiti posto sam ja sredio text :) ali ona mora ostati posto ce zbog nje izbacivati errorZatim definisemo da igracu kad kuca /dmizlaz oduzme oruzije i vrati ga na pocetno mesto
forward RemovePlayerWeapon(playerid, weaponid);
forward SafeResetPlayerWeapons(plyid);Definisemo Prouke
forward SendCrveniMessage(color, string[]); //Slanje poruke koji samo Crveni Tim moze videti
forward SendPlaviMessage(color, string[]); //Slanje poruke koji samo Plavi Tim moze videtiKrecemo sa dodavanjem komadni i svime ostalim
Ovo dodate pod enum pInfo (tako je kod mene) ako je kod vase nemozete naci trazite pLozinka,pSifra dok nenadjete
enum pInfo
{
//Vama ce ovde pisati svasta
pTim, //ovo dodate kod vas to kod mene nije bilo i ja sam dodao
}; Ovo dodate pod OnPlayerSpawn ono sluzi ako je igrac npr Crvenom Timu da mu namesti Spawn Crvenog Tima 🙂
public OnPlayerSpawn(playerid)
{
SetPlayerSpawn(playerid); // Ovo Doadte pod OnPlayerSpawn Njega cemo kasnije definisati
return 1;
}Komanda za ulaz u DM Zonu izbacuje listu sa odabirom Tima
CMD:dmulaz(playerid, params[])
{
ShowPlayerDialog(playerid, DM_ZONA, DIALOG_STYLE_LIST, "Odaberite tim", "{CD3333}Crveni Tim\n{009ACD}Plavi Tim", "Odaberi", "Izadji");
return 1;
}Postaljva tim oruzije i spawn igracu Crvenog ili Plavog Tima
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DM_ZONA)
{
if(response)
{
if(listitem == 0) //ako izabere tim 1
{
SetPlayerPos(playerid,1765.5070,-1361.6622,15.8299);//stavite kordinate
GivePlayerWeapon(playerid, 24, 750);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 450);
SetPlayerPos(playerid,1827.7347,-1408.3877,29.6172);//Koridinate tima 1
SendClienMessage(playerid, red, "{FFFFFF}Usli ste u dm zonu,u {CD3333}Crveni Tim ");//salje igracu poruku
PlayerInfo = 1;
}
if(listitem == 1) //ako izabere tim 2
{
SetPlayerPos(playerid,1765.5070,-1361.6622,15.8299);
GivePlayerWeapon(playerid, 24, 750);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 450);
SetPlayerPos(playerid,1831.1451,-1415.4196,29.6172);//Kordinate tima 2
SendClienMessage(playerid, red, "{FFFFFF}Usli ste u DM zonu,u {009ACD}Plavi Tim.");//salje igracu poruku
PlayerInfo = 2;
}
}
}
return 1;
}Komanda za Izlaz iz DM zone oduzima igracu oruzije vraca ga na prvobitno mesto spawna
CMD:dmizlaz(playerid, params[])
{
new gunID = GetPlayerWeapon(playerid);
PlayerInfo = 0;
SetPlayerPos(playerid,1765.5070,-1361.6622,15.8299);//Koridinate tima 1
RemovePlayerWeapon(playerid, gunID);
SendClientMessage(playerid, red, "{FFFFFF}Napustili ste {CD3333}DM Zonu!");
return 1;
} Komanda za cet igraca ako je igrac u crvenom timu onda koristi komadnu /crveni a ako je u plavom /plavi da bi poslao poruku igracima svog tima
CMD:crveni(playerid, params[])
{
if (PlayerInfo == 1)
{
new poruka, string2;
GetPlayerName(playerid, GetName(playerid), 20);
if(sscanf(params, "s", poruka)) return SCM(playerid, red,"{009ACD}Koriscenje:{FFFFFF}/crveni {009ACD}");
format(string2, sizeof(string2), "{CD3333}[Crveni Tim]{FFFFFF} %s {CD3333}kaze: {FFFFFF}%s",GetName(playerid), poruka);
SendCrveniMessage(red, string2);
return 1;
}
else
{
SendClientMessage(playerid, red, "{FFFFFF}({CD3333}Greska{FFFFFF}):Niste u {CD3333}Crvenom {FFFFFF}Timu!");
}
return 1;
}
CMD:plavi(playerid, params[])
{
if (PlayerInfo == 2)
{
new poruka, string2;
GetPlayerName(playerid, GetName(playerid), 20);
if(sscanf(params, "s", poruka)) return SCM(playerid, red,"{009ACD}Koriscenje:{FFFFFF}/plavi {009ACD}");
format(string2, sizeof(string2), "{009ACD}[Plavi Tim]{FFFFFF} %s {009ACD}kaze: {FFFFFF}%s",GetName(playerid), poruka);
SendPlaviMessage(red, string2);
return 1;
}
else
{
SendClientMessage(playerid, red, "{FFFFFF}({CD3333}Greska{FFFFFF}):Niste u {009ACD}Plavom {FFFFFF}Timu!");
}
return 1;
} Ovo dodaje pod OnPlayerDeath ono postavlja igracu spawn posle smrti u njegovoj bazi i daje mu opet oruzije
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSpawn(playerid); Ovo dodaje na kraj Skripte ono definise slanje poruke u timovima
stock SendCrveniMessage(color, string[])
{
foreach (Player, i)
{
if(PlayerInfo == 1)
{
SendClientMessage(i, color, string);
}
}
}
stock SendPlaviMessage(color, string[])
{
foreach (Player, i)
{
if(PlayerInfo == 2)
{
SendClientMessage(i, color, string);
}
}
} Ovo dodaje na kraj Skripte
stock GetName(playerid)
{
new pName;
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
} Ovo dodaje na kraj Skripte ono postavlja igracu spawn posle umiranja i daje mu oruzije
forward SetPlayerSpawn(playerid);
public SetPlayerSpawn(playerid)
{
if(PlayerInfo == 1)
{
SetPlayerPos(playerid,1827.7347,-1408.3877,29.6172);//Spawn Kordinate Crvenog Tima
GivePlayerWeapon(playerid, 24, 750);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 450);
}
if(PlayerInfo == 2)
{
SetPlayerPos(playerid,1831.1451,-1415.4196,29.6172);//Spawn kordinate Plavog Tima
GivePlayerWeapon(playerid, 24, 750);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 450);
}
return 1;
} Napomena
Moguce da sam nesto zaboravio da dodam posto ima puno teksta ukoliko vam izbacuje error posaljite u komentaru ili na pm da editujem ovo da dodam sta treba 🙂
Ocenite od 1/10 Hvala 😎Moguce da sam nesto zaboravio da dodam posto ima puno teksta ukoliko vam izbacuje error posaljite u komentaru ili na pm da editujem ovo da dodam sta treba 🙂
Slike
Postavlja spawn igracu saljemu poruku da je usao u dm zonu i daje mu oruzije
http://ch-slike.com/Fl20
Otvara Meni sa biranjem timova
http://ch-slike.com/Fl2Z
Ukoliko igrac pokusa da koristi komadnu /plavi ili /crveni a u suprotnom je timu izbaci mu ovu poruku
http://ch-slike.com/Fl2c
Ovako izgleda cet crvenih to je kad igrac koristi /crveni
http://ch-slike.com/Fl2h
I kada je igrac korsitio /dmizlaz vraca ga na predhodni spawn i restartuje mu oruzije
http://ch-slike.com/Fl2u

