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

Wysłany: 2016-06-10, 15:41


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 | .
Mam problem ze zleceniami towarowymi, a mianowicie gdy bior? zlecenie, uID towaru jakie nadaje jest takie jak ma by?, gdy przejd? do dalszego etapu realizacji zlecenia uID samo zmienia si? na inne, zreszt? poka?e to na podstawie kodu (w komentarzach zapisa?em co jest nie tak).

Pawn
if(dialogid == DIALOG_PRZYJMIJ_ZLECENIE_LV)
        {
            if(response)
            {
                new string[500], string2[250];
                new UID PlayerTowar[playerid][uID];
                
                format(string500""J_NIEBIESKI"[INFO] "BIA?Y"Przyj??e? zlecenie uID: "J_NIEBIESKI"%d"BIA?Y"\nTowar: "J_NIEBIESKI"%s"BIA?Y"\nPojawi?a si? naczepa z Twoim zleceniem.\nOznaczona jest ???t? strza?k?.\nPodczep j? do tira i dowie? do wyznaczonego celu (R)."UIDTowarInfo[UID][tName]);
                ShowPlayerDialog(playeridDIALOG_INFODIALOG_STYLE_MSGBOX""ZIELONY"Zlecenia "BIA?Y"- informacja"string"Zamknij""");
                //losowanie naczepy
                printf("3. uID: %d, Nazwa: %s"PlayerTowar[playerid][uID], TowarInfo[PlayerTowar[playerid][uID]][tName]);
                /*
                Tutaj printuje mi dobr? warto?? uID i dobr? nazw? towaru, czyli wszystko tak jak ma by?.
                */
                new lp = -1;
                for(new 05x++)
                {
                    if(LadunkiLV[x] == 0)
                    {
                        lp x;
                        break;
                    }
                }
                if(lp == -1) return SendClientMessage(playeridGREEN"CT: "BIA?Y"Brak miejsc, wybierz "ZIELONY"zlecenie jeszcze raz"BIA?Y".");
                
                LadunkiLV[lp] = 1;
                PlayerTowar[playerid][Slot] = lp;
                
                PlayerTowar[playerid][Naczepa] = CreateVehicle(435NaczepaInfo[lp][nX], NaczepaInfo[lp][nY], NaczepaInfo[lp][nZ], 180.0000000, -1, -1, -1);
                SetVehicleParamsForPlayer(PlayerTowar[playerid][Naczepa], playerid10);
                
                format(string2250""C_ZIELONY"[INFO]"JASNO_ZIELONY" Naczepa z Twoim zleceniem ma uID: "C_ZIELONY"%d"JASNO_ZIELONY". Podczep j? i podjed? do "C_ZIELONY"punktu kontrolnego"JASNO_ZIELONY" ("C_ZIELONY"zielony checkpoint"JASNO_ZIELONY")."lp);
                SendClientMessage(playerid, -1string);

                PlayerTowar[playerid][Kontrola][0] = CreateDynamicCircle(1622.14701589.343110.0, -1, -1playerid);
                PlayerTowar[playerid][Kontrola][1] = CreatePlayerObject(playerid199461622.14701589.343110.82030096);
                
                PlayerTowar[playerid][Rozl] = CreateDynamicCP(TowarInfo[UID][tX], TowarInfo[UID][tY], TowarInfo[UID][tZ], 20.0, -1, -1playerid5000.0);
                PlayerTowar[playerid][Ikonka] = CreateDynamicMapIcon(TowarInfo[UID][tX], TowarInfo[UID][tY], TowarInfo[UID][tZ], 10, -1, -1, -1playerid20.0MAPICON_GLOBAL);
                printf("4. uID: %d, Nazwa: %s"PlayerTowar[playerid][uID], TowarInfo[PlayerTowar[playerid][uID]][tName]);
                /*
                Tutaj printuje mi ju? zupe?nie inne uID i zupe?nie inn? nazw? towaru, jak w pierwszym przypadku np. uID wynosi?o 0 to tutaj printowa?o uID 44.
                */
            }
        }


Nie wiem co tu jest nie tak, nic nie zmieniam w uID, nic do niego nie dodaje/odejmuje a samo si? zmienia, jak wzi??em np. towar z uID 0 to p??niej printuje uID 44.

Za pomoc piwa i respekt.

Postaw piwo autorowi tego posta
 

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


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
1. Istnieje w og?le towar o takim numerze?
2. Poka? jak towary s? wczytywane,
3. Poka? jak towar jest przypisywany pod gracza,
4. Usu? kod od funkcji printf do printf i zobacz co wtedy wypluje w logach. Je?li b?d? dobre informacje, to przywracaj te usuni?te funkcje linijka po linijce do momentu a? znowu b?dzie b??d.

Masz troch? pogmatwane nazwy, bo raz masz uID a raz UID i ?atwo si? wtedy pomyli? co mia?o by?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-12, 08:49


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 | .
"Combacior" napisał/a:

1. Istnieje w og?le towar o takim numerze?

Tak, mam w tablicy wpisane 60 towar?w.
"Combacior" napisał/a:

2. Poka? jak towary s? wczytywane,

Mam tablic?, z nazwami towar?w i innymi rzeczami (koordynaty roz?adunk?w, czy jest legalny i takie tam), jak b?dzie trzeba to podam kod. Jak chce pokaza? towary w GUI to daj? p?tle na dan? ilo?? i pokazuje tak? ilo?? towar?w, ile razy wykona si? p?tla, a p??niej to ju? dzia?am na listitem, przypisuj?c warto?? tego jako uID towaru.
"Combacior" napisał/a:

3. Poka? jak towar jest przypisywany pod gracza,

Towar przypisuj? do gracza, jako uID tego towaru, bo maj?c uID b?d? m?g? odczyta? pozosta?e informacje, nazw? itd.
Pawn
PlayerTowar[playerid][uID] = listitem;

"Combacior" napisał/a:

4. Usu? kod od funkcji printf do printf i zobacz co wtedy wypluje w logach. Je?li b?d? dobre informacje, to przywracaj te usuni?te funkcje linijka po linijce do momentu a? znowu b?dzie b??d.

To zaraz sprawdz? i napisz? jaki rezultat. :)
Edit
Jak usun??em kod pomi?dzy printami, w obu przypadkach printuje mi dobre uID towaru, wi?c chyba ten kod pomi?dzy printami co? psuje.

"Combacior" napisał/a:

Masz troch? pogmatwane nazwy, bo raz masz uID a raz UID i ?atwo si? wtedy pomyli? co mia?o by?.


To wiem, bo tego printa wkleja?em w kilku miejscach i nie pozamienia?em uID na UID, ale to i tak dzia?a na takiej samej zasadzie. :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-12, 16:31


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
W takim razie usuwaj linijka po linijce kod pomi?dzy funkcjami printf i sprawdzaj co dok?adnie jest przyczyn?, kt?ra funkcja, kt?ra linijka kodu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-12, 18:32


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 | .
Combacior,

Pawn
 PlayerTowar[playerid][Ikonka] = CreateDynamicMapIcon(TowarInfo[UID][tX], TowarInfo[UID][tY], TowarInfo[UID][tZ], 10, -1, -1, -1playerid20.0MAPICON_GLOBAL);


Ta linijka zmienia?a uID wybranego towaru, usun??em i dzia?a wszystko jak powinno. Tylko co to ma wsp?lnego ze zmian? uID? :shock:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-12, 20:38


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Mia?em ju? podobne problemy, niewyt?umaczalna zmiana warto?ci w tablicy. Dlaczego tak si? dzieje, nie wiem. Problem nierozwi?zany do dzisiaj -> KLIK - co wi?c robi?em? Obej?cia (tzw. workaround). W tym przypadku skoro na pocz?tku kodu jest dobra warto??, to zapisz j? sobie do zmiennej lokalnej i pod koniec dialogu przypisz t? zapisan? warto?? w zmiennej lokalnej.

Kod:

new actionid = PlayerTowar[...][...];
...
...
PlayerTowar[...][...] = actionid;


Oczywi?cie mo?esz pr?bowa? znale?? normalne rozwi?zanie, poszuka? rozwi?zania problemu. Powy?szy problem, do kt?rego poda?em link, jest chyba jedynym, kt?rego nie rozwi?za?em normalnie.

Niedawno te? na to natrafi?em, te? tablica, te? wielowymiarowa. Powodem by?o odwo?anie si? tylko do jednego indeksu, tablica by?a chyba trzywymiarowa, a indeks poda?em tylko jeden, o jeden za ma?o. Pewnie i tak nie bardzo wiesz o co chodzi, ale to niewa?ne - po prostu musisz uwa?nie operowa? na tablicach, szczeg?lnie tych wielowymiarowych.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-13, 17:46


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 | .
Combacior, okej, dzi?ki wielkie za pomoc.


Temat został zamknięty, z powodu naruszenia zasad lub wyczerpania treści.




Postaw piwo autorowi tego posta
 

 
Tagi: uid :: towarów.
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