Skocz do zawartości
Jaev

pętla nie działa?

Rekomendowane odpowiedzi

Witam, mam coś co się nie pokazuje (map icon, 3dtext)

forward ShowBays(playerid);
public ShowBays(playerid)
{
    new info[128];
    for(new id = 0; id < MaxBays(); id++)
    {
        format(info, sizeof info, "{00CC00}[{FFFFFF}%d{00CC00}]\nDok załadunkowy w:\n{00CC00}%s", BayCache[bUID], BayCache[bName]);
        Create3DTextLabel(info, -1, BayCache[bPosX], BayCache[bPosY], BayCache[bPosZ], 0.0, 0, 1);
        SetPlayerMapIcon(playerid, 12, BayCache[bPosX], BayCache[bPosY], BayCache[bPosZ], 52, 0, MAPICON_LOCAL);
    }
    return 1;
}
	 
stock MaxBays()
{
    new nums, query[256];
    format(query, sizeof query, "SELECT * FROM `bays`");
    mysql_query(query);
    
    mysql_store_result();
    nums = mysql_num_rows();
    return nums;
}
Edytowane przez Jaev

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie działa :E

#define MAX_BAYS 3
forward ShowBays(playerid);
public ShowBays(playerid)
{
    for(new id = 0; id < MAX_BAYS; id++)
    {
        SetPlayerMapIcon(id, 12, BayCache[bPosX], BayCache[bPosY], BayCache[bPosZ], 51, 0, MAPICON_LOCAL);
    }
    return 1;
}
	
Edytowane przez Jaev

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No a jak ma zadziałać skoro pętla rozpocznie się jeśli 'id' będzie większe od 'MAX_BAYS' czyli 3. Jeżeli liczba id była by 4 i wyżej dopiero pętla by się wykonała.

http://pastebin.com/7p97jA2x

Ta pętla wykona się 4 razy, chyba o to chodziło a jeśli nie to powiedz, postaram się pomóc.

Tylko pytanie po co robisz wczytywanie map icon w pętli? Z tego wynika że 4 razy doda graczowi ten sam map icon.

 

Edytowane przez Azholi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
O 6.06.2016 o 21:53, int napisał:

No a jak ma zadziałać skoro pętla rozpocznie się jeśli 'id' będzie większe od 'MAX_BAYS' czyli 3. Jeżeli liczba id była by 4 i wyżej dopiero pętla by się wykonała.

http://pastebin.com/7p97jA2x

Ta pętla wykona się 4 razy, chyba o to chodziło a jeśli nie to powiedz, postaram się pomóc.

Tylko pytanie po co robisz wczytywanie map icon w pętli? Z tego wynika że 4 razy doda graczowi ten sam map icon.

 

Ziomuś, ale pieprzysz farmazony, zrobiłeś coś, a może widziałeś kiedykolwiek język pawn?
Nie wiesz wgl jak działa pętla for ;_:

Moim zdaniem zmienna BayCache jest dwutablicowa w sensie BayCache[ilosc][enum] i ty o tym zapominasz.

#define MAX_BAYS 3
forward ShowBays(playerid);
public ShowBays(playerid)
{
    for(new id = 0; id < MAX_BAYS; id++)
    {
        SetPlayerMapIcon(playerid, 12, BayCache[id][bPosX], BayCache[id][bPosY], BayCache[id][bPosZ], 51, 0, MAPICON_LOCAL);
    }
    return 1;
}

 

Już prędzej coś takiego

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×