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

Wysłany: 2016-05-04, 07:59


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

Witam chcia? bym zrobi? towary lecz nie zbyt wiem jak si? zabra? pomo?e kto? ? Dok?adnie chodzi o towary dla naczep i osobne dla wanow . ?eby towar zapisywa? si? na naczepy ze je?eli gracz za?adowa? na jedn? naczepy to ta musi dowie?? o wjazd w checkpointy. R?wnie? ciekaw jestem czy da si? zrobi? uszkodzenie naczepy ze je?li jest uszkodzona to on mniej zarabia . Je?li kto? pomo?e daje piwko ps ja nie licz? na gotowa lecz na wyt?umaczenie .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-04, 13:51


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
"ShaKeS" napisał/a:

?eby towar zapisywa? si? na naczepy ze je?eli gracz za?adowa? na jedn? naczepy to ta musi dowie?? o wjazd w checkpointy.


Napisz to jeszcze raz i poprawnie, bo teraz to nie wiadomo o co w tym chodzi.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-04, 14:55


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

Dobrze. A wi?c. Chce zrobi? system towaru. Je?li wad? w dane miejsce i wpisze dana komend? wyskoczy mi dialog na kt?rym b?d? mia? towary i ich ilo?? czyli np Meble 2000$ 1 i je?li to wybierze to za?aduje mu towar kt?ry b?dzie w naczepie i chcia? bym ?eby naczepa mia?a stan uszkodzenia i je?li naczepa b?dzie uszkodzona na max to wybucha i gracz b?dzie chcia? zmieni? naczep? i dowie?? to wyskoczy dialog ze ta naczepa nie posiada odpowiedniego towaru czy co? takiego. To tak mniej wi?cej wygl?da a co do ilo?ci produkt?w to je?li jest ju? 0 to nikt tego nie za?aduje wtedy trzeba jecha? do innego zlecenia b?d? admin musi zresetowa? all

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-04, 16:12


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
ShaKeS, za du?o troch? wymagasz jak na jeden temat z problemem/pytaniem, ale okej.

Hp naczepy mo?esz pobra? i pokazywa? w TextDrawie, za pomoc? tych funkcji:


Więcej informacji znajdziesz w Wikipedii SA-MP:

GetVehicleTrailer

+

Więcej informacji znajdziesz w Wikipedii SA-MP:

GetVehicleHealth


Dzia?a to tak jak w innych pojazdach, schodzi hp gdy uszkadza si? naczep?. Przy roz?adunku pobierasz hp naczepy i sprawdzasz, np.
Pawn
if(hp == 1000)
{
    SendClientMessage(playerid, -1"Gratulacje! Naczepa nie ma zniszcze?.");
}
else if(hp 1000)
{
    SendClientMessage(playerid, -1"Uszkodzi?e? naczep?.");
}


Co do tych towar?w to tworzysz zmienn? globaln?, mo?esz np. w enumie:

Pawn
enum Towary
{
    Meble,
    Owoce,
    Warzywa
    //itd.
}

new Towar[Towary];


No i teraz przyk?adowo podczas uruchamiania gamemoda ustawiasz te zmienne na ilo??, ile ma by? tych ?adunk?w, jak 10 to: Towar[Meble] = 10;. Gdy gracz we?mie zlecenie, odejmujesz od tej zmiennej 1 (Towar[Meble]--;). Po drodze sprawdzasz te? czy jest jeszcze dost?pny towar:

Pawn

if(Towar[Meble] < 1)
    return SendClientMessage(playerid, -1"Brak tego towaru, wybierz inny.");


Ze zrobieniem listy towar?w w GUI raczej powiniene? sobie poradzi?. Co do zapisywania towaru na naczep? to po prostu zamiast np. zapisywania towaru na gracza, zapisujesz to na pojazd (zamiast argumentu playerid u?ywasz vehicleid, no i oczywi?cie musisz stworzy? zmienn? globaln? na wszystkie pojazdy, a nie na wszystkich graczy).

Z grubsza to tyle. Musisz sobie rozplanowa? jak ten system ma dzia?a? i po kolei pisa?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-04, 17:04


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

No dzi?ki . Prosi? bym aby temat zosta? otwarty w razie problemow

[ Dodano: 2016-05-04, 21:38 ]
Em a takie pytanie . Bo jak dam ze np jest towar meble 10 to jak mam powiedzie? skrypt?w czy gracz ma czy nie ma towaru zaladowanego ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-05, 18:09


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Mo?esz doda? zmienn? boolean na wszystkich graczy przyk?adowo:
Kod:

new bool:player_loaded[MAX_PLAYERS];


A p??niej po za?adowaniu towaru zmienn? t? zmieni? na true, a po roz?adowaniu na false. Przy za?adunku sprawdzasz czy zmienna jest r?wna fa?szowi (false, czyli nie ma towaru) i je?eli si? zgadza to ?adujesz towar, je?eli jest za?adowany (true), zatrzymujesz kod i wysy?asz wiadomo?? czy tam informujesz w GUI, ?e towar jest za?adowany.

My?l?, ?e oto chodzi?o Ci w pytaniu.

Edit: Co do zniszcze? naczepy, w SA:MP pojazd kt?ry nie posiada kierowcy nie jest niszczony (nie spada HP).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-06, 16:50


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

Kod:

new.pwn(8495) : error 037: invalid string (possibly non-terminated string)
new.pwn(8495) : error 017: undefined symbol "Nazwa"
new.pwn(8495) : error 029: invalid expression, assumed zero
new.pwn(8495) : fatal error 107: too many error messages on one line
takie b??dy mam :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-06, 16:51


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
ShaKeS, podaj kod. Tylko nie jedn? linijk?, troch? wi?cej. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-06, 17:09


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

Kod:

CMD:zaladuj(playerid, params[])
{
#pragma unused params
new DZlecenia[500];
//new DZlecenia1[500] = "Nazwa\tPieni?dze\tIlosc\n\";
new DZlecenia1[500];
//strcat(DZlecenia, "Drzewo\t970\t%d\n\");
format(DZlecenia1, sizeof(DZlecenia1), "Drzewo\t970\t%d\n\", ITowar1);
/*G?azy\t1000\t%d\n
Wengiel\t1200\t%d\n
Owoce\t965\t%d\n
Warzywa\t895\t%d\n
Cz?sci komputerowe\t1250\t%d\n
Kakao\t998\t%d\n
Mieso\t1010\t%d\n
Przyprawy\t750\t%d\n
{E10000}Marychuana\t1800\t%d\n
Amfetamina\t1950\t%d\n
Bro?\t2150\t%d\n
Dopalacze\t2268\t%d\n"*/
/*ITowar2,
ITowar3,
ITowar4,
ITowar5,
ITowar6,
ITowar7,
ITowar8,
ITowar9,
ITowar10,
ITowar11,
ITowar12,
ITowar13*/
ShowPlayerDialog(playerid, ZALADUNEK_TOWARU, DIALOG_STYLE_TABLIST_HEADERS, "Zaladunek", DZlecenia1, "Dalej", "Anuluj");
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 08:44


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
ShaKeS, pogmatwany ten kod po ca?o?ci. U?yj do tego funkcji strcat.

Kod:

CMD:zaladuj(playerid, params[])
{
new str[1024];
strcat(str, "Towar\tOpcja2\tOpcja3\n");
strcat(str, "Drzewo\t970");
strcat(str, "G?azy\t1000");

ShowPlayerDialog(playerid, ZALADUNEK_TOWARU, DIALOG_STYLE_TABLIST_HEADERS, "Zaladunek", str, "Dalej", "Anuluj");
return 1;
}


Jak chcesz pokazywa? w GUI ilo?? danego towaru to musisz formatowa? ka?d? linijk? lub zrobi? jeden d?ugi format, ale raczej to si? nie uda, bo jak linijka b?dzie za d?uga to kompilator si? zawiesi.

Kod:

new str[1024];
format(str, sizeof(str), "%sDrzewo\t970\t%d\n", str, Towar[Drzewo]);

Przed towarem jest %s, poniewa? pokazuje to pozosta?e linijki z GUI.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 13:43


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

"Iggy" napisał/a:

zrobi? jeden d?ugi format, ale raczej to si? nie uda, bo jak linijka b?dzie za d?uga to kompilator si? zawiesi.


Na to te? jest odpowiedni spos?b, wystarczy da? backslash'a czyli ( \ ) i pisa? kod w nowej linii.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 19:53


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

A jak zrobi? ilo?? ton towaru ?

[ Dodano: 2016-05-07, 19:54 ]
Da? zmienia globaln? i tam zapisywa? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 20:28


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
ShaKeS, mo?esz przy wy?wietlaniu GUI napisa? ile ton jest danego towaru a po wybraniu towaru zapisa? wag? towaru do jakiej? zmiennej, np. WagaTowaruGracza[playerid] = 20;//ustawiamy wag? posiadanego towaru na 20 ton. To rozwi?zanie jest chyba naj?atwiejsze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 20:30


ShaKeS







Wiek: 26
Na forum: 3699 dni
Posty: 38
Nick w MP: ShaKeS

Piwa: 1

Respekt: 50

W sumie to mam pomysl

[ Dodano: 2016-05-07, 20:32 ]
Porostu tam dam ze inputtez ze to si? tyle r?wna a i pytanie jak sprawdzi? co gracz wpisa? ? To chyba strcmp?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-05-07, 21:02


Mac







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

Piwa: 27

Respekt: 130
Respekt: 130

Mo?esz po wybraniu towaru, pokaza? nast?pny dialog
Pawn
ShowPlayerDialog(playeridDIALOG_WEIGHT_CARGODIALOG_STYLE_INPUT"Waga towaru""Wprowad? wag? towaru mieszcz?c? si? od 1t do 22t""Dalej""Anuluj");


Nast?pnie w OnDialogResponse
Pawn

// gdzie? te? da? zmienn? globalna lub w enumie (najlepiej by by?o) na wszystkich graczy przyk?adowo
new WeightCargo[MAX_PLAYERS];
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
     if(dialogid == DIALOG_WEIGHT_CARGO)
     {
           new WeightCargo strval(inputtext);
           // w zmiennej b?dzie to co gracz wpisa? w dialogu, dodaj sprawdzanie czy aby na pewno jest od 1t do ilu? tam + swoje warunki pod system
     }
     return 1;
}



Więcej informacji znajdziesz w Wikipedii SA-MP:

Strval


[ Komentarz dodany przez: Iggy: 2016-05-08, 09:18 ]
Poprawi?em odno?nik do samp wiki. Wystarczy w tagach [wsamp] napisa? nazw? funkcji. :)

Ostatnio zmieniony przez Iggy 2016-05-08, 09:16, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Tagi: zlecenia
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