Započeo boky.
•5. Jun 2023.Problem kod komande
1,206
pregleda
29
postova
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
130
Postovi:
19
Teme:
Pridružio se:Okt. 2018
5. Jun 2023.
Problem(error/warning): Koristim YSI 5.1. Komanda /createhouse je radila top, cim je dosla do 23 id ona vise kao ne postoji komanda na serveru. A max kuca 50. Ubacio sam crashdetect i izbacio mi je ovo, malo sam cesljao po netu nesto za MALLOC ali opet isto se desava.
Deo skripte:
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Deo skripte:
Vaš odgovorDebug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
[18:24:39]
[18:24:39] Parameter count corrections:
[18:24:39]
[18:24:39] The 1st mangled argments (e.g. `<1073741823 arguments>`) below should read `<2 arguments>`
[18:24:39]
[18:24:39] Run time error 4: "Array index out of bounds"
[18:24:39] AMX backtrace:
[18:24:39] #0 0021f764 in ?? (0, 2967376, 0) from sp-rpg.amx
[18:24:39] #1 00048128 in ?? (0, 2967324, 0) from sp-rpg.amx
[18:24:39] #2 0004ac80 in ?? (0, 2967324, 0, 0, 0, 0, 8, 0, 2967324, 0, ... <1073741813 arguments>) from sp-rpg.amx
[18:24:39] #3 000178c0 in public OnPlayerCommandText (0, 2967324) from sp-rpg.amxSlika/video ingame problema(obavezno ako je ingame problem): link slike
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
130
Postovi:
19
Teme:
Pridružio se:Okt. 2018
5. Jun 2023.
bepo wrote on June 5, 2023, 5:18 pm:
daj cmd cijelu
Evo ga
YCMD:createhouse(playerid, const string: params[], help)
{
if(player_ADMIN < 5)
return Error(playerid, "Nemate dozvolu za ovu komandu - niste admin level 5.");
if(admin_DUZNOST == 0)
return Error(playerid, "Niste na admin duznosti - koristite /aduty kako bi koristili komande!");
new kucaID = NextHouseID(), vrsta, Float:Poz;
if(sscanf(params, "i", vrsta))
{
Usage(playerid, "/createhouse ");
Info(playerid, "1. Mala kuca. | 2. Srednja kuca. | 3. Velika kuca. | 4. Villa.");
return 1;
}
if(vrsta < 1 || vrsta > 4)
return Error(playerid, "Vrsta ne moze biti iznad 4 i ispod 1!");
if(kucaID >= MAX_KUCA)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
GetPlayerPos(playerid, Poz, Poz, Poz);
switch(vrsta)
{
case 1:
{
kuca_INT_X = 2308.7529;
kuca_INT_Y = -1212.5588;
kuca_INT_Z = 1049.0234;
kuca_ID = MALAKUCA;
kuca_INT_ID = 6;
kuca_CENA = 350000;
kuca_LEVEL = 5;
}
case 2:
{
kuca_INT_X = 318.6055;
kuca_INT_Y = 1114.9292;
kuca_INT_Z = 1083.8828;
kuca_ID = SREDNJAKUCA;
kuca_INT_ID = 5;
kuca_CENA = 600000;
kuca_LEVEL = 10;
}
case 3:
{
kuca_INT_X = 386.6623;
kuca_INT_Y = 1471.7719;
kuca_INT_Z = 1080.1875;
kuca_ID = VELIKAKUCA;
kuca_INT_ID = 15;
kuca_CENA = 800000;
kuca_LEVEL = 15;
}
case 4:
{
kuca_INT_X = 2324.3840;
kuca_INT_Y = -1149.0188;
kuca_INT_Z = 1050.7101;
kuca_ID = VILLA;
kuca_INT_ID = 12;
kuca_CENA = 1200000;
kuca_LEVEL = 15;
}
}
kuca_VW_ID = kucaID;
kuca_OWNERPROVERA = 0;
strmid(kuca_OWNERIME, "Niko", 0, strlen("Niko"), 255);
kuca_EXT_X = Poz;
kuca_EXT_Y = Poz;
kuca_EXT_Z = Poz;
kuca_NOVAC = 0;
kuca_ZAKLJUCANO = 1;
kuca_NEAKTIVNOST = 0;
create_House(kucaID);
save_House(kucaID);
Torq(playerid, "Info: Kreirali ste kucu id: %d, vrsta: %s, cena: $%d, level: %d.", kucaID, HouseID(kuca_ID), kuca_CENA, kuca_LEVEL);
adminPoruka(0x5DA335AA, "Admin Info: Admin %s je kreirao kucu id: %d, vrsta: %s, cena: $%d, level: %d.",
ReturnPlayerName(playerid), kucaID, HouseID(kuca_ID), kuca_CENA, kuca_LEVEL);
Log_Write(ADMINLOG, "(%s) Admin %s je kreirao kucu id: %d, vrsta: %s, cena: $%d, level: %d.",
ReturnDate(), ReturnPlayerName(playerid), kucaID, HouseID(kuca_ID), kuca_CENA, kuca_LEVEL);
return 1;
}Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
130
Postovi:
19
Teme:
Pridružio se:Okt. 2018
5. Jun 2023.
realnaith wrote on June 5, 2023, 6:21 pm:
Opisi detaljnije problem
Ovako, krenuo sam da kreiram kuce po serveru i kada je doslo od id 23 kuce, od tada mi server prikazuje SERVER: unknown command, kao da ne postoji. A jos veca fora kada samo upisem /createhouse radi, ali cim upisem /createhouse vrstu(1/2/3/4) nece komanda. Max kuca mi je 50. Ubacio sam crashdetect i to mi izaslo. Nmg da provalim koji je djavo.
Crime Lord
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
869
Postovi:
20
Teme:
Pridružio se:Jan. 2023
5. Jun 2023.
hexx. wrote on June 5, 2023, 6:25 pm:
Ovako, krenuo sam da kreiram kuce po serveru i kada je doslo od id 23 kuce, od tada mi server prikazuje SERVER: unknown command, kao da ne postoji. A jos veca fora kada samo upisem /createhouse radi, ali cim upisem /createhouse vrstu(1/2/3/4) nece komanda. Max kuca mi je 50. Ubacio sam crashdetect i to mi izaslo. Nmg da provalim koji je djavo.
Posalji delove vezane za kuce kao i logove kreiranja kuce
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,136
Postovi:
10
Teme:
Pridružio se:Maj 2015
5. Jun 2023.
new kucaID = NextHouseID(),
//....
if(kucaID >= MAX_KUCA)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
Ovo je sve kako treba, jedino mozda NextHouseID ako vraca negativni broj kao invalid pa da te to jebe.
Ali izgleda ko da je radio neko ko je razumeo koliko toliko, ili je makar kopirao iz neceg sto je donekle ok.
Vidi NextHouseID funkciju, ili je posalji ovde. A mozes probat YCMD da zamenis sa ZCMD ukoliko ne koristis nista osim command processora.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
130
Postovi:
19
Teme:
Pridružio se:Okt. 2018
5. Jun 2023.
Sniffie White wrote on June 5, 2023, 7:28 pm:
new kucaID = NextHouseID(),
//....
if(kucaID >= MAX_KUCA)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
Ovo je sve kako treba, jedino mozda NextHouseID ako vraca negativni broj kao invalid pa da te to jebe.
Ali izgleda ko da je radio neko ko je razumeo koliko toliko, ili je makar kopirao iz neceg sto je donekle ok.
Vidi NextHouseID funkciju, ili je posalji ovde. A mozes probat YCMD da zamenis sa ZCMD ukoliko ne koristis nista osim command processora.
NextHouseID()
{
new id = -1;
for(new loop = (0), provera = (-1), Data_ = "\0"; loop != MAX_KUCA; ++ loop)
{
provera = (loop + 1);
format(Data_, (sizeof Data_), KUCE_FILE, provera);
if(!fexist(Data_))
{
id = (provera);
break;
}
}
return id;
}Probao sam, stavio sam Pawn.CMD isto mi se desava, samo sa tom komandom. Ce da vidimo, resava mi ovo realnaith.
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,136
Postovi:
10
Teme:
Pridružio se:Maj 2015
5. Jun 2023.
Eto ti problem, ako je invalid vraca -1
U sustini trebao bi da proveravas ovako
To pricam samo za taj slucaj, za druge ne znam. To receno, NextHouseID je po meni sam po sebi glupo napravljen zato sto umesto da loop kroz niz on proverava fajlove. Ali necu ulaziti u to, ne bi trebalo da je to problem.
PS: Poruku bih isto izmenio umesto maximum kuca na nesto tipa nije pronadjen slobodnan ID za novu kucu ili nesto slicno.
U sustini trebao bi da proveravas ovako
//Umesto ovoga:
if(kucaID >= MAX_KUCA)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
//Ovako:
if(kucaID == -1)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
To pricam samo za taj slucaj, za druge ne znam. To receno, NextHouseID je po meni sam po sebi glupo napravljen zato sto umesto da loop kroz niz on proverava fajlove. Ali necu ulaziti u to, ne bi trebalo da je to problem.
PS: Poruku bih isto izmenio umesto maximum kuca na nesto tipa nije pronadjen slobodnan ID za novu kucu ili nesto slicno.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
130
Postovi:
19
Teme:
Pridružio se:Okt. 2018
5. Jun 2023.
Sniffie White wrote on June 5, 2023, 7:37 pm:
Eto ti problem, ako je invalid vraca -1
U sustini trebao bi da proveravas ovako
To pricam samo za taj slucaj, za druge ne znam. To receno, NextHouseID je po meni sam po sebi glupo napravljen zato sto umesto da loop kroz niz on proverava fajlove. Ali necu ulaziti u to, ne bi trebalo da je to problem.
PS: Poruku bih isto izmenio umesto maximum kuca na nesto tipa nije pronadjen slobodnan ID za novu kucu ili nesto slicno.
U sustini trebao bi da proveravas ovako
//Umesto ovoga:
if(kucaID >= MAX_KUCA)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
//Ovako:
if(kucaID == -1)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");
To pricam samo za taj slucaj, za druge ne znam. To receno, NextHouseID je po meni sam po sebi glupo napravljen zato sto umesto da loop kroz niz on proverava fajlove. Ali necu ulaziti u to, ne bi trebalo da je to problem.
PS: Poruku bih isto izmenio umesto maximum kuca na nesto tipa nije pronadjen slobodnan ID za novu kucu ili nesto slicno.
if(kucaID == -1)
return Error(playerid, "Maximum kuca je ogranicen ne mozete ici iznad!");Nije do toga ista je prica. Kako mi je rekao realnaith, problem je izgleda do YSI paketa 5.1. Takodje sam isto citao na github da je Y_Less nesto vezano za paket sredjivao, ali izgleda je opet ne radi.
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,136
Postovi:
10
Teme:
Pridružio se:Maj 2015
5. Jun 2023.
Zato sam ti rekao da probas zameniti YCMD na ZCMD, ne lupam bezveze ko vecina ovde. Isto tako cini mi se da nemas -d3 flag, zato su ti upitnici umesto imena funkcije.
Ali ono sto sam ti iznad rekao, da ide -1 to stoji (iako mozda nije vezano za problem).
Ako zamenis ycmd na zcmd (ili pawn.cmd kako si rekao), a isto ti se desava, onda downgrade YSI na recimo v5.05.0505 (po ideji bilo koja 5.x.x verzija bi trebala da ti radi iako je
Ali ono sto sam ti iznad rekao, da ide -1 to stoji (iako mozda nije vezano za problem).
Ako zamenis ycmd na zcmd (ili pawn.cmd kako si rekao), a isto ti se desava, onda downgrade YSI na recimo v5.05.0505 (po ideji bilo koja 5.x.x verzija bi trebala da ti radi iako je
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava