Szerző Téma: Élet levétele  (Megtekintve 554 alkalommal)

Élet levétele
« Dátum: 2012. július 24. - 17:53:46 »
0 Show voters
Hali én kérnék egy olyan mûködõ Fs-t aminél ha beütjük azt, hogy /robbantas, akkor egy bizonyos koordinátapont és a közelében az embereknek folyamatosan menjen a hp-ja, de csak 2 perc múlva kezdje el levenni a hp-t az embereknek, és csak azoknak akik ebben a akoordinátában vannak, bárki is írta be. A parancs 3 percig legyen funkcióképes, utána ne vegyen le hp-t az emberektõl.
A hp ezen a koordinátán és ennek a közelében menjen : 2144.2827,1635.3290,993.5761,6.3034
Itt keljen beütni  a parancsot : 2144.184082,1626.956054,994.288208
de ha ez megoldhatatlan, akkor it mit kéne átírnom ahoz, hogy ne scak azt dobja ki, aki robbantott?
 
public bombarobban()
{
CreateExplosion(2144.184082,1626.956054,994.288208,0,2.0);
SetObjectPos(bombaajto,20000,20000,20000);
SetTimer(\"kirakjaazembereket\",45000,0);
return 1;
}
public kirakjaazembereket(playerid)
{
SetObjectPos(bombaajto,2144.184082,1626.956054,994.288208);
if(pRobbing[playerid] == 1)
{
SetPlayerPos(playerid,2144.3723,1624.6471,993.6882);
pRobbing[playerid] = 0;
}
return 1;
}

Élet levétele
« Válasz #1 Dátum: 2012. július 24. - 20:12:09 »
0 Show voters
#include <a_samp>
#include <zcmd>
new bool:avaiable;
 
CMD:robbant(playerid, params[]) {
if(!avaiable) return SendClientMessage(playerid, -1, \"Nem használhatod a parancsot!\");
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2144.184082,1626.956054,994.288208)) return SendClientMessage(playerid, -1, \"Nem vagy a megfelelõ helyen!\");
for(new i = 0; i < MAX_PLAYERS;i++) {
    if(IsPlayerInRangeOfPoint(i, 10.0, 2144.2827,1635.3290,993.5761)) {
        SetTimerEx(\"DecreaseHealth\", 120000, false, \"d\", i);
}
}
bombarobban();
SendClientMessage(playerid, -1, \"Robbantottál\");
avaiable = false;
SetTimer(\"allowcommand\", 180000, 0);
return 1;
}
forward DecreaseHealth(playerid);
public DecreaseHealth(playerid){
new Float:pHP;
GetPlayerHealth(playerid, pHP);
SetPlayerHealth(playerid, pHP - 10.0);
if(pHP > 20.0) SetTimerEx(\"DecreaseHealth\", 1000, false, \"d\", playerid);
return 1;
}
forward allowcommand();
public allowcommand() avaiable = true;
forward bombarobban();
public bombarobban() {
CreateExplosion(2144.184082,1626.956054,994.288208,0,2.0);
SetObjectPos(bombaajto,20000,20000,20000);
SetTimer(\"kirakjaazembereket\",45000,0);
return 1;
}
forward kirakjaazembereket();
public kirakjaazembereket() {
SetObjectPos(bombaajto,2144.184082,1626.956054,994.288208);
for(new i = 0; i < MAX_PLAYERS; i++) {
if(pRobbing == 1) {
   SetPlayerPos(i,2144.3723,1624.6471,993.6882);
   pRobbing = 0;
}
}
return 1;
}

 
kicsit máshogy oldottam meg, nem 3percig veszi le az életet.
viszont a parancsot csak 3 percenként használhatod.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal