Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Infinity poslato Novembar 09, 2014, 20:25:32 POSLE PODNE

Naslov: [Pomoc] PayDay nesto radi a nesto ne, sigurno nisu na mestu zagrade
Poruka od: Infinity poslato Novembar 09, 2014, 20:25:32 POSLE PODNE
Skripta koju koristim: /
Detaljan opis problema: Ovako, gde gresim? Pravio sam neki payday, i kao sto se vidi u kodu ispred je lotto i neaktivnost, to sve lepo odradi, al ovaj deo ispod, gde treba da da platu, da pokaze dialog, i sve ostalo nece da radi, al kad nemam dovoljno ovih poena kao koji su potrebni da se primi plata, tad mi ispise, a kad imam, tad nista...
Dio skripte: public PayDay()
{
new string[128];
for(new kucaid = 0; kucaid < sizeof(HouseInfo); kucaid++)
  {
if(HouseInfo[kucaid][hOwned] == 1)
{
    HouseInfo[kucaid][hTimer]++;
if(HouseInfo[kucaid][hTimer] >= 500)
{
HouseInfo[kucaid][hOwned] = 0;
strmid(HouseInfo[kucaid][hOwner], "Drzava", 0, strlen("Drzava"), 255);
strmid(HouseInfo[kucaid][hOwner], "Prodata Zbog Neaktivnosti", 0, strlen("Prodata Zbog Neaktivnosti"), 255);
      HouseInfo[kucaid][hTimer] = 0;
      OnPropUpdate();
      OnPropTextdrawUpdate();

}
}
}
SaveAccounts();
Checkprop();
format(string, sizeof(string), "Lutrija: Pocinjemo izvlacenje.");
OOCOff(COLOR_DBLUE, string);
new rand = random(80);
if(rand <= 77) { rand += 3; }
Lotto(rand);
SBizzInfo[12][sbTill] += 10000;
ExtortionSBiz(12, 1500);
SBizzInfo[15][sbTill] += 15000;
ExtortionSBiz(15, 2000);
SBizzInfo[0][sbTill] += 20000;
ExtortionSBiz(4, 50000);
///////////////
new coordstring[128];
new coordstring1[128];
new coordstring2[128];
new coordstring3[128];
new coordstring4[180];
new coordstring5[128];
new coordstring6[128];
new coordstring7[128];
new coordstring8[128];
new coordstring9[128];
new coordstring10[128];
new coordstring11[128];
new coordstring12[128];
new coordstring13[128];
new coordstring14[128];
new coordstring15[128];
new coordstring16[128];
new payday[1250];
new account;
new rent = 0;
foreach (Player, i)
{
  if(IsPlayerConnected(i))
{
        new nxtlevel = PlayerInfo[i][pLevel]+1;
    new expamount = nxtlevel*levelexp;
    new infostring[128];
    if(PlayerInfo[i][pLevel] > 0)
    {
    if(MoneyMessage[i]==1)
{
    SendClientMessage(i, COLOR_LIGHTRED, "Niste odplatili ratu za kredit, idete u zatvor.");
    GameTextForPlayer(i, "~r~Uhapsen!", 2000, 1);
    SetPlayerInterior(i, 6);
    PlayerInfo[i][pInt] = 6;
    SetPlayerPos(i, 264.6288,77.5742,1001.0391);
            PlayerInfo[i][pJailed] = 1;
            ResetPlayerWeapons(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Uhapseni ste na %d sekundi.   Kaucija: Nedostupna", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_WHITE, string);
}
    if(PlayerInfo[i][pViptime] != 0)
{
    PlayerInfo[i][pViptime]--;
if(PlayerInfo[i][pViptime] <= 0)
    {
PlayerInfo[i][pViptime] = 0;
PlayerInfo[i][pVip] = 0;
SendClientMessage(i, COLOR_GRAD1,"Obavestenje: Ovo je obavestenje o isteku vaseg donatorskog paketa.");
SendClientMessage(i, COLOR_GRAD1,"Hvala vam sto ste donirali. Ukoliko zelite da produzite VIP Status posetite forum.");
format(string, sizeof(string), "Vas BS Admin Team!!!");
GameTextForPlayer(i, string, 5000, 1);
if(gTeam[i] == 4) { gTeam[i] = 3; }
ClearCrime(i);
SetPlayerToTeamColor(i);
}
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
account = PlayerInfo[i][pAccount];
new key = PlayerInfo[i][pPhousekey];
if(key != 999)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 999;
SendClientMessage(i, COLOR_WHITE, "Iseljeni ste.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
           if(PlayerInfo[i][pPayDay] >= 5)
             {
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;

                    new checks = (PlayerInfo[i][pPayCheck] + 150);
                    //__________________________________________________________
                new porezbogastvo;
    new struja, voda, komunalije;
    new ent = HouseInfo[key][hInt];
if(ent == 1 || ent == 2 || ent == 3 || ent == 4)
{
    struja = 100 + (random(25));
    voda = 80 + (random(21));
    komunalije = 60 + (random(10));
}
else if(ent == 6 || ent == 9 || ent == 10 || ent == 12)
{
    struja = 300 + (random(80));
    voda = 100 + (random(35));
    komunalije = 75 + (random(15));
}
    else if(ent == 5 || ent == 15 || ent == 7)
{
    struja = 800 + (random(170));
    voda = 150 + (random(23));
    komunalije = 130 + (random(27));
}
else
{
    struja = 0;
                    voda = 0;
                    komunalije = 0;
}
if(PlayerInfo[i][pPbiskey] != 255)
{
    struja = struja + (50 + (random(34)));
voda = voda + (35 + (random(21)));
}
if(PlayerInfo[i][pPhousekey] == 999)
    {
    struja = 0;
        voda = 0;
          komunalije = 0;
}
new kamatnastopa, interes;
    if(PlayerInfo[i][pVip] == 4 || PlayerInfo[i][pAdmin] >= 2 || PlayerInfo[i][pGm] >= 1)
    {
    PlayerInfo[i][pExp]++;
    kamatnastopa = 5;
      }
    else
    {
    kamatnastopa = 3;
    }
    interes = (PlayerInfo[i][pAccount]/1250)*(kamatnastopa);
    porezbogastvo = (PlayerInfo[i][pAccount]/450);
    account += checks;
    account += interes;
    account -= porezbogastvo;
    account -= struja;
    account -= voda;
    account -= komunalije;
    account -= rent;
PlayerInfo[i][pAccount] = account;
PlayerInfo[i][pExp]++;
format(coordstring, sizeof(coordstring),"        {0049FF}|___BANKARSKI IZVESTAJ___|{FFFFFF}");
format(coordstring1, sizeof(coordstring1),"\n{F3FF02}Plata: $%d{FFFFFF}", checks);
                format(coordstring2, sizeof(coordstring2),"\n{F3FF02}Stecen interes od para u banci:$%d{FFFFFF}",interes);
                format(coordstring3, sizeof(coordstring3),"\nKamatna stopa: {F3FF02}0.%d posto",kamatnastopa);
format(coordstring4, sizeof(coordstring4),"\n{0049FF}|---------- Racuni ----------|{FFFFFF}");
format(coordstring5, sizeof(coordstring5), "\n{00C0FF}Racun za struju: $%d",struja);
format(coordstring6, sizeof(coordstring6),"\nRacun za vodu(Vodovod): $%d",voda);
format(coordstring7, sizeof(coordstring7),"\nRacun za komunalije(Gradska Cistoca): $%d{FFFFFF}",komunalije);
format(coordstring8, sizeof(coordstring8),"\n\n{0049FF}|--------------------|{FFFFFF}");
format(coordstring9, sizeof(coordstring9),"\n{0049FF}Rent: -$%d{FFFFFF}", rent);
format(coordstring10, sizeof(coordstring10),"\nPorez na bogatstvo: $%d\n",porezbogastvo);
format(coordstring11, sizeof(coordstring11),"\n{0049FF}|------------------------|{FFFFFF}");
format(coordstring12, sizeof(coordstring12),"\n{F3FF02}Staro Stanje: $%d{FFFFFF}", account - checks - interes + (porezbogastvo + struja + voda + komunalije + rent));
format(coordstring13, sizeof(coordstring13),"\n{6EF83C}Novo Stanje: $%d",PlayerInfo[i][pAccount]);
format(coordstring14, sizeof(coordstring14),"\n{F3FF02}= Proverite stanje vasih levela /levelup ={FFFFFF}");
format(coordstring15, sizeof(coordstring15),"\n{0049FF}|----------------------------------------|{FFFFFF}");
format(coordstring16, sizeof(coordstring16),"\n");
format(payday, 1250," %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",coordstring,coordstring1,coordstring2,coordstring3,coordstring4,coordstring5,coordstring6,coordstring7,coordstring8,coordstring9,coordstring10,coordstring11,coordstring12,coordstring13,coordstring14,coordstring15,coordstring16);
    ShowPlayerDialog(i, 800, DIALOG_STYLE_MSGBOX, "Bankarski izvestaj gradjana!", payday , "OK", "OK");
format(string, sizeof(string), "~y~Plata~n~~w~Plata je stigla na vas racun");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
if(PlayerInfo[i][pVip] > 0)
                   {
       PlayerInfo[i][pPayDayHad] += 1;
       if(PlayerInfo[i][pPayDayHad] >= 5)
         {
        PlayerInfo[i][pExp]++;
        PlayerInfo[i][pPayDayHad] = 0;
         }
                     }
if (PlayerInfo[i][pExp] >= expamount)
{
PlayerInfo[i][pLevel]++;
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
GameTextForPlayer(i, string, 5000, 1);
format(infostring, 256, "[LEVEL UP]Cestitamo! Sada ste level %d.  Kucajte /nadogradnja", nxtlevel);
SendClientMessage(i, COLOR_WHITE, infostring);
format(infostring, 256, "Imate %d nepotrosenih Upgrade Poena",PlayerInfo[i][gPupgrade]);
SendClientMessage(i, COLOR_WHITE, infostring);
}
}
else
{
            SendClientMessage(i, COLOR_WHITE, "* Niste igrali dovoljno dugo da biste dobili platu.");
            }
        }
       }
    }
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] PayDay nesto radi a nesto ne, sigurno nisu na mestu zagrade
Poruka od: Infinity poslato Novembar 11, 2014, 09:09:46 PRE PODNE
bump
Naslov: Odg: [Pomoc] PayDay nesto radi a nesto ne, sigurno nisu na mestu zagrade
Poruka od: [CH]Lenon poslato Novembar 11, 2014, 17:19:19 POSLE PODNE
Probaj ovako:


public PayDay()
{
new string[128];
for(new kucaid = 0; kucaid < sizeof(HouseInfo); kucaid++)
  {
if(HouseInfo[kucaid][hOwned] == 1)
{
    HouseInfo[kucaid][hTimer]++;
if(HouseInfo[kucaid][hTimer] >= 500)
{
HouseInfo[kucaid][hOwned] = 0;
strmid(HouseInfo[kucaid][hOwner], "Drzava", 0, strlen("Drzava"), 255);
strmid(HouseInfo[kucaid][hOwner], "Prodata Zbog Neaktivnosti", 0, strlen("Prodata Zbog Neaktivnosti"), 255);
      HouseInfo[kucaid][hTimer] = 0;
      OnPropUpdate();
      OnPropTextdrawUpdate();

}
}
}
SaveAccounts();
Checkprop();
format(string, sizeof(string), "Lutrija: Pocinjemo izvlacenje.");
OOCOff(COLOR_DBLUE, string);
new rand = random(80);
if(rand <= 77) { rand += 3; }
Lotto(rand);
SBizzInfo[12][sbTill] += 10000;
ExtortionSBiz(12, 1500);
SBizzInfo[15][sbTill] += 15000;
ExtortionSBiz(15, 2000);
SBizzInfo[0][sbTill] += 20000;
ExtortionSBiz(4, 50000);
///////////////
new coordstring[128];
new coordstring1[128];
new coordstring2[128];
new coordstring3[128];
new coordstring4[180];
new coordstring5[128];
new coordstring6[128];
new coordstring7[128];
new coordstring8[128];
new coordstring9[128];
new coordstring10[128];
new coordstring11[128];
new coordstring12[128];
new coordstring13[128];
new coordstring14[128];
new coordstring15[128];
new coordstring16[128];
new payday[1250];
new account;
new rent = 0;
foreach (Player, i)
{
  if(IsPlayerConnected(i))
{
        new nxtlevel = PlayerInfo[i][pLevel]+1;
    new expamount = nxtlevel*levelexp;
    new infostring[128];
    if(PlayerInfo[i][pLevel] > 0)
    {
    if(MoneyMessage[i]==1)
{
    SendClientMessage(i, COLOR_LIGHTRED, "Niste odplatili ratu za kredit, idete u zatvor.");
    GameTextForPlayer(i, "~r~Uhapsen!", 2000, 1);
    SetPlayerInterior(i, 6);
    PlayerInfo[i][pInt] = 6;
    SetPlayerPos(i, 264.6288,77.5742,1001.0391);
            PlayerInfo[i][pJailed] = 1;
            ResetPlayerWeapons(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Uhapseni ste na %d sekundi.   Kaucija: Nedostupna", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_WHITE, string);
}
    if(PlayerInfo[i][pViptime] != 0)
{
    PlayerInfo[i][pViptime]--;
if(PlayerInfo[i][pViptime] <= 0)
    {
PlayerInfo[i][pViptime] = 0;
PlayerInfo[i][pVip] = 0;
SendClientMessage(i, COLOR_GRAD1,"Obavestenje: Ovo je obavestenje o isteku vaseg donatorskog paketa.");
SendClientMessage(i, COLOR_GRAD1,"Hvala vam sto ste donirali. Ukoliko zelite da produzite VIP Status posetite forum.");
format(string, sizeof(string), "Vas BS Admin Team!!!");
GameTextForPlayer(i, string, 5000, 1);
if(gTeam[i] == 4) { gTeam[i] = 3; }
ClearCrime(i);
SetPlayerToTeamColor(i);
}
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
account = PlayerInfo[i][pAccount];
new key = PlayerInfo[i][pPhousekey];
if(key != 999)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 999;
SendClientMessage(i, COLOR_WHITE, "Iseljeni ste.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
            if(PlayerInfo[i][pPayDay] < 5)return SendClientMessage(i, COLOR_WHITE, "* Niste igrali dovoljno dugo da biste dobili platu.");
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;

                    new checks = (PlayerInfo[i][pPayCheck] + 150);
                    //__________________________________________________________
                new porezbogastvo;
    new struja, voda, komunalije;
    new ent = HouseInfo[key][hInt];
if(ent == 1 || ent == 2 || ent == 3 || ent == 4)
{
    struja = 100 + (random(25));
    voda = 80 + (random(21));
    komunalije = 60 + (random(10));
}
else if(ent == 6 || ent == 9 || ent == 10 || ent == 12)
{
    struja = 300 + (random(80));
    voda = 100 + (random(35));
    komunalije = 75 + (random(15));
}
    else if(ent == 5 || ent == 15 || ent == 7)
{
    struja = 800 + (random(170));
    voda = 150 + (random(23));
    komunalije = 130 + (random(27));
}
else
{
    struja = 0;
                    voda = 0;
                    komunalije = 0;
}
if(PlayerInfo[i][pPbiskey] != 255)
{
    struja = struja + (50 + (random(34)));
voda = voda + (35 + (random(21)));
}
if(PlayerInfo[i][pPhousekey] == 999)
    {
    struja = 0;
        voda = 0;
          komunalije = 0;
}
new kamatnastopa, interes;
    if(PlayerInfo[i][pVip] == 4 || PlayerInfo[i][pAdmin] >= 2 || PlayerInfo[i][pGm] >= 1)
    {
    PlayerInfo[i][pExp]++;
    kamatnastopa = 5;
      }
    else
    {
    kamatnastopa = 3;
    }
    interes = (PlayerInfo[i][pAccount]/1250)*(kamatnastopa);
    porezbogastvo = (PlayerInfo[i][pAccount]/450);
    account += checks;
    account += interes;
    account -= porezbogastvo;
    account -= struja;
    account -= voda;
    account -= komunalije;
    account -= rent;
PlayerInfo[i][pAccount] = account;
PlayerInfo[i][pExp]++;
format(coordstring, sizeof(coordstring),"        {0049FF}|___BANKARSKI IZVESTAJ___|{FFFFFF}");
format(coordstring1, sizeof(coordstring1),"\n{F3FF02}Plata: $%d{FFFFFF}", checks);
                format(coordstring2, sizeof(coordstring2),"\n{F3FF02}Stecen interes od para u banci:$%d{FFFFFF}",interes);
                format(coordstring3, sizeof(coordstring3),"\nKamatna stopa: {F3FF02}0.%d posto",kamatnastopa);
format(coordstring4, sizeof(coordstring4),"\n{0049FF}|---------- Racuni ----------|{FFFFFF}");
format(coordstring5, sizeof(coordstring5), "\n{00C0FF}Racun za struju: $%d",struja);
format(coordstring6, sizeof(coordstring6),"\nRacun za vodu(Vodovod): $%d",voda);
format(coordstring7, sizeof(coordstring7),"\nRacun za komunalije(Gradska Cistoca): $%d{FFFFFF}",komunalije);
format(coordstring8, sizeof(coordstring8),"\n\n{0049FF}|--------------------|{FFFFFF}");
format(coordstring9, sizeof(coordstring9),"\n{0049FF}Rent: -$%d{FFFFFF}", rent);
format(coordstring10, sizeof(coordstring10),"\nPorez na bogatstvo: $%d\n",porezbogastvo);
format(coordstring11, sizeof(coordstring11),"\n{0049FF}|------------------------|{FFFFFF}");
format(coordstring12, sizeof(coordstring12),"\n{F3FF02}Staro Stanje: $%d{FFFFFF}", account - checks - interes + (porezbogastvo + struja + voda + komunalije + rent));
format(coordstring13, sizeof(coordstring13),"\n{6EF83C}Novo Stanje: $%d",PlayerInfo[i][pAccount]);
format(coordstring14, sizeof(coordstring14),"\n{F3FF02}= Proverite stanje vasih levela /levelup ={FFFFFF}");
format(coordstring15, sizeof(coordstring15),"\n{0049FF}|----------------------------------------|{FFFFFF}");
format(coordstring16, sizeof(coordstring16),"\n");
format(payday, 1250," %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",coordstring,coordstring1,coordstring2,coordstring3,coordstring4,coordstring5,coordstring6,coordstring7,coordstring8,coordstring9,coordstring10,coordstring11,coordstring12,coordstring13,coordstring14,coordstring15,coordstring16);
    ShowPlayerDialog(i, 800, DIALOG_STYLE_MSGBOX, "Bankarski izvestaj gradjana!", payday , "OK", "OK");
format(string, sizeof(string), "~y~Plata~n~~w~Plata je stigla na vas racun");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
if(PlayerInfo[i][pVip] > 0)
                   {
       PlayerInfo[i][pPayDayHad] += 1;
       if(PlayerInfo[i][pPayDayHad] >= 5)
         {
        PlayerInfo[i][pExp]++;
        PlayerInfo[i][pPayDayHad] = 0;
         }
                     }
if (PlayerInfo[i][pExp] >= expamount)
{
PlayerInfo[i][pLevel]++;
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
GameTextForPlayer(i, string, 5000, 1);
format(infostring, 256, "[LEVEL UP]Cestitamo! Sada ste level %d.  Kucajte /nadogradnja", nxtlevel);
SendClientMessage(i, COLOR_WHITE, infostring);
format(infostring, 256, "Imate %d nepotrosenih Upgrade Poena",PlayerInfo[i][gPupgrade]);
SendClientMessage(i, COLOR_WHITE, infostring);
}
}
        }
       }
    }
return 1;
}
Naslov: Odg: [Pomoc] PayDay nesto radi a nesto ne, sigurno nisu na mestu zagrade
Poruka od: Infinity poslato Novembar 17, 2014, 10:53:42 PRE PODNE
naso sam problem, problem je bio u new key = PlayerInfo[pPhousekey];
i new ent...
Znaci ja jos uvek ne mogu da shvatim sto, samo sam stavio posle skoro svakog dela SCM i neku poruku da znam dokle ucitava i on ucita do toga i posle nista nece, kad sam obrisao to i stavio sam uslov da se ima kuca, sve radi kako treba...