Jump to content
  • 0

pomoc Firma - Přičítá jen hráči s ID 0


Jakub Kučera

Dotaz

Ahoj, omlouvám se, že zase otravuji, ale už jsem zkusil všechno a nic mi nejde)

public VydelekFirmy(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(HFirma[i] == 0) return 1;
    HFirma[i] += 250000;
    SendClientMessage(i, -1, "[{80FF88}Firmy.cz{FFFFFF}] Tvá firma si vydělala {FF0000}250 000{FFFFFF}$");
}
return 1;
}

Tento timer má dát každému, kdo vlastní firmu s hodnotou větší než 0$,  250 000 $, každých 15 minut, ale nejde mi to, protože to dá jen hráči, který má firmu s danou hodnotou, ale jen s ID 0. Proto se ptám, čím by to mohlo být. Už jsem vyzkoušel vše a nic nejde.

Díky za odpověď.

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

pridal som si to do pawna a pridavam si printf. Je na servery aj online ID 1 ? Ak nie tak preto to prida len na ID 0 lebo ID 1 nieje online

public sa nema volať VydelekFirmy(playerid) ak tam je ciklus


public VydelekFirmy()
{
    print("public VydelekFirmy");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        printf("ciklus %i",i);
        if(HFirma[i] == 0)
        {
            printf("Firma hrača %i ma cenu 0",i);
        }else{
            printf("+25000 na ID %i",i);
            HFirma[i] += 250000;
            SendClientMessage(i, -1, "[{80FF88}Firmy.cz{FFFFFF}] Tvá firma si vydělala {FF0000}250 000{FFFFFF}$");
        }
    }
    return 1;
}
Link to comment
Share on other sites

  • 0

 

pridal som si to do pawna a pridavam si printf. Je na servery aj online ID 1 ? Ak nie tak preto to prida len na ID 0 lebo ID 1 nieje online

public sa nema volať VydelekFirmy(playerid) ak tam je ciklus

public VydelekFirmy()
{
    print("public VydelekFirmy");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        printf("ciklus %i",i);
        if(HFirma[i] == 0)
        {
            printf("Firma hrača %i ma cenu 0",i);
        }else{
            printf("+25000 na ID %i",i);
            HFirma[i] += 250000;
            SendClientMessage(i, -1, "[{80FF88}Firmy.cz{FFFFFF}] Tvá firma si vydělala {FF0000}250 000{FFFFFF}$");
        }
    }
    return 1;
}

 

Ano, na serveru je i jiný hráč, takže by to mělo fungovat i pro něj. Nejsem blbej, abych to zkoušel sám na serveru a jestli to dává i hráči, který není připojený.

Link to comment
Share on other sites

  • 0

Nevím jestli jsem to pochopil ale zkus tohle.... xD

public VydelekFirmy(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(HFirma[i] > 0)
{
HFirma[i] += 250000;
SendClientMessage(i, -1, "[{80FF88}Firmy.cz{FFFFFF}] Tvá firma si vydělala {FF0000}250 000{FFFFFF}$");
}
}
return 1;
}
Link to comment
Share on other sites

  • 0

Ano, na serveru je i jiný hráč, takže by to mělo fungovat i pro něj. Nejsem blbej, abych to zkoušel sám na serveru a jestli to dává i hráči, který není připojený.

Nenazval som ťa blbim. takto zistíš kde je problem a kde sa to zatavi. No ale ok. je to tvoja voľba. Zistil by si kde sa to zastavi a potom aj prečo

Link to comment
Share on other sites

  • 0

 

Nevím jestli jsem to pochopil ale zkus tohle.... xD

public VydelekFirmy(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(HFirma[i] > 0)
{
HFirma[i] += 250000;
SendClientMessage(i, -1, "[{80FF88}Firmy.cz{FFFFFF}] Tvá firma si vydělala {FF0000}250 000{FFFFFF}$");
}
}
return 1;
}

to myslíš vážne?

 

OT: v publicu máš parameter playerid, používaš ho? Ak nie, vymaž ho je zbytočný. Skús pridať do cyklusu IsPlayerConnected(); a uvidíš, či sa niečo zmenilo.

Link to comment
Share on other sites

  • 0
if(HFirma[i] == 0) return 1;

Znamena ze ak hrac i ma na ucte 0 tak sa ukonci cyklus a fce vrati hodnotu 1.

 

 

Tam daj

if(HFirma[i] == 0) continue;

Ak ma hrac i na ucte 0 tak cyklus preskoci na dalsieho hraca

Link to comment
Share on other sites

  • 0
if(HFirma[i] == 0) return 1;

Znamena ze ak hrac i ma na ucte 0 tak sa ukonci cyklus a fce vrati hodnotu 1.

 

 

Tam daj

if(HFirma[i] == 0) continue;

Ak ma hrac i na ucte 0 tak cyklus preskoci na dalsieho hraca

 

No vlastne pravda. Ale moje by bolo funkčne ne ?

Link to comment
Share on other sites

  • 0

to myslíš vážne?

 

OT: v publicu máš parameter playerid, používaš ho? Ak nie, vymaž ho je zbytočný. Skús pridať do cyklusu IsPlayerConnected(); a uvidíš, či sa niečo zmenilo.

 

Říkal jsem že jsem možná nepochopil o co mu jde.... Je večer.... Už na to doopravdy nemám čas :)

Link to comment
Share on other sites

  • 0

No já nevím, jestli to bude fungovat podle mé představy, půjde to tedy, když ID 0 bude mít 50 000$, ID 1 50 000$, ID 2 0$ a ID 3 třeba 5 000 000$ ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...