Detaljan opis problema: Kada otvorim dialog i kupim nesto nista ne dobijem i ne skida mi novac.I u konzolu mi salje neki amx backtrace,molim vas pomozite ovo je vec deseti put da stavljam istu temu.
Dio skripte:
CMD:
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
if(IsPlayerInRangeOfPoint(playerid, 2.0, -2540.9431, 2292.0476, 4.9844) || IsPlayerInRangeOfPoint(playerid, 2.0, -2278.4382, 2312.0273, 4.9659) || IsPlayerInRangeOfPoint(playerid, 2.0, -2565.6521, 2469.9983, 19.4087) || IsPlayerInRangeOfPoint(playerid, 2.0, -1472.1143, 2642.0332, 55.8359) || IsPlayerInRangeOfPoint(playerid, 2.0, -1525.1388, 2544.7451, 55.8359))
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""HZELENA"- "BELA"Dopuna (20$)\n"HZELENA"- "BELA"Dopuna (50$)\n"HZELENA"- "BELA"Dopuna (100$)\n"HZELENA"- "BELA"Sok (10$)\n"HZELENA"- "BELA"Cigare (20$)\n"HZELENA"- "BELA"Upaljac (10$)\n"HZELENA"- "BELA"Cokoladica (10$)\n"HZELENA"- "BELA"Mp3 (100$)\n", "Odaberi", "Izlaz");
else return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
return 1;
}[/pawn]
Evo i dialog
[pawn]
if(dialogid == DIALOG_TRAFIKA)
{
if(!response) return 1;
if(FirmaInfo[KioskKupovina[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""ZPLAVA"[Trafika]: "BELA"Nemamo vise proizvoda!");
FirmaInfo[KioskKupovina[playerid]][fProizvodi]--;
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE:RPBE:RP] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 20) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 20$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 20 kredita za 20$!");
PlayerInfo[playerid][pMobKredit] += 20;
g_NovacMinus(playerid,20);
FirmaNovac(KioskKupovina[playerid],20);
SavePlayer(playerid);
}
case 1:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 50) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 50$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 50 kredita za 50$!");
PlayerInfo[playerid][pMobKredit] += 50;
g_NovacMinus(playerid,50);
FirmaNovac(KioskKupovina[playerid],50);
SavePlayer(playerid);
}
case 2:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 100$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 100 kredita za 100$!");
PlayerInfo[playerid][pMobKredit] += 100;
g_NovacMinus(playerid,100);
FirmaNovac(KioskKupovina[playerid],100);
SavePlayer(playerid);
}
case 3:
{
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE]"SIVA"Nemate dovoljno novca 10$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste sok za 10$!");
SetPlayerSpecialAction( playerid, SPECIAL_ACTION_DRINK_SPRUNK);
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
}
case 4:
{
if(PlayerInfo[playerid][pCigare] != 0) return SCMF(playerid,-1,""HZELENA"[BE] "SIVA"Vec imas %d cigara prvo ih popusi!",PlayerInfo[playerid][pCigare]);
if(PlayerInfo[playerid][pNovacDzep] < 20) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 20$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste cigare | Sada mozete zapliti cigaru (/zapalicigaru | /ugasicigaru)!");
PlayerInfo[playerid][pCigare] = 20;
g_NovacMinus(playerid,20);
FirmaNovac(KioskKupovina[playerid],20);
SavePlayer(playerid);
}
case 5:
{
if(PlayerInfo[playerid][pUpaljac] == 1) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Vec posedujes upaljac!");
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 10$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste upaljac za 10$!");
PlayerInfo[playerid][pUpaljac] = 10;
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
SavePlayer(playerid);
}
case 6:
{
new string[128];
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 10$!");
new Float:hp, Float:nhp; GetPlayerHealth(playerid, hp);
nhp = floatadd(hp, 10.0); g_SetPlayerHealth(playerid, nhp);
if(nhp > 99.0) g_SetPlayerHealth(playerid, 99.0);
if(nhp >= 99.0) return SCM(playerid,-1,"[BE] "HZELENA"Niste gladni!");
format(string, sizeof(string), "* %s jede cokoladicu.", GetName(playerid));
ProxDetector(15.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
}
case 7:
{
if(PlayerInfo[playerid][pMp3] == 1) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Vec posedujes mp3!");
if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 50$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste mp3 za 100$ | koriscenje : /mp3 !");
PlayerInfo[playerid][pMp3] = 1;
g_NovacMinus(playerid,100);
FirmaNovac(KioskKupovina[playerid],100);
SavePlayer(playerid);
}
}
}[/pawn]
I konzoli mi se ovo pojavi kada pokusam da kupim nesto:
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at negative index -1
[debug] AMX backtrace:
[debug] #0 001e1cd0 in ?? (0, 222, 1, 5, 22570212) from Exin.amx
[debug] #1 0000ad84 in public OnDialogResponse (0, 222, 1, 5, 22570212) from Exin.amx
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Postavi nam ovdje gdje koristiš KioskKupovina varijablu.Odnosno daj nam gdje postavljaš njezinu vrijednost.
Ili možeš svoj dialog zamjeniti sa ovim,pa nam reci što ti ispisuje u server_log
[pawn] if(dialogid == DIALOG_TRAFIKA)
{
if(!response) return 1;
printf("Kiosk Kupovina: %d",KioskKupovina[playerid]);
if(FirmaInfo[KioskKupovina[playerid]][fProizvodi] <= 0) return SCM(playerid,-1,""ZPLAVA"[Trafika]: "BELA"Nemamo vise proizvoda!");
FirmaInfo[KioskKupovina[playerid]][fProizvodi]--;
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE:RPBE:RP] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 20) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 20$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 20 kredita za 20$!");
PlayerInfo[playerid][pMobKredit] += 20;
g_NovacMinus(playerid,20);
FirmaNovac(KioskKupovina[playerid],20);
SavePlayer(playerid);
}
case 1:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 50) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 50$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 50 kredita za 50$!");
PlayerInfo[playerid][pMobKredit] += 50;
g_NovacMinus(playerid,50);
FirmaNovac(KioskKupovina[playerid],50);
SavePlayer(playerid);
}
case 2:
{
if(PlayerInfo[playerid][pMobilni] == 0) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate mobilni telefon!");
if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 100$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste 100 kredita za 100$!");
PlayerInfo[playerid][pMobKredit] += 100;
g_NovacMinus(playerid,100);
FirmaNovac(KioskKupovina[playerid],100);
SavePlayer(playerid);
}
case 3:
{
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE]"SIVA"Nemate dovoljno novca 10$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste sok za 10$!");
SetPlayerSpecialAction( playerid, SPECIAL_ACTION_DRINK_SPRUNK);
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
}
case 4:
{
if(PlayerInfo[playerid][pCigare] != 0) return SCMF(playerid,-1,""HZELENA"[BE] "SIVA"Vec imas %d cigara prvo ih popusi!",PlayerInfo[playerid][pCigare]);
if(PlayerInfo[playerid][pNovacDzep] < 20) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 20$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste cigare | Sada mozete zapliti cigaru (/zapalicigaru | /ugasicigaru)!");
PlayerInfo[playerid][pCigare] = 20;
g_NovacMinus(playerid,20);
FirmaNovac(KioskKupovina[playerid],20);
SavePlayer(playerid);
}
case 5:
{
if(PlayerInfo[playerid][pUpaljac] == 1) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Vec posedujes upaljac!");
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 10$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste upaljac za 10$!");
PlayerInfo[playerid][pUpaljac] = 10;
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
SavePlayer(playerid);
}
case 6:
{
new string[128];
if(PlayerInfo[playerid][pNovacDzep] < 10) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 10$!");
new Float:hp, Float:nhp; GetPlayerHealth(playerid, hp);
nhp = floatadd(hp, 10.0); g_SetPlayerHealth(playerid, nhp);
if(nhp > 99.0) g_SetPlayerHealth(playerid, 99.0);
if(nhp >= 99.0) return SCM(playerid,-1,"[BE] "HZELENA"Niste gladni!");
format(string, sizeof(string), "* %s jede cokoladicu.", GetName(playerid));
ProxDetector(15.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);
g_NovacMinus(playerid,10);
FirmaNovac(KioskKupovina[playerid],10);
}
case 7:
{
if(PlayerInfo[playerid][pMp3] == 1) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Vec posedujes mp3!");
if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1, ""HZELENA"[BE] "SIVA"Nemate dovoljno novca 50$!");
SCM(playerid,-1,""ZUTA"[INFO] "SIVA"Kupili ste mp3 za 100$ | koriscenje : /mp3 !");
PlayerInfo[playerid][pMp3] = 1;
g_NovacMinus(playerid,100);
FirmaNovac(KioskKupovina[playerid],100);
SavePlayer(playerid);
}
}
}
[/pawn]
Kada sam stavio taj drugi Dialog Trafike opet isto
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at negative index -1
[debug] AMX backtrace:
[debug] #0 001fd888 in ?? (0, 222, 1, 0, 22632524) from Adamo.amx
[debug] #1 0000ad84 in public OnDialogResponse (0, 222, 1, 0, 22632524) from Adamo.amx
A ovo je sve gde imam KioskKupovina
new KioskKupovina[MAX_PLAYERS];
Kod OnPlayerConnect imam KioskKupovina[playerid] = -1;
I kod Trafike Dialog imam KioskKupovina.
Pa u tome ti je problem oÄito.KioskKupovina si vjerovatno ti pravio?KioskKupovina bi trebalo oznaÄavati ID firme,ali nigdje to ne koristiÅ¡ tako da ti je KioskKupovina -1.
Morat ćeÅ¡ to na drugi naÄin napraviti.Sve gdje imaÅ¡ KioskKupovina najbolje stavi pod komentar ( /* */ ili // ) pa onda probaj.Prvo vidi da li je do toga(a vjerovatno je)
Onda ćeÅ¡ morati to napraviti na drugi naÄin,najbolje da kad kupuje napraviÅ¡ jednu for petlju koja će provjeriti najbližu igraÄevu trafiku i njoj postaviti pare i smanjiti br. proizvoda.
probaj prebaciti taj sistem trafike sa underpointa,naravno malo prilagodi svom modu ali nema puno posla jer je ja msm up izvorni od adamo rp
[pawn]for(new i = 86; i < 91; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}[/pawn]
evo ti iz ovo sto ti je paul rekao,samo promijeni id firme,tj u ovoj for petlji
Citat: Paul Castellano poslato Januar 25, 2018, 19:56:19 POSLE PODNE
Pa u tome ti je problem oÄito.KioskKupovina si vjerovatno ti pravio?KioskKupovina bi trebalo oznaÄavati ID firme,ali nigdje to ne koristiÅ¡ tako da ti je KioskKupovina -1.
Morat ćeÅ¡ to na drugi naÄin napraviti.Sve gdje imaÅ¡ KioskKupovina najbolje stavi pod komentar ( /* */ ili // ) pa onda probaj.Prvo vidi da li je do toga(a vjerovatno je)
Onda ćeÅ¡ morati to napraviti na drugi naÄin,najbolje da kad kupuje napraviÅ¡ jednu for petlju koja će provjeriti najbližu igraÄevu trafiku i njoj postaviti pare i smanjiti br. proizvoda.
Da sada kada sam izbacio KioskKupovina radi sve lepo,ali kako da napravim tu proveru da ide najblizoj trafici novac.
Citat: Xladen poslato Januar 25, 2018, 20:02:18 POSLE PODNE
Da sada kada sam izbacio KioskKupovina radi sve lepo,ali kako da napravim tu proveru da ide najblizoj trafici novac.
pa evo ti gore for petlja sto sam ti poslao,samo zamijenis ove idove firmi
[pawn]for(new i = 86; i < 91; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}[/pawn]
Kako da stavim 3-4 id-a firme.Tipa hocu 2 4 7 12 gde da ih stavim i gde celu ovu for new da ubacim?
for petlju mozes dole ispod toga da ubacis,ispod tog dialoga
a za id firme ti je najbolje da obrises te firme pa da kreiras nove sa idovima npr. 100,101,102,103 i tako i onda u for petlji upises 100 i 103
Ma mene zadnima kako da ubacim te brojeve ovde
for(new i = 86; i < 91; i++)
Ako stavim od 100 do 107 trebao bih
for(new i = 100; i < 107; i++) ?? ili kako
da koliko ja znam,s tim da ti mora id trafike biti 100,101,102,103...
for(new i = 86; i < 91; i++)
Ajde mi molim te ubaci u ovo for new ove idove 105 106 107 108 109
for(new i = 105; i < 109; i++)
[pawn]for(new i = 86; i < 91; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}[/pawn]
Ovo ide kod CMD? i ako da pls ubaci mi u cmd.
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
if(IsPlayerInRangeOfPoint(playerid, 2.0, -2540.9431, 2292.0476, 4.9844) || IsPlayerInRangeOfPoint(playerid, 2.0, -2278.4382, 2312.0273, 4.9659) || IsPlayerInRangeOfPoint(playerid, 2.0, -2565.6521, 2469.9983, 19.4087) || IsPlayerInRangeOfPoint(playerid, 2.0, -1472.1143, 2642.0332, 55.8359) || IsPlayerInRangeOfPoint(playerid, 2.0, -1525.1388, 2544.7451, 55.8359))
{
ShowPlayerDialog(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""HZELENA"- "BELA"Dopuna (20$)\n"HZELENA"- "BELA"Dopuna (50$)\n"HZELENA"- "BELA"Dopuna (100$)\n"HZELENA"- "BELA"Sok (10$)\n"HZELENA"- "BELA"Cigare (20$)\n"HZELENA"- "BELA"Upaljac (10$)\n"HZELENA"- "BELA"Cokoladica (10$)\n"HZELENA"- "BELA"Mp3 (100$)\n", "Odaberi", "Izlaz");
}
else return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
return 1;
}[/pawn]
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}
return 1;
}[/pawn]
Ali imam error da je x undefined kako da ga definisem
ja sam se sjebao,ide u komandu a ne ondialogresponse
Pa jesam vec ubacio u CMD ali mi pise undefined x kako da ga definisem
Stifler kako da definisem x?
Ako ne znamo da definisemo stringove sto onda radimo ove sisteme :D pocni od necega lakseg za pocetak posle predji na ovo osredjnje, prijateljski savet ;)
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
new x;
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
[/pawn]
Dialog trafika mi se otvara bilo gde.
Citat: Xladen poslato Januar 25, 2018, 23:22:43 POSLE PODNEDialog trafika mi se otvara bilo gde.
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
zamijeni sa
if(!IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
Citat: |Gagi| poslato Januar 25, 2018, 23:07:29 POSLE PODNE
Ako ne znamo da definisemo stringove sto onda radimo ove sisteme :D pocni od necega lakseg za pocetak posle predji na ovo osredjnje, prijateljski savet ;)
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
new x;
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
[/pawn]
Nije to string ali nebitno.Zašto će mu uopće varijabla x,koliko vidim nigdje je ne koristi.
Citat: Farkias poslato Januar 26, 2018, 00:31:58 PRE PODNE
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
zamijeni sa
if(!IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
Sada mi super radi ali mi radi samo kod jedne trafike,stavio sam lepo od id 200 do 204 ali samo kod trafike id 200 radi komanda /trafika za ostale pise da nisam kod trafike.
Citat: Paul Castellano poslato Januar 26, 2018, 12:47:57 POSLE PODNE
Nije to string ali nebitno.Zašto će mu uopće varijabla x,koliko vidim nigdje je ne koristi.
Koristi je. Pogledaj malo bolje kod.
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
new x;
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo
[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++; // EVO TI
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
[/pawn]
Gagi molim te ne sakupljaj postove vec ako mozes pomozi ako ne nemoj,stavio sam od firme id 200 do id 204 ali mi samo nudi dialog kod firme id 200,kod ostalih pise da nisam kod trafike.
Citat: |Gagi| poslato Januar 26, 2018, 16:13:04 POSLE PODNE
Koristi je. Pogledaj malo bolje kod.
[pawn]
CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
new x;
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++; // EVO TI
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
[/pawn]
I ? Di je koristiš? Za šta ti služi? Za ništa.
Xladen:
[pawn] if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo
[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ])) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Nisi kod trafike!");
[/pawn]
Taj dio izbriši i postavi ovo samo:
[pawn]if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))[/pawn]
Trebalo bi raditi.Jer ovo Äim provjera firmu ID200 ako nije tu ispisuje ti da nisi kod trafike,dalje neće ni provjeravati.
nece i dalje sve isto racuna mi samo id 200 kao trafikU
Jesi siguran da su ti firme 201,202.. itd VRSTA_SBIZZ ?
Odnosno što si stavio za vrstu firme( fVrsta )
Drugi razlog iskreno ne vidim.
Da sve su SBizz
Bump,pls help
Vidim da su sve mogucnosit recene. Jedino preostaje cuvanje/ucitavanje firme, i da li si lepo kreirao firmu...
Zalijepi ovu komandu i postavi nam ovdje iz server_log-a Å¡ta ti ispisuje od "PoÄetak" i "Kraj" pa ću ti moći reći toÄno do Äega je,ovako možemo samo nagaÄ'at.Tj odeÅ¡ IG i kucaÅ¡ /trafika na tu koja ne radi pa će ti ispisat server_log,i samo nam reci na koju si firmu pokuÅ¡ao(id firme)
[pawn]CMD:trafika(playerid, params[])
{
printf("Pocetak");
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
printf("(1) i = %d" ,i);
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
printf("(2) i = %d",i);
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
printf("(3) i = %d",i);
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}
printf("______________________");
printf(" %d %d %d %d %d ",FirmaInfo[200][fVrsta],FirmaInfo[201][fVrsta],FirmaInfo[202][fVrsta],FirmaInfo[203][fVrsta],FirmaInfo[204][fVrsta]);
printf("______________________");
printf("Kraj");
return 1;
}
[/pawn]
Citat: Paul Castellano poslato Januar 27, 2018, 10:49:35 PRE PODNE
Zalijepi ovu komandu i postavi nam ovdje iz server_log-a Å¡ta ti ispisuje od "PoÄetak" i "Kraj" pa ću ti moći reći toÄno do Äega je,ovako možemo samo nagaÄ'at.Tj odeÅ¡ IG i kucaÅ¡ /trafika na tu koja ne radi pa će ti ispisat server_log,i samo nam reci na koju si firmu pokuÅ¡ao(id firme)
[pawn]CMD:trafika(playerid, params[])
{
printf("Pocetak");
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
printf("(1) i = %d" ,i);
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
printf("(2) i = %d",i);
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
printf("(3) i = %d",i);
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}
printf("______________________");
printf(" %d %d %d %d %d ",FirmaInfo[200][fVrsta],FirmaInfo[201][fVrsta],FirmaInfo[202][fVrsta],FirmaInfo[203][fVrsta],FirmaInfo[204][fVrsta]);
printf("______________________");
printf("Kraj");
return 1;
}
[/pawn]
Number of vehicle models: 56
[connection] 127.0.0.1:59916 requests connection cookie.
[connection] incoming connection: 127.0.0.1:59916 id: 0
[join] Djordje_Ralph has joined the server (0:127.0.0.1)
Pocetak
(1) i = 200
(1) i = 201
(1) i = 202
(1) i = 203
(1) i = 204
______________________
18 18 18 18 18
______________________
Kraj
Pocetak
(1) i = 200
(1) i = 201
(1) i = 202
(2) i = 202
(3) i = 202
______________________
18 18 18 18 18
______________________
Kraj
Pocetak
(1) i = 200
(1) i = 201
(1) i = 202
(1) i = 203
(1) i = 204
(2) i = 204
(3) i = 204
______________________
18 18 18 18 18
______________________
Kraj
To mi ispise ali sada mi radi pokaze mi dialog i daje pare u najblizu trafiku,kako da uklonim ovo da mi ispisuje u konzoli??
Izvinjavam se na bumpu,sada sam provalio do cega je problem.Kada dodam else return SCM(playerid,-1,""CRVENA"[GRESKA]"SIVA"Nisi kod trafike!"); onda mi racuna samo 200 kao trafiku.Kako da stavim da mi racuna i na ostalima da je trafika.
Pa nemoj tu stavljati return..
Sto se tice ispisa samo izbrisi printf gdje ima
Izbrisao sam print sada je dobro,a za taj return znaci nikako ne mogu staviti da ispise Nisi kod trafike ako je dalje od trafika?
Bump
[pawn]CMD:trafika(playerid, params[])
{
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
new x = 0;
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}
if(x == 0) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA" Niste kod trafike!");
return 1;
}
[/pawn]
Nece da li mozda treba x == 0 da bude i == 0?
Sta tocno nece? Izbacuje error ili si ig testirao ?
Testirao ig a u konzoli nema nikakav error ni u pawnu kada compile
ÄŒudno...Probaj ovo pa nam postavi ovdje server_log ,jer bi trebalo sve raditi ako si fino kopirao
[pawn]CMD:trafika(playerid, params[])
{
printf("Pocetak");
new x = 0;
printf("(1) %d",x);
if(UlogovanProvera[playerid] == 0) return Ulogovan(playerid);
if(IsPlayerInAnyVehicle( playerid )) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA"Moras biti van vozila!");
for(new i = 200; i < 205; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ)
{
x++;
printf("(2) %d",x);
KioskKupovina[playerid] = i;
SPD(playerid, DIALOG_TRAFIKA, DIALOG_STYLE_LIST, ""BELA"Trafika", ""CRVENA"- "BELA"Dopuna (20$)\n"CRVENA"- "BELA"Dopuna (50$)\n"CRVENA"- "BELA"Dopuna (100$)\n"CRVENA"- "BELA"Sok (10$)\n"CRVENA"- "BELA"Cigare (20$)\n"CRVENA"- "BELA"Upaljac (10$)\n"CRVENA"- "BELA"Cokoladica (10$)", "Odaberi", "Izlaz");
break;
}
}
}
printf("(3) %d",x);
if(x == 0) return SCM(playerid,-1,""CRVENA"[GRESKA] "BELA" Niste kod trafike!");
printf("Kraj");
return 1;
}
[/pawn]
Moja greska nisam kopirao sam sam dole napisao if x == 0 a nisam ono gore new x = 0 sada sam kopirao i sada cu probati
poslato: Januar 25, 2018, 00:16:41 pre podne »
Posle tri mukotrpna dana Paul Castellano mi je jedini zaista pomogao,ovu temu otvaram jos od pre deset dana i niko nije pomogao kao Paul,hvala ti puno Paule zelim ti sve najbolje.Sve savrseno sada radi.