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

Wysłany: 2018-09-22, 13:06


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

Siema! Mam problem ze sprawdzeniem dw?ch zmiennych typu string.
Sprawdzam tak:
Pawn
if(strcmp(VehData[i][ovner], PlayerName(playerid))) {

Gdy VehData[i][ovner] ma warto?? np. XYZ a zmienna PlayerName(playerid) ma warto?? np. YZX to warunek if twierdzi ?e s? identyczne. W czym le?y problem ?

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-09-22, 16:04


silentus

#define true false






Wiek: 30
Na forum: 5282 dni
Posty: 71
Nick w MP: .silent

Piwa: 1462

Respekt: 116,1
Respekt: 116,1

Stringi por?wnuje si? u?ywaj?c !strcmp bo w dokumentacji jasno pisze, ?e strcmp zwraca 0 gdy oba ci?gi znak?w s? identyczne, 1 gdy si? zawieraj? a -1 gdy s? r??ne.

Musisz te? wzi?? pod uwag? to, ?e strcmp zwr?ci 0 (czyli ?e s? r?wne) gdy kt?ra? ze zmiennych jest pusta, wtedy np gdyby VehData[i][owner] by?o puste, to ka?dy gracz b?dzie jego w?a?cicielem. Na wszelki wypadek lepiej to sprawdzi?. Poza tym, co gdy gracz zmieni nick? Do takich rzeczy lepiej u?ywa? ID z bazy danych, a je?li jej nie u?ywasz to lepiej zacz??.

Podpis


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-09-23, 12:23


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

baz? danych u?ywam jak najbardziej :) dobry pomys? mi podsun??e? :) O tym nie pomy?la?em :)

[ Dodano: 2018-09-23, 14:19 ]
Teraz mam problem, chc? za?adowa? pojazdy kt?re posiada gracz, no i generalnie tworz? p?tl? kt?ra b?dzie po kolei dodawa?a do tablicy dane.
Wygl?da to tak:
Pawn
    for(new iMAX_CARSi++)
    {
        if(VehData[i][ovner] != 0)
        {
            if(VehData[i][ovner] == Player[playerid][UID])
            {
                PlayerCars[liczbaauta[playerid]][model][playerid]=VehData[i][model];
                PlayerCars[liczbaauta[playerid]][SAMPID][playerid]=VehData[i][SAMPID];
                PlayerCars[liczbaauta[playerid]][PosX][playerid]=VehData[i][PosX];
                PlayerCars[liczbaauta[playerid]][PosY][playerid]=VehData[i][PosY];
                PlayerCars[liczbaauta[playerid]][PosZ][playerid]=VehData[i][PosZ];
                PlayerCars[liczbaauta[playerid]][PosR][playerid]=VehData[i][PosR];
                PlayerCars[liczbaauta[playerid]][przebieg][playerid]=VehData[i][przebieg];
                liczbaauta[playerid]++;
                ilepojazdowposiada[playerid]++;
              }
        }
        else
        {
            break;
        }
    }


i generalnie mimo ?e gracz o danym uid posiada jeden pojazd wyskakuje mu ?e nie posiada pojazdu bo zmienna ilepojazdowposiada zawiera 0.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-09-23, 21:29


silentus

#define true false






Wiek: 30
Na forum: 5282 dni
Posty: 71
Nick w MP: .silent

Piwa: 1462

Respekt: 116,1
Respekt: 116,1

Nie rozumiem troch? co pr?bujesz zrobi?, kopiujesz warto?ci z VehData do PlayerCars tylko po co? Pro?ciej raczej zapisa? tylko id w tablicy na kt?rym jest dany pojazd.

Ja to mam zrobione tak:
Przy starcie serwera ?aduje wszystkie pojazdy do tablicy pvehData, kt?ra ma limit dajmy na to 250 (na mniejszym serwerze to przejdzie, na du?ym lepiej jest zrobi? ?adowanie pojazd?w z bazy dopiero wtedy gdy wchodzi gracz).
Dodatkowo mam tablic? vehicles na MAX_VEHICLES (2000) w kt?rej trzymam r??ne rzeczy dotycz?ce ka?dego pojazdu z osobna (czy to prywatnego czy tez normalnego), mi?dzy innymi trzymam tam privateVehID kt?re wynosi 0 gdy pojazd nie jest privem lub wynosi id z tablicy pvehData, w ten spos?b mam bardzo ?atwy i szybki dost?p do danych oboj?tnie jakiego pojazdu je?li jest prywatny. Oczywi?cie tak samo w pvehData trzymam jego prawdziwe sampowe id kt?rym mog? odwo?a? si? do tablicy vehicles.

Gdy gracz si? zaloguje, wyszukuje w tablicy pvehData takich pojazd?w, w kt?rych ownerID jest r?wny UID gracza i po prostu dodaj? ID znalezionego pojazdu do tablicy playerPVehs.

W ten spos?b mog? zrobi? np pvehData[playerPVehs[playerid][0]] i mam dane pierwszego priva nale??cego do tego gracza, a gdy gracz jedzie pojazdem mog? w ?atwy spos?b odwo?a? si? do tablicy pvehData przez pvehData[vehicles[GetPlayerVehicleID(playerid)][privateVehID]]

Oczywi?cie ?eby to wszystko mia?o r?ce i nogi trzeba dba? o poprawno?? danych i ich zerowanie, inaczej mo?na sobie namiesza? czy spowodowa? crashe/warningi.

Podpis


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-09-24, 15:17


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

No ja te? tak mam :D chodzi mi o pomys? jak wy?wietli? pojazdy kt?re posiada gracz :D

[ Dodano: 2018-10-23, 17:44 ]
silentus da? by? przyk?ad jak to zrobi? ? :D

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: dwie :: równe :: zmienne :: stringowe
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