Jump to content
  • 0

Problema Load - server crash


celmaismecher

Question

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

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

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 ++) {

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0
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 ?

Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0
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
Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

  • 0
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
Link to comment
Share on other sites

  • 0

Ce sa fie de la iterator? Daca i-ai dat Init la OnGameModeInit e ok.

Edited by Lunoxx
Link to comment
Share on other sites

  • 0
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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.