Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-11-06, 16:40


CombeL







Wiek: 29
Na forum: 3747 dni
Posty: 6
Nick w MP: CombeL



Respekt: 50

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 18:11


Mac







Wiek: 28
Na forum: 4136 dni
Posty: 133
Nick w MP: Mac

Piwa: 27

Respekt: 130
Respekt: 130

Przy ustawianiu zmiennej Opony co przedtrzymuje zmienna vehid?

Najlepiej poka? ca?y kod.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 18:28


CombeL







Wiek: 29
Na forum: 3747 dni
Posty: 6
Nick w MP: CombeL



Respekt: 50

Vehid przetrzymuje to samo co vehicleid

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 19:03


Iggy

#admin






Wiek: 26
Na forum: 4597 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   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(playeridNiebieskistring); 
    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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 19:10


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Syf w tym kodzie, ?e a? g?owa boli. Raz jako indeksu u?ywasz vehicleid, raz Vehicleid, 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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 21:27


CombeL







Wiek: 29
Na forum: 3747 dni
Posty: 6
Nick w MP: CombeL



Respekt: 50

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-06, 23:55


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Jak nie jeste? pewny gdzie le?y b??d to u?yj funkcji print do wy?wietlenia tego.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-07, 00:08


CombeL







Wiek: 29
Na forum: 3747 dni
Posty: 6
Nick w MP: CombeL



Respekt: 50

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.

Postaw piwo autorowi tego posta
 

 
Tagi: nie :: pokazuje :: wartości
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku