ďťż
Tanit diary
Assassin's Creed PL (2008) + Patch 1.02 + Poradnik
GTA San Andreas Multiplayer----Poradnik dla początkujących
Błędy i sygnały BIOS-u [Poradnik]
PORADNIK KUPUJĄCEGO komputer
Aktywny Poradnik Aeris.
TYPY KRZYWUSKA
Live sets !!!!
POSTANOWIENIA KOŃCOWE
DJ Hype - Live @ Kiss 100 - 2007/08/23
16.01.2009 - CZARNI vs BIALI - OiOM
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kwiatpolny.htw.pl

  • Tanit diary

    Witam w poradniku do robienia map w PAWNO do SA-MP!!!

    Oto linki w których jest wszystko tzn.:
    -4 programy do edytowania map _ SA-MP Script Maker
    -Program do robienia kolorów
    -SA-MP 0.1b server + Client + Fix
    -Dwa programy do patrzenia na bieżąco: Ludzi, pojazdów i broni wraz z ich ID
    -Mapy na których jes tworzony ten poradnik(jest tam też sftdm i lvdm)
    -Pliki includes do programu Pawno
    -Inne-tzn. Id pojazdów, kolory, itp. itd.

    Prawie w każdym folderze jest opis danego programu.
    Po prostu jest tam wszystko czego programista zapragnie.

    http://rapidshare.com/fil...adnik_pawno.rar

    Poradnik do Pawno:
    Poradnik jest tworzony na mapie lvdmod.pwn
    1. samp_debug.exe

    Program którym możemy dodawać pojazdy i skiny. Jest on w folderze z grą GTA: SA. O ile mamy zainstalowane SA-MP Smile
    Uruchamiamy samp_debug.exe i klikamy na Launch Debug. Oto komendy których możemy użyć:
    Wciskamy tylde [~] lub [T] i piszemy:
    /save (nie obowiązkowo komentarz) – zapisuje: id postaci, współrzędne x,y,z, obrót postaci,bronie

    /vsel – załącza wybór pojazdów
    /v (id pojazdu) – spawnuje pojazd o podanym id
    /interior – dowiesz sie jaki id ma interior w którym jesteś (0 jest na zewnątrz, dwór)
    F11 i F12 – wybór postaci

    Koordy – czyli współrzędne które zapisywaliśmy w samp_debug.exe są w pliku: savedpositions.txt w folderze z grą GTA: SA. Gdy chcemy dodać to co zapisaliśmy kopiujemy wybraną linijke i wklejamy do kodu źródłowego mapki.

    ID pojazdów, kolory oraz ID skinów macie w linku który podałem wyrzej.

    Oto jak dodawać skiny:

    Mamy przykładowo takie coś. Zapisało nam się to w pliku: savedpositions.txt
    I o co w tym chodzi? Oznacze wszystko poszczególnymi kolorami:

    AddPlayerClass(0,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,0,0);

    AddPlayerClass(ID Skinu,X,Y,Z,A,Broń1 0 ,Amunicja1 0,Broń2 0,Amunicja2 0,Broń3 0,Amunicja3 0);

    AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,5,0,22,100,32,50);

    Czerwony- ID gracza/skinu
    Zielony-Współrzędne X Y Z
    Brązowy-Kamera, obrót gracza -z ang. Angle
    Fioletowy-ID broni

    Niebieski-Amunicja

    Teraz czas na pojazdy:
    Mamy takie coś też w pliku: savedpositions.txt

    AddStaticVehicle(0,2040.2279,1344.4127,10.6719,3.5436,0,0);

    AddStaticVehicle(ID pojazdu,X,Y,Z,A,Kolor1,Kolor2);

    AddStaticVehicle(411,2040.2279,1344.4127,10.6719,3.5436,126,54);

    Czerwony-ID pojazdu
    Zielony-Współrzędne X Y Z gdzie pojazd ma się znajdować
    Brązowy-Kamera, obrót samochodu – z ang. Angle
    Fioletowy-Kolor pierwszy pojazdu
    Niebieski-Kolor drugi pojazdu

    Jak dodać Pickupa? Czyli np. kamizelke na mapie albo broń?
    Zapisujem współrzędne przez sam_debug.exe tam gdzie chcemy mieć nasz

    przedmiot. Możemy być w aucie lub na nogach i dajem: /save opis

    Otwieramy plik: savedpositions.txt i szukamy naszj zapisanej współrzędnej.
    Zapisaliśmy np. współrzędną będąc w pojeździe. Wygląda ona tak:

    AddStaticVehicle(411,1710.3359,1614.3585,10.1191,3.5436,126,54);

    Co z tym zrobić? Musimy Napisać tak:

    AddStaticPickup( );

    Kopiujemy współrzędne zaznaczone na zielono: 1710.3359,1614.3585,10.1191 do:

    AddStaticPickup(1710.3359,1614.3585,10.1191);

    Teraz aby dodać pickupa musimy dodać jego ID (czyli np. broni albo JetPacka):
    W tym celu dopisujemy przed współrzędnymi dwie cyfry: 370,2,
    I w całości to wygląda tak:

    AddStaticPickup(370,2,1710.3359,1614.3585,10.1191); //JetPack

    Czerwony- ID pickupa lub broni 370-jest to pick up JetPacka
    Pomarańczowy- typ respawnu

    Oto kilka typów respawnu pickupów:
    0- nie pokazuje pickupa
    2- respawn pickupa co kilka minut
    3- jest cały czas. żaden respawn

    I gdzie to wkleić? Ano otwieramy plik: lvdm.pwn

    i na dole mapy jest nowy wątek:
    public OnGameModeInit()
    a niżej są umieszczone Skiny i Pojazdy. Aby dodać swoje skiny lub pojazdy usuwamy je i dodajemy nowe.
    Pamiętaj!!! Możesz wstawić tylko 50 modeli pojazdów i 250 wszystkich!!! Inaczej server się nie włączy!!!
    Z pickupami postępujemy tak samo. Tylko dodajemy je lepiej pod pojazdami. Pickupy nie liczą się do modeli
    pojazdów więc możemy ich dodać ile chcemy.

    2. Jak zrobić żeby gracz miał więcej kasy na początku:

    Otwieramy plik: lvdm.pwn i szukamy linijki: #define PocketMoney 50000

    Jest ona na początku kodu źródłowego mapki. Liczba zaznaczona na czerwono jest liczbę pieniędzy
    jaką gracz będzie dysponował na początku rozgrywki.

    3. Jak zmienić nazwe mapy? By w zakładce ,,Mode’ pisało inaczej?
    Otwieramy plik lvdm.pwn i szukamy na dole wątku: public OnGameModeInit()
    Poniżej mamy takie coć: SetGameModeText(’Ventura’s DM~MG‘);

    Zmieniamy to co jest zaznaczone na zielono. Pamiętaj że możesz zmieniać tekst
    tylko w cudzysłowiach!!! Zaznaczonych tu na czerwono. Zapamiętaj to.

    4.Jak dodać nowy kolor?
    Otwieramy plik: lvdm.pwn i na samym początku są zdefiniowane kolory. Przykład: #define COLOR_GREY 0xAFAFAFAA
    Następnie otwieramy plik: PAWNO – RGB to HEX.exe szukamy sobie nowy kolor. I definiujemy nową nazwe np.:
    #define COLOR_LIGHTGREEN 0×18FE12FF

    5. Tworzenie własnego markera i strefy. Czyli czerwonego kółka:
    Aby zrobić współrzędne najlepiej zaopatrzyć się w program San Andreas Place Manage lub robić to przez samp_debug.exe

    Gdy to już mamy przystępujemy do pracy:

    AddPlayerClass(281,491.5403,-10.1736,1000.6797,205.3798,0,0,0,0,0,0); // coord 1
    AddPlayerClass(281,491.7465,-17.6610,1000.6797,182.2477,0,0,0,0,0,0); // coord 2
    AddPlayerClass(281,483.8130,-18.0149,1000.6797,95.8099,0,0,0,0,0,0); // coord 3

    AddPlayerClass(281,483.9237,-10.1626,1000.6797,357.7577,0,0,0,0,0,0); // coord 4

    3—-4
    | B | -droga robienia współrzędnych
    2—-1

    AddPlayerClass(281,487.0723,-13.4085,1000.6797,220.7422,0,0,0,0,0,0); // coord buy

    AddPlayerClass(281,491.5403,-10.1736,1000.6797,205.3798,0,0,0,0,0,0);
    (ID gracza, X , Y , Z , A , bronie ID)

    Potrzebujesz współrzędnych X i Y bierzesz:
    najniższy X ‘483.8130‘

    wtedy najniższy Y ‘-18.0149‘ (Jest to liczba ujemna i dlatego jest najmniejsza)

    Najwyższy X ‘491.7465′
    Najwyższy Y ‘-10.1626‘

    Teraz masz tak: {483.8130,-18.0149, 491.7465,-10.1626} – to są współrzędne checkCoords – Strefy w której będzie znajdował się marker: ( new Float:checkCoords[MAX_POINTS][4] = { )

    Aby mieć współrzędne ,,checkpoints’ przepisujesz współrzędne: {487.0723,-13.4085,1000.6797} – to są współrzędne
    z tej linijki: ( new Float:checkpoints[MAX_POINTS][3] = { ) – są to współrzędne w którym będzie znajdować się marker(czyli to czerwone kólko, cylinder w które trzeba wejść Smile )

    Tutaj macie link do obrazka jak to wygląda: http://www.fotosik.pl/sho...d1a250f77695fe6

    Kopiujemy potrzebne dane które utworzyliśmy i wklejamy do kodu źródłowego naszej mapki.

    Kompilujemy skrypt i włączamy naszą mapke. Gdy pojedziemy do naszego miejsca zobaczymy
    czerwone kółko. Oto nasz marker którego stworzyliśmy sami! Very Happy

    Thx dla 50p Wink

    6. Aby wszystko nam ładnie i pięknie chodziło… zapisujemy nasz projekt a potem musimy go skompilować czyli dajemy na compile.
    Skompilowany plik .amx zostanie utworzony tam gdzie edytowaliśmy plik .pwn Czyli naszym przykładem był plik: lvdmod.pwn i
    skompilowaliśmy go do formatu lvdmod.amx

    7.Tworzymy własną wybierałkę gracza/playera =

    Chodzi o własnego gracza którym będziemy grali i o to w jaki sposób będzie
    to pokazane. Oto link do zdjęcia:

    http://www.fotosik.pl/sho...2fbcc0204289179
    Szukamy tego:

    public SetupPlayerForClassSelection(playerid)
    {

    SetPlayerInterior(playerid,0);

    SetPlayerPos(playerid,2097.502,1158.271,24.5625);
    SetPlayerFacingAngle(playerid, 70.0);

    SetPlayerCameraPos(playerid,2094.7,1158.271,24.5625);

    SetPlayerCameraLookAt(playerid,2094.7,1158.271,24.5625);
    }
    Zielony- tu jest interior (0- jest na zewnątrz, dwór)

    Niebieski – tu jest miejsce gdzie będą stały postacie na początku jak się wybiera
    Fioletowy – tutaj jest kąt pod jakim można obrócić skina
    Brązowy – tutaj jest miejsce w którym została umieszczona kamera
    Błękitny – a tutaj jest miejsce z którego kamera patrzy na skina

    P.S. To są moje współrzędne które sam zrobiłem. Są wzięte z mapy która jest na n2.
    Współrzędne można wziąść z samp_debug.exe lub przez San Andreas Place Manager.
    Wygodny jest ten drugi sposób bo można to robić latając JetPackiem i wtedy jest łatwiej.
    Ale jak kto woli. Gdy robimy współrzędne za pomocą samp_debug.exe wyciągamy współrzędne z tąd:

    AddStaticVehicle(521,2000.8287,1527.6210,14.1892,1.3089,36,0);
    AddPlayerClass(0,2292.7839,2452.5076,10.8203,89.9717,0,0,0,0,0,0);

    Pamiętajmy że robiąć współrzędne przez San Andreas Place Manager będziemy musieli pozmieniać
    przecinki jak kopiujemy współrzędne.
    Aha i pamiętajcie że kamera ZAWSZE Będzie zwrócona w kierunku: N, S, W, lub E!!! Północ, Południe, Wschód, Zachód!!!

    A tu jest opisane jak to mniej więcej wygląda:

    public OnPlayerRequestClass(playerid, classid)

    {
    SetPlayerInterior(playerid,interior); – interior można wziąść z samp_debug.exe

    SetPlayerPos(playerid, x, y, z);
    SetPlayerFacingAngle(playerid, a); – kąt w przediale od 1-360 stopni
    SetPlayerCameraPos(playerid, x, y, z);
    SetPlayerCameraLookAt(playerid, x, y, z lub x ??);

    }

    Chyba pomogłem? Jak czegoś nie wiecie to się pytać.
    Aha. Na początku lepiej aby SetPlayerCameraPos i SetPlayerCameraLookAt były takie same.
    Później łatwiej wam będzie zrobić własną wybierałke playera. W linku jest obrazek, który mniej więcej wyjaśnia o co w tym chodzi… Very Happy Link do zdjęcia:

    http://www.fotosik.pl/pok...68cfe63a8d.html

    8. Dodawanie muzyki w tle podczas wybierania gracza/playera
    Aby dodał muzyczke trzeba znaleść to:

    public SetupPlayerForClassSelection(playerid)
    {
    SetPlayerInterior(playerid,14);
    SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
    SetPlayerFacingAngle(playerid, 270.0);

    SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
    SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
    PlayerPlaySound(playerid,1159,258.4893,-41.4008,1002.0234);

    }

    Kolor zielony – weź stąd współrzędne: SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);

    i wklej do: PlayerPlaySound(playerid,1159,2097.502,1158.271,24.5625);
    ID muzyki i inne są w pliku do pobrania który zamieściłem. Waży 16 MB Very Happy
    Aha, i jak jest interior 0 czyli na dworze to muzyka będzie grać chyba przez

    cały czas gry więc odradzam dodawanie muzyki gdy interior jest zerowy. Very Happy

    9.Dodajemy własne posiadłości:
    Zaczynamy od wybrania miejsca, w którym gracze będą mogli kupić nową posiadłość.
    Następnie musimy utworzyć strefę i markera – czyli czerwone kółko, cylinder. Jest to opisane w punkcie: 5

    Bierzemy się do roboty…
    Szukamy na początku kodu mapki zdefiniowane posiadłości:

    Wygląda to tak: #define CP_NAZWA NR.
    I na samym dole dodajemy nową definicje:

    #define CP_STARFISH 11

    STARFISH – jest to nasza nazwa, jaka będzie występowała w kodzie źródłowym

    11 ; a jedenaście jest to liczba porządkowa przydzielana po kolei, czyli np. 1, 2, 3, 4, itd.

    Następnie niżej szukamy podobnych definicji i na samym dole dodajemy:

    #define P_STARFISH 8

    STARFISH - jest to nasza nazwa, jaka będzie występowała w kodzie źródłowym musi się zgadzać z wyrzej wymienioną zdefiniowaną wartością
    8 ; jest to numer porządkowy przydzielany kolejno np. 1, 2, 3, 4, 5, itd.

    Szukamy kolejnego wyrazu. Tym razem jest to:

    #define MAX_POINTS 11
    11- oznacza maksymalną liczbę posiadłości. Zmieniamy ją na:
    #define MAX_POINTS 12
    12 ; ponieważ chcemy dodać jedną posiadłość

    Zaraz pod: #define MAX_POINTS 12 jest linijka:

    new Float:checkCoords[MAX_POINTS][4] = {
    {2100.6367,1841.2338, 2352.1677,2014.0052} //komentarz nieobowiązkowy
    };

    To co jest pogrubione na czarno jest to rozmiar strefy w której będzie znajdował się marker.
    Współrzędne strefy bierzemy z samp_debug.exe Jak zrobić strefę dowiemy się z punktu: 5
    Aha nie zapomnijmy o dodanie wyżej przecinka!!! Wyglądać będzie to w moim przypadku tak:
    {416.7485,-84.4242, 422.6890,-74.0611}, //BOTIQUE Tu jest przecinek po nawiasie

    {2100.6367,1841.2338, 2352.1677,2014.0052} //STARFISH A tutaj nie ma
    W ostatniej linijce nie dajemy nigdy przecinka po nawiasie!!!

    Przechodzimy niżej. Mamy tam linijkę:
    new Float:checkpoints[MAX_POINTS][3] = {
    {2163.3354,1904.5193,10.8125} //komentarz nie obowiązkowy

    To co pogrubiłem na czarno są to współrzędne w którym będzie znajdować się nasz marker.
    Współrzędne bierzemy z samp_debug.exe Jak zrobić współrzędne dowiemy się w punkcie: 5

    Aha i tutaj także pamiętajmy o przecinku:

    {418.5547,-80.1667,1001.8047}, //BOTIQUE tutaj za nawiasem jest przecinek
    {2163.3354,1904.5193,10.8125} //STARFISH a tutaj nie ma
    };

    Pamiętajmy że tutaj także nie dajemy nigdy na końcu ostatniej współrzędnej przecinka!!!

    Kolejny etap to dodanie nazwy w linijce:
    new checkpointType[MAX_POINTS] = {

    CP_STARFISH
    STARFISH - jest to nazwa którą zdefiniowaliśmy wcześniej i musi być wszędzie taka sama

    Aha i przecinki…
    CP_BOTIQUE, – tutaj jest
    CP_STARFISH – tutaj na końcu nie ma
    };

    Jedziemy dalej Smile

    Mamy teraz linijke:
    #define MAX_PROPERTIES 8
    8 – jest to liczba określająca ile budynków możemy dodać

    Zmieniamy ją na 9 :
    #define MAX_PROPERTIES 9
    Ponieważ chcemy dodać nową posiadłość

    Poniżej linijki: #define MAX_PROPERTIES 9
    Mamy coś co jest najprostsze. Musimy ustalić nazwę posiadłośco, cenę i kwotę jaką dany gracz będzie otrzymywał po kupnie budynku.
    Mamy tak:

    new propertyNames[MAX_PROPERTIES][32] = {
    ‘Nazwa naszej posiadłości’

    Wygląda to tak:
    ‘Botique’, pamiętajmy o przecinkach!! Tutaj jest

    ‘Kasyno Star Fish’ Tutaj nie ma
    };

    Następne to cena:
    new propertyValues[MAX_PROPERTIES] = {

    200000

    W całości wygląda to tak:
    20000, pamiętajmy o przecinku

    200000 Tutaj nie ma przecinka
    };

    I ostatnie to kwota jaką będzie dawała posiadłość za jej kupno:
    new propertyEarnings[MAX_PROPERTIES] = {
    20000

    W całości wygląda to tak:
    1500, jest przecinek

    20000 nie ma przecinka
    };

    I ostatnie które trzeba zmienić to:
    new propertyOwner[MAX_PROPERTIES] = {999,999,999,999,999,999,999};
    Dopisujemy trzy dziewiątki na końcu:
    new propertyOwner[MAX_PROPERTIES] = {999,999,999,999,999,999,999,999};

    I przechodzimy do dalszej części… Szukamy komendy: /buy

    Mamy coś takiego:
    //——————- /buy

    if(strcmp(cmd, ‘/buy’, true) == 0) {
    new property=999;

    if(IsPlayerInCheckpoint(playerid)) {

    switch (playerCheckpoint[playerid]) {
    case CP_BOTIQUE:{

    property = P_BOTIQUE;
    }
    case CP_STARFISH: {
    property = P_STARFISH;
    }
    }
    Dodajemy to co pogrubiłem na czarno czyli:

    case CP_STARFISH: {

    property = P_STARFISH; <--- tutaj nie wolno usuwać średnika na końcu!!!
    }

    I ostatnie, które musimy zmieniń to komunikat jaki będzie wyświetlany gdy wejdziemy do markera. Szukamy tego:
    public OnPlayerEnterCheckpoint(playerid)
    {
    new string[256];
    new ownplayer[MAX_PLAYER_NAME];

    switch(getCheckpointType(playerid))
    /* case CP_BOTIQUE: {
    SendClientMessage(playerid, COLOR_YELLOW, ‘Możesz kupić Botique za $23,000 używając komendy /buy’);
    SendClientMessage(playerid, COLOR_YELLOW, ‘Będziesz dostawał regularnie $2,300′)
    }
    case CP_STARFISH: {
    SendClientMessage(playerid, COLOR_YELLOW, ‘Możesz kupić Kasyno Star Fish za $200,000 używając komendy /buy‘);

    SendClientMessage(playerid, COLOR_YELLOW, ‘Będziesz dostawać regularnie $20,000‘);
    */

    I tak. Pamiętajmy aby to co jest pogrubione na czarno umieścić pomiędzy tymi znakami które są zaznaczone na czerwono. Kolor żółty jest to treść komunikatu jaki zostanie wyświetlony gdy wejdziemy do czerwoneo kółka.
    I krótkie wyjaśnienie:
    SendClientMessage(playerid, COLOR_YELLOW, ‘Twój komentarz‘);
    COLOR_YELLOW – kolor możemy sami zmienić lub dodać nowy. Gdy dodaliśmy np. szary, to może być to: COLOR_GREY i tekst będzie wyświetlany na szaro. Jak dodać lub zdefiniować nowe kolory dowiemy się z punktu: 4

    Poradnik wzięty gtanet.info
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • rozszczep.opx.pl
  • ďťż
    Wszelkie Prawa ZastrzeĹźone! Tanit diary Design by SZABLONY.maniak.pl.