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

Wysłany: 2017-01-06, 20:28


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Witajcie,

wbijam z kolejnym problemem kt?ry nie wiem jak rozwi?za? na ten moment, nigdy nie tworzy?em dynamicznych stref. Dopiero zaczynam, wi?c przejd?my do rzeczy, mam taki kod:

Pawn

enum E_STACJA {

    //...
    Float:zones_points[8],
    area_station,
        //...
}
new StationInfo[MAX_STATIONS][E_STACJA];

// P??niej wczytywani wszystkich stacji (i tutaj zaczyna si? problem)
public LoadStations()
{
        new query[256], station_id 0string[124], pos_station[124];
    mysql_query("SELECT * FROM `stations`");
    
    mysql_store_result();
    while(mysql_fetch_row(query"|"))
    {
        station_id ++;

            sscanf(query"p<|>dfffs[124]",
            StationInfo[station_id][sUID],
            StationInfo[station_id][sposX],
            StationInfo[station_id][sposY],
            StationInfo[station_id][sposZ],
            pos_station);

        sscanf(pos_station"p<,>ffffffff"StationInfo[station_id][zones_points][0], StationInfo[station_id][zones_points][1], StationInfo[station_id][zones_points][2], StationInfo[station_id][zones_points][3], StationInfo[station_id][zones_points][4], StationInfo[station_id][zones_points][5], StationInfo[station_id][zones_points][6], StationInfo[station_id][zones_points][7]);
        StationInfo[station_id][area_station] = CreateDynamicPolygon(StationInfo[station_id][zones_points]);
        
    }
    mysql_free_result();

    printf("[LOAD] Wczytano %d stacji."station_id);
    return 1;
}


W bazie danych mam pole "zones" jako varchar(124). Mam 8 pozycji w tym polu, lecz strefa si? nie tworzy, bo doda?em w publicu OnPlayerEnterDynamicArea sprawdzenie czy gracz wszed? w strefe stacji, lecz nic nie wykaza?o. Kto? podpowiedzia?by jak zapisa? 8 pozycji do bazy, p??niej je wczyta? i stworzy? z tego ten "Polygon"?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 20:53


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Szuka?e? mo?e rozwi?zania przed napisaniem tego, forum sampa, gdziekolwiek?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:00


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

No szuka?em, ale nigdzie na forum sa-mp'a nie znalaz?em dynamicznego skryptu, gdzie te polygony si? wczytuj? z bazy danych czy te? pliku.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:08


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Czyli co, szuka?e? gotowego skryptu, nie znalaz?e?, zako?czy?e? poszukiwania i napisa?e? tutaj, tak?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:15


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Tak, a sam nie pr?bowa?em tego zrobi?... Gdyby uda?o mi si? to zrobi?, nie pisa?bym tutaj tego tematu. W og?le, schodzisz z tematu - nie chcesz, nie pomagaj.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:24


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Czemu a? 8 pozycji? Chcesz zrobi? stref? na obszarze stacji?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:26


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Je?li szukasz tylko gotowego skryptu, no to gratuluj? xD raczej nie b?dzie dok?adnie takiego skryptu, jaki sobie ?yczysz, bo ka?dy ma inne wymagania dotycz?ce ka?dego kodu. Czas najwy?szy zmieni? sobie cel szukania. Je?li nie znajdziesz tego, czego szukasz, to chyba trzeba zmniejszy? wymagania, nieprawda?? Zatem trzeba szuka? wyja?nienia dzia?ania funkcji CreateDynamicPolygon, bo skoro co?, co robisz, nie dzia?a, to co? si? dzieje z funkcj?, nieprawdopodobnie, NIE? Szuka?e? wyja?nienia dzia?ania funkcji CreateDynamicPolygon? A gdzie tam, przecie? sam napisa?e?, ?e szuka?e? gotowego skryptu, gratuluj? raz jeszcze. Zatem jak dzia?a funkcja CreateDynamicPolygon?

Cytat:

For CreateDynamicPolygon and CreateDynamicPolygonEx, the points need to be specified as a sequence of ordered pairs (x1, y1, x2, y2, ..., xn, yn). The number of elements in the array must be divisible by two for this reason. The first point must also be equal to the last point to form a closed path


Powi?kszy?em ciutk? najwa?niejsz? informacj? ?eby? znalaz?. Trzymaj prosz? gotowca, bo inaczej sobie zapewne nie poradzisz

Kod:

new Float:Points[12] =
{2305.5264, 1783.7133, 2305.5264, 1882.6989, 2167.5994, 1882.6989, 2167.5994, 1859.0988, 2128.2075, 1783.7133, 2305.5264, 1783.7133};
AdminHQArea = CreateDynamicPolygon(Points, 5.0, 15.0, sizeof(Points));


Zapomnia?bym doda? - kod znaleziony na forum sampa. Id? podbija? scen? sampolka. B?d? sobie schodzi? z tematu kiedy b?d? chcia?, a i tak pomog?, bo trzeba pomaga? gamoniom, kt?rzy nawet szuka? nie potrafi?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:52


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Ehh, tworzenie i usuwanie polygon?w w sztywno wpisanych kordach w GM'ie to ogarn??em i sprawdza?em. Lecz nie wiem jak zapisa? 8 pozycji do bazy danych, p??niej je wczyta? tak ?ebym m?g? stworzy? polygon.

Ale dobra, mo?na zamkn?? temat, lepiej samemu widz? kombinowa?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-06, 21:59


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Jak nawet nie poda?e? ?adnej struktury bazy danych ani co zawiera pole `zones`, wi?c sk?d mam wiedzie? co tam jest? Napisa?e? 8 pozycji, no to w kodzie masz wczytywanie. Jakby? mia? te pozycje w bazie danych dobrze zapisane, to wszystko by?oby w porz?dku. Chcesz kombinuj samemu, mi to lotto, ale jak napisa?e?, ?e szuka?e? gotowego skryptu, a nie dzia?ania funkcji, no to przepraszam, po Tobie spodziewa?em si? czego? wi?cej.

"Mac" napisał/a:

nie wiem jak zapisa? 8 pozycji do bazy danych, p??niej je wczyta?


Tak samo jak wczytujesz wszystkie inne dane gracza.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-07, 12:07


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Jak nie poda?em?
Kod:

W bazie danych mam pole "zones" jako varchar(124). Mam 8 pozycji w tym polu,

Tak to wygl?da


Wczytywanie stacji te? poda?em, no ale jeszcze raz
Pawn

enum E_STACJA {

    //...
    Float:zones_points[8],
    area_station,
        //...
}
new StationInfo[MAX_STATIONS][E_STACJA];

public LoadStations()
{
        new query[256], station_id 0string[124], pos_station[124];
    mysql_query("SELECT * FROM `stations`");
    
    mysql_store_result();
    while(mysql_fetch_row(query"|"))
    {
        station_id ++;

            sscanf(query"p<|>dfffs[124]",
            StationInfo[station_id][sUID],
            StationInfo[station_id][sposX],
            StationInfo[station_id][sposY],
            StationInfo[station_id][sposZ],
            pos_station);

        sscanf(pos_station"p<,>ffffffff"StationInfo[station_id][zones_points][0], StationInfo[station_id][zones_points][1], StationInfo[station_id][zones_points][2], StationInfo[station_id][zones_points][3], StationInfo[station_id][zones_points][4], StationInfo[station_id][zones_points][5], StationInfo[station_id][zones_points][6], StationInfo[station_id][zones_points][7]);
        StationInfo[station_id][area_station] = CreateDynamicPolygon(StationInfo[station_id][zones_points]);
        
    }
    mysql_free_result();

    printf("[LOAD] Wczytano %d stacji."station_id);
    return 1;
}


Wczytuje te 8 pozycji do stringu pos_station, nast?pnie rozdzielam sscanf'em te 8 pozycji do poszczeg?lnych indeks?w, lecz Polygon w taki spos?b si? nie tworzy. Co do wiadomo?ci z sa-mpa, ?e ostatnie warto?ci musz? by? takie same jak pierwsze - to tak mam w tych pozycjach.

Pr?bowa?em nawet tak,
Pawn

StationInfo[station_id][area_station] = CreateDynamicPolygon(Float:pos_station);


Kiedy sztywno wpisuje kordy w GM'ie, wtedy polygon si? tworzy i elegancko dzia?a kiedy wejd? w jego strefe.
Pawn

new Float:zones[] = {
    -59.0,-1.0,117.0,0.0,117.0,-120.0,-59.0,-123.0,-59.0,-1.0
};
new zone CreateDynamicPolygon(zones);
// W taki spos?b, elegancko wszystko dzia?a.


Mo?e kto? inny pomo?e? Ci??ko napisa? (kiedy si? wie co i jak) tu musisz u?y? innej zmiennej, tutaj masz b??d itp?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-07, 12:17


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Je?li tak faktycznie masz, to przepraszam - troch? mnie ponios?o. Sam rzadko korzystam z poligon?w i kiedy mia?em z nimi problem, to w?a?nie by? on zwi?zany z ostatni? pozycj?, dlatego s?dzi?em, ?e tutaj te? si? o to rozchodzi. Spr?buj tak

Kod:

StationInfo[station_id][area_station] = CreateDynamicPolygon(StationInfo[station_id][zones_points], .maxpoints = 8);


Problemem mo?e by? maksymalna ilo?? punkt?w, gdy? domy?lnie jest to sizeof pierwszego wymiaru tablicy - w tym przypadku sizeof tablicy StationInfo, czyli MAX_STATIONS. Ustaw maxpoints na 8, tak jak w kodzie wy?ej, mo?e to ma wp?yw, ale pewno?ci nie mam.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-07, 12:37


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

No i widzisz. Dzi?kuje Ci za t? informacje. Temat ostatecznie mo?na zamkn??.

Postaw piwo autorowi tego posta
 

 
Tagi: dynamic :: polygon :: tworzenie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » Dynamic Polygon - tworzenie 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