Pitanje/savjet:Igracima na liveeventu ne skida hp kada se tuku rukama, a kada npr sa deagle skida sta moze biti ?
Opširnije: Naveo gore.
Dodatno: saljem kod [pawn]public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
{
if(issuerid != INVALID_PLAYER_ID)
{
if(SK[playerid] == 1)
{
return 0;
}
if(AdminDuty[playerid] == 1 || GMDuty[playerid] == 1)
{
return 0;
}
new idorg = PlayerInfo[playerid][pClan];
if(PlayerInfo[playerid][pClan] == PlayerInfo[issuerid][pClan])
{
if(TKINfo[otkstatus][idorg] == 1) return 1;
return 0;
}
if(IgracPolicajac(issuerid))
{
if(GetPlayerWeapon(issuerid) == 23)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x,y,z);
if(IsPlayerInRangeOfPoint(issuerid, 5.0, x,y,z))
{
if(PlayerInfo[playerid][pTrazeniLevel] == 0) return SendClientMessage(playerid,NS_ORANGE,"* Taj igrac ne poseduje wanted level.");
if(IgracPolicajac(playerid)) return SendClientMessage(playerid,NS_ORANGE,"* Taj igrac je drugi clan policije.");
if(PlayerInfo[issuerid][pRank] == 0) return SendClientMessage(playerid,NS_ORANGE,"* Nemate ovlascenje za upotrebu ove komande.");
if(AdminDuty[playerid] == 1) return SendClientMessage(playerid,NS_ORANGE,"* Ne mozes pogiditi clana staffa.");
new string[128];
format(string, sizeof(string), "%s puca tazerom na %s-a i pogadja ga.", GetName(issuerid) ,GetName(playerid));
ProxDetector(30.0, playerid, PROX, string);
TogglePlayerControllable(playerid, 0); IgracTazovan[playerid] = 1;
TazerTimer[playerid] = SetTimerEx("TazovanTajmer", 15000, false, "i", playerid);
OnePlayAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
}
}
}
}
return 1;
}[/pawn]
[pawn]CMD:liveevent(playerid, params[])
{
new livevent[41];
if(sscanf(params, "s[40]", livevent)) {
SendClientMessage(playerid, NS_YELLOW, (PlayerInfo[playerid][pApermevent] == 1)
? ("[KORISCENJE] "BELA"/liveevent [start/stop/offport/port]")
: ("[KORISCENJE] "BELA"/liveevent [join/leave]")
);
return 1;
}
if(!strcmp(livevent, "port", true))
{
if(PlayerInfo[playerid][pApermevent] != 1) return SCM(playerid,NS_ORANGE, "* Nemate permisiju za upravljanje ovom komandom.");
if(EventInfo[eStartovan] == true) return SCM(playerid,NS_ORANGE, "* Ne mozes koristiti ovu komandu dok ima startovanih evenata.");
Dialog_Show(playerid, LEP, DIALOG_STYLE_LIST,"[UG] Live Event System", ""BELA"Chainsaw\nDeagle Event\nBoks event", "Odaberi", "Izlaz");
}
else if(!strcmp(livevent, "start", true))
{
if(PlayerInfo[playerid][pApermevent] != 1) return SCM(playerid,NS_ORANGE, "* Nemate permisiju za upravljanje ovom komandom.");
if(EventInfo[eStartovan] == true) return SCM(playerid,NS_ORANGE, "* Vec ima pokrenutih live eventa.");
Dialog_Show(playerid, LE, DIALOG_STYLE_INPUT,"Live Event System", ""BELA"Da bi zapoceli live event odredite: [broj igraca/oruzije/health/armoar/ime eventa]", "Dalje", "Izlaz");
}
else if(!strcmp(livevent, "offport", true))
{
if(PlayerInfo[playerid][pApermevent] != 1) return SCM(playerid,NS_ORANGE, "* Nemate permisiju za upravljanje ovom komandom.");
if(EventInfo[eStartovan] == false) return SCM(playerid,NS_ORANGE, "* Nema pokrenutih live eventa.");
if(EventInfo[ePortovi] == false) return SCM(playerid,NS_ORANGE, "* Vec su zabranjeni portovi do live eventa.");
EventInfo[ePortovi] = false;
va_SendClientMessageToAll(NS_SPLAVA, "[EVENT] "BELA"%s je onemogucio teleport do eventa.", GetName(playerid));
}
else if(!strcmp(livevent, "stop", true))
{
if(PlayerInfo[playerid][pApermevent] != 1) return SCM(playerid,NS_ORANGE, "* Nemate permisiju za upravljanje ovom komandom.");
if(EventInfo[eStartovan] == false) return SCM(playerid,NS_ORANGE, "* Nema pokrenutih live eventa.");
foreach(new i : Player)
{
if(UsaoEvent == 1)
{
ac_SetPlayerPos( playerid, EventPozicija[ i ][ 0 ], EventPozicija[ i ][ 1 ], EventPozicija[ i ][ 2 ] );
SetPlayerVirtualWorld( playerid, EventVW[ i ] );
ac_SetPlayerInterior( playerid, EventInt[ i ] );
EventInfo[eUsloIgraca] --;
UsaoEvent = 0;
}
}
EventInfo[eStartovan] = false;
va_SendClientMessageToAll(NS_SPLAVA, "[EVENT] "BELA"%s je zaustavio liveevent.", GetName(playerid));
}
else if(!strcmp(livevent, "join", true))
{
if(PlayerInfo[playerid][pTrazeniLevel] != 0) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok imate wanted.");
if(Zavezan[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste svezani.");
if(StavljeneLisice[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok imate lisice.");
if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste u zatvoru.");
if(PolicajacNaDuznosti[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste policajac na duznosti.");
if(EventInfo[eStartovan] == false) return SCM(playerid,NS_ORANGE, "* Live event nije pokrenut.");
if(EventInfo[ePortovi] == false) return SCM(playerid,NS_ORANGE, "* Portovi do live eventa su ugaseni.");
if(UsaoEvent[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Vec si na live eventu.");
SetPlayerHealth(playerid, EventInfo[eHP]);
SetPlayerArmour(playerid, EventInfo[ePancir]);
new rand = random(4);
switch(rand)
{
case 0: ac_SetPlayerPos(playerid, EventInfo[ePosX]+1, EventInfo[ePosY]+1, EventInfo[ePosZ]);
case 1: ac_SetPlayerPos(playerid, EventInfo[ePosX]+2, EventInfo[ePosY]+2, EventInfo[ePosZ]);
case 2: ac_SetPlayerPos(playerid, EventInfo[ePosX]-2, EventInfo[ePosY]+2, EventInfo[ePosZ]);
case 3: ac_SetPlayerPos(playerid, EventInfo[ePosX]-2, EventInfo[ePosY]-2, EventInfo[ePosZ]);
}
EventInfo[eUsloIgraca] ++;
UsaoEvent[playerid] = 1;
GetPlayerPos( playerid, EventPozicija[ playerid ][ 0 ], EventPozicija[ playerid ][ 1 ], EventPozicija[ playerid ][ 2 ] );
EventVW[ playerid ] = GetPlayerVirtualWorld( playerid );
EventInt[ playerid ] = GetPlayerInterior( playerid );
va_SendClientMessage(playerid,NS_SPLAVA, "[EVENT] "BELA"Pridruzili ste se evenu '"SPLAVA"%s"BELA"'.", EventInfo[eIme]);
if(EventInfo[eBrojIgraca] == EventInfo[eUsloIgraca])
{
EventInfo[ePortovi] = false;
va_SendClientMessageToAll(NS_SPLAVA,"[EVENT] "BELA"Portovi za live event su zatvoreni jer se pridruzio maksimalan broj igraca (%d).", EventInfo[eBrojIgraca]);
}
}
else if(!strcmp(livevent, "leave", true))
{
if(PlayerInfo[playerid][pTrazeniLevel] != 0) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok imate wanted.");
if(Zavezan[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste svezani.");
if(StavljeneLisice[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok imate lisice.");
if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste u zatvoru.");
if(PolicajacNaDuznosti[playerid] == 1) return SCM(playerid,NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste policajac na duznosti.");
if(EventInfo[eStartovan] == false) return SCM(playerid,NS_ORANGE, "* Live event nije pokrenut.");
if(UsaoEvent[playerid] == 0) return SCM(playerid,NS_ORANGE, "* Nisi usao na live event.");
ac_SetPlayerPos( playerid, EventPozicija[ playerid ][ 0 ], EventPozicija[ playerid ][ 1 ], EventPozicija[ playerid ][ 2 ] );
SetPlayerVirtualWorld( playerid, EventVW[ playerid ] );
ac_SetPlayerInterior( playerid, EventInt[ playerid ] );
EventInfo[eUsloIgraca] --;
UsaoEvent[playerid] = 0;
SCM(playerid,NS_YELLOW,"[INFO] "BELA"Napustili ste liveevent!");
}
else return SCM(playerid,NS_ORANGE,"* Pogresna opcija");
return 1;
}
Dialog:LE(playerid, response, listitem, inputtext[])
{
if(response)
{
new igraca, oruzije, hp, pancir, ime[24];
if(sscanf(inputtext, "dddds[24]",igraca,oruzije,hp,pancir,ime)) return Dialog_Show(playerid, LE, DIALOG_STYLE_INPUT,"Live Event System", ""BELA"Da bi zapoceli live event odredite: [broj igraca/oruzije/health/armoar/ime eventa]", "Dalje", "Izlaz");
if(igraca < 0 || igraca > 100) return SCM(playerid,NS_ORANGE, "* Maksimalni broj igraca ne moze biti manji od 0 i veci od 100.");
if(oruzije < 0 || oruzije > 46) return SCM(playerid,NS_ORANGE, "* Oruzije ne moze biti manje od 0 i vece od 100.");
if(hp < 0 || hp > 100) return SCM(playerid,NS_ORANGE, "* Health igraca ne moze biti manji od 0 i veci od 100.");
if(pancir < 0 || pancir > 100) return SCM(playerid,NS_ORANGE, "* Pancir igraca ne moze biti manji od 0 i veci od 100.");
SCMTA(NS_SPLAVA,"[LIVE EVENT] "BELA"Staff team je pokrenuo live event.");
va_SendClientMessageToAll(NS_SPLAVA,"[LIVE EVENT] "BELA"Broj igraca je ogranicen(%d).", igraca);
SCMTA(NS_SPLAVA,"[LIVE EVENT] "BELA"Ukucajte '/liveevent join' kako bi ste se pridruzili eventu.");
strmid(EventInfo[eIme], ime, 0, strlen(ime), 25);
EventInfo[eStartovan] = true;
EventInfo[ePortovi] = true;
EventInfo[eBrojIgraca] = igraca;
EventInfo[eOruzije] = oruzije;
EventInfo[eHP] = hp;
EventInfo[ePancir] = pancir;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x,y,z);
EventInfo[ePosX] = x;
EventInfo[ePosY] = y;
EventInfo[ePosZ] = z;
va_SendClientMessage(playerid, NS_CRVENA,"[UG:RP] "BELA"Pokrenuo si event! (Broj igraca %d).", igraca);
}
return 1;
}[/pawn]
Neko da pomogne ?
if(EventInfo[eStartovan] == true) // Provjerava je li live event pokrenut
{
if(weapon == 0) // Provjerava je li igrač udario sakama
[pawn]if (playerid != issuerid && weaponid == 0)[/pawn]