Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-12-21, 19:52


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Witam. Mam taki problem z systemem wybuchania po?ar?w. Po?ar wybucha co 1 min tak jak timer ustawi?em i gdy ugasz? go to ju? wi?cej nie wybucha. Dopiero po jakiej? 1h. Oto kod od wybuchania i gaszenia po?aru:
Pawn
SetTimer("PlaceRandomFire", (1000*60), true);

Gaszenie pozaru:
Pawn
new newkeys,l,u;
        GetPlayerKeys(playeridnewkeyslu);
        new i;
        if(Holding(KEY_FIRE))
        {
            if(GetPlayerWeapon(playerid) == 42)
            {
                for(0i<MaxFirei++)
                {
                    if(IsValidFire(i))
                    {
                        if(PlayerFaces(playeridFirePos[i][0],  FirePos[i][1],  FirePos[i][2], 1) && IsPlayerInRangeOfPoint(playerid4FirePos[i][0],  FirePos[i][1],  FirePos[i][2]))
                        {
                            FireHealth[i]-=2;
                            #if defined Labels
                            new string[128];
                            format(stringsizeof(string), "%d/%d"FireHealth[i], FireHealthMax[i]);
                            Update3DTextLabelText(FireText[i], 0xFFFFFFFFstring);
                            //Delete3DTextLabel(FireText[i]);
                            //FireText[i] = Create3DTextLabel(string, 0xFFFFFFFF, FirePos[i][0],  FirePos[i][1],  FirePos[i][2], 20, 0);
                            #endif
                            if(FireHealth[i] <= 0)
                            {
                                DeleteFire(i);
                                CallRemoteFunction("OnFireDeath""dd"iplayerid);
SendClientMessage(playeridZolty"Wynagrodzenie: {FFFFFF}$200 i 20 score **"); // ustawiasz se wynagrodzenie
                                GiveMoneyEx(playerid,200);
                                GiveScoreEx(playerid,GetScoreEx(playerid)+20);
                       
                            }
                        }
                    }
                }
            }
        }
 stock DeleteFire(ID)
    {

        for(new i=GetMaxPlayers(), playeridplayerid != iplayerid++)
        {
            DestroyObject(FireObj[ID]);
            TotalFires--;
            FirePos[ID][0] = 0FirePos[ID][1] = 0FirePos[ID][2] = 0;
      
            Delete3DTextLabel(FireText[ID]);

        RemovePlayerMapIcon(playerid,4);

        }
        return 1;
    }
    stock DeleteAllFire()
    {
        new ID;
        for(ID 0ID<MaxFireID++)
        {
            DestroyObject(FireObj[ID]);
            TotalFires0;
            FirePos[ID][0] = 0FirePos[ID][1] = 0FirePos[ID][2] = 0;
            #if defined Labels
            Delete3DTextLabel(FireText[i]);
            #endif
        }
    }
    stock IsValidFire(ID)
    {
        if( (FirePos[ID][0] != 0) && (FirePos[ID][1] != 0) && (FirePos[ID][2] != 0) ) return true;
        else return false;
    }
    stock GetClosestFire(playerid)
    {
        new i;
        for(0i<MaxFirei++)
        {
            if(IsValidFire(i) && IsPlayerInRangeOfPoint(playerid1FirePos[i][0],  FirePos[i][1],  FirePos[i][2]))
            {
                return i;
            }
        }
        return 0;
    }

Wybuchanie pozaru:
Pawn
stock AddFire(Float:x1Float:y1Float:z1Health)
    {
        TotalFires++;
        new ID TotalFires;
        FireObj[ID] = CreateObject(3461x1y1z1-2.61000.0);
        FirePos[ID][0] = x1FirePos[ID][1] = y1FirePos[ID][2] = z1;
        FireHealth[ID] = Health;
        FireHealthMax[ID] = Health;

        new string[128];
        format(stringsizeof(string), "%d/%d"FireHealth[ID], FireHealthMax[ID]);
        FireText[ID] = Create3DTextLabel(string0xFFFFFFFFFx1y1z1200);
        return 1;
    }
forward PlaceRandomFire();
    public PlaceRandomFire()
    {
        new rand random(sizeof(RandomFire));
        AddFire(RandomFire[rand][0], RandomFire[rand][1], RandomFire[rand][2], 100);
        for(new i=GetMaxPlayers(), playeridplayerid != iplayerid++)
        {
            if(IsPlayerConnected(playerid) && PlayerInfo[playerid][Team] == COMPANY_STRAZ)

            SetPlayerMapIcon(playerid4RandomFire[rand][0], RandomFire[rand][1], RandomFire[rand][2], 200MAPICON_GLOBAL);
        }
        return 1;
    }

Prosze o szybk? pomoc.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-22, 07:27


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Sk?d ja znam ten magiczny kod :->

Kod:

forward PlaceRandomFire();
public PlaceRandomFire()
{
new rand = random(sizeof(RandomFire));
AddFire(RandomFire[rand][0], RandomFire[rand][1], RandomFire[rand][2], 100);
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][Team] == COMPANY_STRAZ)

SetPlayerMapIcon(i, 4, RandomFire[rand][0], RandomFire[rand][1], RandomFire[rand][2], 20, 0, MAPICON_GLOBAL);
}
return 1;
}


HO?, HO?, HO?, MERY KRYSZTMES

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-22, 09:17


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Niestety, nadal nie dzia?a ;(

[ Dodano: 2014-12-22, 21:10 ]
Wie kto? jak to naprawi??

[ Dodano: 2014-12-23, 00:31 ]
Pomo?e kto??

Postaw piwo autorowi tego posta
 

 
Tagi: wybuchanie :: pożaru
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku