argument type mismatch (argument 1)
#1

I did something wrong here:

Код:
new Query[128], i;
	new DBResult:qresult;
 	qresult = db_query(Database,"SELECT * FROM `HOUSES`");
 	format(i,sizeof(i),"%d", db_num_rows(qresult));
Reply
#2

yes format expects a string as the first argument

pawn Код:
new Query[128];
    new DBResult:qresult;
    qresult = db_query(Database,"SELECT * FROM `HOUSES`");
    format(Query,sizeof(Query),"%d", db_num_rows(qresult));
Reply
#3

Not to open now topic,another problem:

Код:
stock CreateHouse(cijena, Float:X, Float:Y, Float:Z, Float:kIntX, Float:kIntY, Float:kIntZ, adresa[], intid, vrsta[])
Код:
new tipkuce[32];
	new adresakuce[32];

CreateHouse(cijenakuce, pX, pY, pZ, 2324.419921,-1145.568359,1050.710083, adresakuce, 12, tipkuce);
Errors:

Код:
C:\Users\David\Desktop\BLRP\gamemodes\BLRP.pwn(3133) : error 047: array sizes do not match, or destination array is too small
C:\Users\David\Desktop\BLRP\gamemodes\BLRP.pwn(3135) : error 047: array sizes do not match, or destination array is too small
Reply
#4

^ Thats an issue inside your stock function, could you show it?
Reply
#5

try increaseing the size of these strings/arrays
pawn Код:
new tipkuce[32];
    new adresakuce[32];
change both of the 32 to something higher,
Reply
#6

No problemo.

Код:
stock CreateHouse(cijena, Float:X, Float:Y, Float:Z, Float:IntX, Float:IntY, Float:IntZ, adresa[], intid, vrsta)
{
	new Query[128], i;
	new DBResult:qresult;
 	qresult = db_query(Database,"SELECT * FROM `HOUSES`");
 	format(i,sizeof(i),"%d", db_num_rows(qresult));
 	
 	HouseInfo[i][ID] = i+1;
 	HouseInfo[i][VrstaKuce] = vrsta;
	HouseInfo[i][Cijena] = cijena;
	HouseInfo[i][Adresa] = adresa;
	HouseInfo[i][kX] = X;
	HouseInfo[i][kY] = Y;
	HouseInfo[i][kZ] = Z;
	HouseInfo[i][IntX] = IntX;
	HouseInfo[i][IntY] = IntY;
	HouseInfo[i][IntZ] = IntZ;
 	db_free_result(qresult);
	
	format(Query, sizeof(Query), "INSERT INTO `HOUSES` ( 'ID', 'VLASNIK', 'CIJENA', ADRESA', 'X', 'Y', 'Z', 'INZX', 'INTY', 'INTZ', 'MATS', 'DROGA', 'NOVAC', 'BRAVA') VALUES('%s','%s')", DB_Escape(name), DB_Escape(inputtext));
 	db_query(Database, Query);
 	
	format(Query, sizeof(Query), "UPDATE `HOUSES` SET VLASNIK = '0', CIJENA = '%d', ADRESA = '%s', X = '%f', Y = '%f', Z = '%f' WHERE `ID` = '%d' ", HouseInfo[i][Cijena], HouseInfo[i][Adresa], HouseInfo[i][kX], HouseInfo[i][kY], HouseInfo[i][kZ], HouseInfo[i][ID]);
 	db_query(Database, Query);
 	
 	format(Query, sizeof(Query), "UPDATE `HOUSES` SET INTX = '%f', INTY = '%f', INTZ = '%f', MATS = '%d', DROGA = '%d', NOVAC = '%d', BRAVA = '%d', NAPRODAJU = '1', VRSTAKUCE = '%s' WHERE `ID` = '%d' ", HouseInfo[i][IntX], HouseInfo[i][IntY], HouseInfo[i][IntZ], HouseInfo[i][kMats], HouseInfo[i][kDroga], HouseInfo[i][kNovac], HouseInfo[i][kBrava], HouseInfo[i][ID], HouseInfo[i][VrstaKuce]);
 	db_query(Database, Query);
 	
	format(KucniLabel, sizeof(KucniLabel), ""ZELENA"Kuca na PRODAJU!\nOpis:"BIJELA" %s\n"ZELENA"Adresa: "BIJELA"%s\n"ZELENA"Cijena: "BIJELA"$%i",HouseInfo[i][VrstaKuce],HouseInfo[i][Adresa],HouseInfo[i][Cijena]);
	HouseInfo[i][LabelKuce] = Create3DTextLabel(KucniLabel,-1,HouseInfo[i][kX], HouseInfo[i][kY], HouseInfo[i][kZ]+1,30.0,0,1);
	return 1;
}
Reply
#7

Tryed,even up to 1000.
Reply
#8

hum
pawn Код:
stock CreateHouse(cijena, Float:X, Float:Y, Float:Z, Float:IntX, Float:IntY, Float:IntZ, adresa[], intid, vrsta)
i dont understand the names of these args (cijena,adresa,vrsta) but
vrsta is not marked with [] to make it a array/string
yet your calling it and passing an array/string to it
Reply
#9

vrsta is an array just i have 2 scripts opened, 1 old and 2 up-to-date and i copied from the wrong one
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)