Jump to content
  • 0

Question

Posted

Salut, de fiecare data cand ma conectez pe server, in loc sa mi se incarce skinuriile, serverul pica. Gamemode-ul este foarte bine optimizat, am aceasta problema doar la functia: 

function LoadPlayerSkins(playerid) {
    for(new i = 0; i < cache_num_rows(); i ++) {
        cache_get_value_name_int(i - 1, "ownedSkin", SkinInfo[skinID]); Iter_Add(owned_skins[playerid], SkinInfo[skinID]);
        printf("skin loaded %d", SkinInfo[skinID]);
    }
    return true;
}

17 answers to this question

Recommended Posts

  • 0
Posted
9 minutes ago, Mister said:

salut, incearca sa modifici la for sa inceapa de la pasul 1 nu 0 adica asa

for(new i = 1; i < cache_num_rows(); i ++) {

Nici o diferenta, nu e de la mysql, nu primesc nimic in logs.

  • 0
Posted
5 minutes ago, celmaismecher said:

Nici o diferenta, nu e de la mysql, nu primesc nimic in logs.

Ti-a zis asta pentru ca tu incercai sa dai cache_get_value_name_int pe un index negativ si n-ai cum sa faci asta.
Arata-mi cum ai definit Iteratorul, SkinInfo, si ce e skinID acolo ?

  • 0
Posted
1 minute ago, Lunoxx said:

Ti-a zis asta pentru ca tu incercai sa dai cache_get_value_name_int pe un index negativ si n-ai cum sa faci asta.
Arata-mi cum ai definit Iteratorul, SkinInfo, si ce e skinID acolo ?

Iterator:owned_skins[MAX_PLAYERS]<312>

SkinInfo[MAX_PLAYERS][skinInfo];

enum skinInfo {
    skinOwner, skinID,
};
 

https://imgur.com/a/WTqnLsT

Indexul nu este negativ acum. Incercasem si inainte si nu mergea.

  • 0
Posted (edited)
5 minutes ago, celmaismecher said:

Iterator:owned_skins[MAX_PLAYERS]<312>

SkinInfo[MAX_PLAYERS][skinInfo];

enum skinInfo {
    skinOwner, skinID,
};
 

https://imgur.com/a/WTqnLsT

Indexul nu este negativ acum. Incercasem si inainte si nu mergea.

Prin "index" nu ma refer la ceea ce ai inteles tu.
Primul parametru dupa cache_get_value_name_int reprezinta "randul" de pe care iei informatia si incepe de la 0.. Prin "rand" vreau sa zic, rezultatele returnate de query-ul pe care l-ai trimis tu.

 

In fine, tu ai definit SkinInfo[MAX_PLAYERS][skinInfo]; si l-ai folosit asa: SkinInfo[skinID], ai uitat de [playerid].

Pe langa asta, incearca sa extragi informatile din query intr-o variabila simpla si abea dupa sa o introduci in array, sunt situatii in care nu merge direct, la r39-6 face figuri de-astea, tu cred ca folosesti r40 +, probabil face la fel si acolo.

Deci:

Quote

function LoadPlayerSkins(playerid) {
    new c;
    for(new i = 0, j = cache_num_rows(); i != j; i++) {
        cache_get_value_name_int(i, "ownedSkin", c); 
        Iter_Add(owned_skins[playerid], c);
        SkinInfo[playerid][skinID] = c;
        printf("skin loaded %d", SkinInfo[playerid][skinID]);
    }
    return true;
}

 

Oricum, nu am inteles exact ce vrei sa faci cu asta, tu poti extrage doar un skin cu modul in care ai facut array-ul, de ce l-ai pus intr-un loop?

Edited by Lunoxx
  • 0
Posted
15 minutes ago, Lunoxx said:

Prin "index" nu ma refer la ceea ce ai inteles tu.
Primul parametru dupa cache_get_value_name_int reprezinta "randul" de pe care iei informatia si incepe de la 0.. Prin "rand" vreau sa zic, rezultatele returnate de query-ul pe care l-ai trimis tu.

 

In fine, tu ai definit SkinInfo[MAX_PLAYERS][skinInfo]; si l-ai folosit asa: SkinInfo[skinID], ai uitat de [playerid].

Pe langa asta, incearca sa extragi informatile din query intr-o variabila simpla si abea dupa sa o introduci in array, sunt situatii in care nu merge direct, la r39-6 face figuri de-astea, tu cred ca folosesti r40 +, probabil face la fel si acolo.

Deci:

 

Oricum, nu am inteles exact ce vrei sa faci cu asta, tu poti extrage doar un skin cu modul in care ai facut array-ul, de ce l-ai pus intr-un loop?

Dadusem un cod gresit, variabila era pusa bine. Da, folosesc r41-4. Vreau ca, cand un player sa se logheze, sa-i incarce fiecare skin detinut.

  • 0
Posted
16 minutes ago, Lunoxx said:

Prin "index" nu ma refer la ceea ce ai inteles tu.
Primul parametru dupa cache_get_value_name_int reprezinta "randul" de pe care iei informatia si incepe de la 0.. Prin "rand" vreau sa zic, rezultatele returnate de query-ul pe care l-ai trimis tu.

 

In fine, tu ai definit SkinInfo[MAX_PLAYERS][skinInfo]; si l-ai folosit asa: SkinInfo[skinID], ai uitat de [playerid].

Pe langa asta, incearca sa extragi informatile din query intr-o variabila simpla si abea dupa sa o introduci in array, sunt situatii in care nu merge direct, la r39-6 face figuri de-astea, tu cred ca folosesti r40 +, probabil face la fel si acolo.

Deci:

 

Oricum, nu am inteles exact ce vrei sa faci cu asta, tu poti extrage doar un skin cu modul in care ai facut array-ul, de ce l-ai pus intr-un loop?

Am realizat oricum greseala, mersi.

  • 0
Posted (edited)
4 minutes ago, celmaismecher said:

Dadusem un cod gresit, variabila era pusa bine. Da, folosesc r41-4. Vreau ca, cand un player sa se logheze, sa-i incarce fiecare skin detinut.

Atunci fa-l pe skinID matrice si la load pui 

Quote

[skinID][ i ]   = c;


Asa o sa poti incarca fiecare skin detinut ;).

Edited by Lunoxx
  • 0
Posted
2 minutes ago, celmaismecher said:

Ce init la ongamemodeinit? Problema era ca nu mi-l baga in iterator, am rescris sistemul, functioneaza perfect: https://imgur.com/a/0jz9SYw

Iteratorii cu mai multe dimensiuni au nevoie de Iter_Init inainte de folosire.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.