Wysłany: 2016-11-06, 16:40
CombeL
Wiek: 29 Na forum: 3747 dni Posty: 6
Nick w MP: CombeL
Witam. Po wpisaniu komendy qwe zamiast pokazywa? liczb? np. 8 pokazuje liczbe 0.
Kod: CMD:qwe(playerid,params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
new string[100];
format(string,sizeof string,"%d ",VehicleInfo[Vehicleid][Opony]);
SendClientMessage(playerid, Niebieski, string);
return 1;
}
Ustawianie liczby w VehicleInfo[Vehicleid][Opony]:
Kod: if(VehicleInfo[vehid][Oponyp] >= 20.00)
{
VehicleInfo[vehid][Opony] = 8;
new buffer[300];
new vehicleidd = GetPlayerVehicleID(playerid);
format(buffer,sizeof buffer,"UPDATE `vehicles` SET `Opony`='8' WHERE id='%d'",VehicleInfo[vehicleidd][UID]);
mysql_query(buffer);
}
W MySQL jak co? dobrze ustawia. Prosz? o pomoc.
Wysłany: 2016-11-06, 18:11
Mac
Wiek: 28 Na forum: 4136 dni Posty: 133
Nick w MP: Mac
Piwa : 27
Przy ustawianiu zmiennej Opony co przedtrzymuje zmienna vehid?
Najlepiej poka? ca?y kod.
Wysłany: 2016-11-06, 18:28
CombeL
Wiek: 29 Na forum: 3747 dni Posty: 6
Nick w MP: CombeL
Vehid przetrzymuje to samo co vehicleid
Wysłany: 2016-11-06, 19:03
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Zobacz, czy taki kod zadzia?a:
Pawn CMD : qwe ( playerid , params [])
{
new pojazdid = GetPlayerVehicleID ( playerid );
new string [ 100 ];
format ( string , sizeof (string), "%d " , VehicleInfo [ pojazdid ][ Opony ]);
SendClientMessage ( playerid , Niebieski , string );
return 1 ;
}
Pawn if( VehicleInfo [ vehid ][ Oponyp ] >= 20.00 )
{
VehicleInfo [ vehid ][ Opony ] = 8 ;
new buffer [ 300 ];
new vehicleidd = GetPlayerVehicleID ( playerid );
format ( buffer , sizeof buffer , "UPDATE `vehicles` SET `Opony`='8' WHERE id='%d'" , VehicleInfo [ vehicleidd ][ UID ]);
mysql_query ( buffer );
}
W tym kodzie sprawdzasz warunek: if(VehicleInfo[vehid][Oponyp] >= 20.00) gdzie ju? u?ywasz parametru vehid , a p??niej w warunku zn?w pobierasz ID pojazdu, co jest zb?dne. Ten kod powinien dzia?a?:
Pawn if( VehicleInfo [ vehid ][ Oponyp ] >= 20.00 )
{
VehicleInfo [ vehid ][ Opony ] = 8 ;
new buffer [ 300 ];
format ( buffer , sizeof ( buffer ), "UPDATE `vehicles` SET `Opony`='8' WHERE id='%d'" , VehicleInfo [ vehid ][ UID ]);
printf ( "Opony: %d, ID pojazdu: %d" , VehicleInfo [ vehid ][ Opony ], VehicleInfo [ vehid ][ UID ]);
mysql_query ( buffer );
}
Sprawd?, czy w konsoli wyprintuje poprawne warto?ci.
Wysłany: 2016-11-06, 19:10
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
Syf w tym kodzie, ?e a? g?owa boli. Raz jako indeksu u?ywasz v ehicleid, raz V ehicleid, gdzie? indziej znowu vehid i jak? masz pewno??, ?e wszystkie te zmienne przyjm? tak? sam? warto??? Druga sprawa to nazwy w strukturze enum, raz masz Oponyp , gdzie? indziej samo Opony bez p na ko?cu.
Wysłany: 2016-11-06, 21:27
CombeL
Wiek: 29 Na forum: 3747 dni Posty: 6
Nick w MP: CombeL
Okej, teraz dzia?a. Dobrze pokazuje. Ale po restarcie serwera pokazuje z?a liczb? pomimo tego, ?e to si? zapisuje do bazy danych. Zamiast np pokaza? 8 pokazuje 10. Do bazy danych zapisuje si? na 100%. To jest kod od wczytywania pojazd?w:
Kod: stock LoadVehicles() // You might want to make this an public so you could call it on an timer.
{
new Query[800], id,i=0;
format(Query, sizeof(Query), "SELECT `id`,`owner`,`model`,`price`,`x`,`y`,`z`,`a`,`sell`,`team`,`color1`,`color2`,`Paliwo`,`Przebieg`,`Ubezpieczenie1`,`Przeglad1`,`Plomba`,`PlombaNick`,`Oponyp`,`Opony` FROM `vehicles`");
mysql_query(Query);
mysql_store_result();
new num = mysql_num_rows();
while(mysql_fetch_row(Query,"|"))
{
if(num != 0)
{
LoadedInfo[Vehicles]++;
id = LoadedInfo[Vehicles];
new idcheck;
sscanf(Query, "p<|>ds[25]ddffffdddddfddfd",idcheck,VehicleInfo[id][Owner],VehicleInfo[id][Model],VehicleInfo[id][Price],VehicleInfo[id][Pos][xa],VehicleInfo[id][Pos][ya],VehicleInfo[id][Pos][za],VehicleInfo[id][Pos][aa],VehicleInfo[id][sell],VehicleInfo[id][TeamCar],VehicleInfo[id][Color1],VehicleInfo[id][Color2],VehicleInfo[id][Paliwo],VehicleInfo[id][Przebieg],VehicleInfo[id][Ubezpieczenie1],VehicleInfo[id][Przeglad1],VehicleInfo[id][Oponyp],VehicleInfo[id][Opony]);
new Co1 = VehicleInfo[id][Color1];
new Co2 = VehicleInfo[id][Color2];
new idcreate;
idcreate = AddStaticVehicleEx(VehicleInfo[id][Model],VehicleInfo[id][Pos][xa],VehicleInfo[id][Pos][ya],VehicleInfo[id][Pos][za],VehicleInfo[id][Pos][aa],Co1,Co2, 60*10000);
VehicleInfo[idcreate][UID] = idcheck;
//format(Query, sizeof(Query), "SELECT `id` FROM `vehicles` WHERE id='%d'",idcheck);
//mysql_query(Query);
//mysql_store_result();
//mysql_fetch_row(Query,"|");
//sscanf(Query, "p<|>d",VehicleInfo[idcreate][UID]);
//mysql_free_result();
if(strcmp(VehicleInfo[id][Owner],"Brak",false))
{
SetVehicleNumberPlate(idcreate, VehicleInfo[id][Owner]);
}
else if(!strcmp(VehicleInfo[id][Owner],"Brak",false) && VehicleInfo[id][TeamCar] == 0)
{
SetVehicleNumberPlate(idcreate, "Publiczny");
}
}
i++;
}
mysql_free_result();
VehicleInfo[id + 1][Ubezpieczenie1] = -1;
return printf("[AUTOMAT] Wczytano %d pojazdow!!!",i);
}
Ale wydaje mi si?, ?e tutaj jest wszystko dobrze chocia? nie jestem w 100% pewien.
Tutaj w razie czego daj? jeszcze kod od zapisu:
Kod: stock SaveVehicles()
{
for(new i=0; i <= LoadedInfo[Vehicles]; i++)
{
if(IsVehicleOccupied(i))
{
new query[200];
new uid = VehicleInfo[i][UID];
format(query,sizeof query,"UPDATE `vehicles` SET `Paliwo` = '%d', `Przebieg` = '%0.2f',`Przeglad1` = '%d', `Oponyp` = '%0.2f',`Opony` = '%d' WHERE `id` = '%d'",VehicleInfo[i][Paliwo],VehicleInfo[i][Przebieg],VehicleInfo[i][Przeglad1],VehicleInfo[i][Oponyp],VehicleInfo[i][Opony],uid);
mysql_query(query);
}
}
return 1;
}
Wysłany: 2016-11-06, 23:55
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Jak nie jeste? pewny gdzie le?y b??d to u?yj funkcji print do wy?wietlenia tego.
Wysłany: 2016-11-07, 00:08
CombeL
Wiek: 29 Na forum: 3747 dni Posty: 6
Nick w MP: CombeL
Okej, bl?d le?y po stronie wczytywania. Tylko co tutaj jest ?le?
[ Dodano : 2016-11-07, 14:38 ]
Pomo?e kto??
[ Dodano : 2016-11-11, 13:35 ]
@Ref.
Tagi: nie :: pokazuje :: wartości
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: