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

Wysłany: 2013-06-20, 14:33


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

Witam mam plan zrobi? system paliw, polegaj?cy na rodzaju paliw. Czyli benzyna, diesel oraz LPG (Gaz). I chcia?em zapyta? czy mogliby?cie mnie jako? naprowadzi? jak to zrobi?. To powinno dzia?a? na zasadzie ?e gracz wjedzie na stacje wpisz /tankuj i wy?wietli sie mu gui STYL LIST: Benzyna (Koszt za litr: np 3)\nDiesel (Koszt za litr: np 3)\nLPG (Koszt za litr: np 2) potem kliknie na dole dalej pojawi sie mu gui STYL INPUT w wpisze ilo?? litr?w. I chcia?bym ?eby mo?na by?o ustali? np w zmiennej ?e dane id pojazdu ma taki a taki rodzaj paliwa, i innego opr?cz takiego nie mo?e. Czyli np id 522 (NRG) ?eby m?g? tylko benzyne. Itd itd. Za naprowadzenie (opisa? co i jak :D ) jak to zrobi? oraz nie pogardze gotowcem. Oczywi?cie podzi?kowanie w formie :piwo: oraz :+: b?dzie .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-20, 16:20


akon823

Czekotubka :D






Wiek: 29
Na forum: 4816 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Stary Ty planujesz robi? sw?j system paliw a walisz taki tekst
"matiosek70" napisał/a:

nie pogardze gotowcem
Beznadzieja ;]
W sumie to moim zdaniem nawet niez?y pomys? i np. robisz w kodzie tak jak z pojazdami dla frakcji ?e blokada i mo?na tylko ten rodzaj paliwa :> dobry pomys? ^^

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-20, 20:20


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

Dobra powiedzmy ?e kumam jak zrobi? ?eby dany pojazd mia? dane paliwoa ale nie do ko?ca , mo?e by tak jaki? kod naprowadzaj?cy , jaki? przyk?ad albo co?. Oraz jak zrobi? sam system tych 3 paliw.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-20, 22:27


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Przeciez do tego wystarcza 1 zmienna i jedna funkcja sprawdzajaca ;o


Kod:

new FuelInfo[MAX_VEHICLES]; //np. 0=benzyna,1=gas,2=diesel



Kod:

switch(FuelInfo[GetPlayerVehicleID(playerid)])
{
case 0: //tankuj benzyne
case 1: //tankuj gaz
case 2://tankuj diesla
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 11:48


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

xqz a jak to wykorzysta? w komendzie tankuj jak mam taki kod:

Kod:

CMD:tankuj(playerid, cmdtext, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xFF0000FF, "Nie jeste? w poje?dzie!");
if(Stacjepaliw(playerid))
{
ShowPlayerDialog(playerid, 92, 1, "Tankowanie paliwa", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra paliwa wynosi 3$.", "Tankuj", "Anuluj");
}
else SendClientMessage(playerid, CZERWONY, "Nie jestes na stacji paliw.");
return 1;
}

Oraz to
Kod:

if(dialogid == 92)
{
if(response == 1)
{
new kasa=strval(inputtext)*3;
if(GetPlayerMoney(playerid) <= kasa){
SendClientMessage(playerid, CZERWONY, "Nie masz tyle kasy!");
return 1;
}

if(IsPlayerConnected(playerid))
{
new VID;
new FillUpz=strval(inputtext);
new string[256];
VID = GetPlayerVehicleID(playerid);
FillUpz = benzine - Gas[VID];
if(GetPlayerMoney(playerid) >= FillUpz+4)
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1;
format(string,sizeof(string), "Zatankowa?e? (%d Litry) za %d $ ",FillUpz,FillUpz*3);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*3);
}
}
}
return 1;
}



Jak by? co? pom?g? to oczywi?cie :piwo: . A za to 1 masz oczywi?cie ju? :piwo: .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 11:57


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

np.

Kod:

CMD:tankuj(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xFF0000FF, "Nie jeste? w poje?dzie!");
if(Stacjepaliw(playerid))
{
switch(FuelInfo[GetPlayerVehicleID(playerid)])
{
case 0: ShowPlayerDialog(playerid, 92, 1, "Tankowanie benzyny", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra benzyny wynosi 5$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",0);
case 1: ShowPlayerDialog(playerid, 92, 1, "Tankowanie gazu", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra gazu wynosi 2$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",1);
case 2: ShowPlayerDialog(playerid, 92, 1, "Tankowanie diesla", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra oleju napedowego wynosi 4$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",2);
}
else SendClientMessage(playerid, CZERWONY, "Nie jestes na stacji paliw.");
return 1;
}








Kod:

if(dialogid == 92)
{
if(response == 1)
{
new kasa=strval(inputtext)*3;
if(GetPlayerMoney(playerid) <= kasa){
SendClientMessage(playerid, CZERWONY, "Nie masz tyle kasy!");
return 1;
}

if(IsPlayerConnected(playerid))
{
new VID;
new FillUpz=strval(inputtext);
new string[256];
VID = GetPlayerVehicleID(playerid);
FillUpz = benzine - Gas[VID];
if(GetPlayerMoney(playerid) >= FillUpz+4)
{
switch(GetPVarInt(playerid,"wybor"))
{
case 0:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry benzyny) za %d $ ",FillUpz,FillUpz*5);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*5);
}
case 1:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry gazu) za %d $ ",FillUpz,FillUpz*2);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*2);
}
case 2:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry oleju) za %d $ ",FillUpz,FillUpz*4);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*4);
}
}
}
}
return 1;
}

Cos takiego mniej wiecej

Ostatnio zmieniony przez xqz 2013-06-22, 12:05, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 12:02


Plastik

Uczeń PAWN






Wiek: 35
Na forum: 4754 dni
Posty: 36
Nick w MP: Sp3nNc3r

Piwa: 1337

Respekt: 48,6

Ostrzeżeń: 80%
i co dzia?a ci to ?? ??

[ Dodano: 2013-06-22, 19:20 ]
xqz, czyli jak to zrobi? napisz ja?niej

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 20:13


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

Thx wielkie masz za to next :piwo:
A wiesz mo?e teraz jak zrobi? z id pojazd?w ?.

Ostatnio zmieniony przez matiosek70 2013-06-22, 22:22, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 20:30


Plastik

Uczeń PAWN






Wiek: 35
Na forum: 4754 dni
Posty: 36
Nick w MP: Sp3nNc3r

Piwa: 1337

Respekt: 48,6

Ostrzeżeń: 80%
N i dobra w ko?cu jak to zrobi? poprawnie ?? ? daje piffko

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 22:30


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Plastik, kod jest podany.



matiosek70, z id pojazdow? Przypisuj sobie do tablicy jaki ma miec silnik ;0



Kod:

FuelInfo[id_pojazdu] = 2; //gaz

Jesli nie ustawisz to pojazd automatycznie bedzie tankowal benzyne.

Mozesz sobie tez zrobic w zaleznosci od modelu np.

Kod:

stock SetVehicleSilnikBGD()
{
for(new v; v<MAX_VEHICLES; v++)
{
switch(GetVehicleModel(v))
{
case 562, 418, 459, 490 .. 522: FuelInfo[v] = 2; //ustawia tym modelom diesla
case 460,450..458: FuelInfo[v] = 1; //ustawia tym modelom gaz
}
}
}

I takie tam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 22:45


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

Czyli jak dam takie co? w g?rze mapy to b?dzie dzia?a? ?

Kod:

stock SetVehicleSilnikBGD()
{
for(new v; v<MAX_VEHICLES; v++)
{
switch(GetVehicleModel(v))
{
case 562, 418, 459, 490 .. 522: FuelInfo[v] = 2; //ustawia tym modelom diesla
case 460,450..458: FuelInfo[v] = 1; //ustawia tym modelom gaz
}
}
}


A da?by? jeszcze kodzika na info o tym ?e tego rodzaju paliwa nie mo?esz ?
Aha a musze tego stock'a gdzie? u?y? ?


Mam problem z tym, zrobi?em takie co? @down i pokazuje sie za ka?dym razem benzyna, nawet jak klikne w dialogu np diesel.
Aha i jak wpisze np 1 to i tak full bak tankuje.

Kod:


CMD:stacja(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
if(Stacjepaliw(playerid))
{
ShowPlayerDialog(playerid, 7, 2, "-=| TPT - 2013 |=- STACJA", "Tankuj\nWineta (Potrzebna aby m?c je?dzi? legalnie po autostradach)", "Dalej", "Wyjdz");
}
else
{
SendClientMessage(playerid, BIALY ,"Tylko na {FF8040}stacji paliw {FFFFFF}mo?esz tankowa? samochod.");
}
}
return 1;
}

///////////////////

if(dialogid == 7)
{
if(response == 1)
{
switch(listitem)
{
case 0:
{
if(Stacjepaliw(playerid))
{
ShowPlayerDialog(playerid, 126, 2, "Wybierz rodzaj paliwa:", "Benzyna {FF8040}(Koszt: 4$ za litr)\nGas {FF8040}(Koszt: 2$ za litr)\nDiesel {FF8040}(Koszt: 3$ za litr)", "Dalej", "Anuluj");
}
else
{
SendClientMessage(playerid, CZERWONY, "Tylko na stacji paliw mo?esz tankowa? pojazd.");
}
}
case 1:
{
ShowPlayerDialog(playerid, 97, 2, "Wineta - Menu","Kup Winete (Koszt: 1500$)\nStan Konta\nKup pkt do Winety", "Wybierz", "Wyjdz");
}
}
}
else SendClientMessage(playerid, BIALY, "Zrezygnowales z uslug {FF8040} Stacji Paliw.");
return 1;
}

////////////////////////

if(dialogid == 125)
{
if(response == 1)
{
new kasa=strval(inputtext)*3;
if(GetPlayerMoney(playerid) <= kasa){
SendClientMessage(playerid, CZERWONY, "Nie masz tyle kasy!");
return 1;
}

if(IsPlayerConnected(playerid))
{
new VID;
new FillUpz=strval(inputtext);
new string[256];
VID = GetPlayerVehicleID(playerid);
FillUpz = benzine - Gas[VID];
if(GetPlayerMoney(playerid) >= FillUpz+4)
{
switch(GetPVarInt(playerid,"wybor"))
{
case 0:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry benzyny) za %d $ ",FillUpz,FillUpz*4);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*5);
}
case 1:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry gazu) za %d $ ",FillUpz,FillUpz*2);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*2);
}
case 2:
{
Gas[VID] += FillUpz;
FillUpz = FillUpz * 1; /// ?
format(string,sizeof(string), "Zatankowa?e? (%d Litry oleju) za %d $ ",FillUpz,FillUpz*3);
SendClientMessage(playerid,ZOLTY,string);
GivePlayerMoney(playerid,-FillUpz*4);
}
}
}
}
}
return 1;
}

///////////////

if(dialogid == 126)
{
if(response == 1)
{
switch(FuelInfo[GetPlayerVehicleID(playerid)])
{
case 0: ShowPlayerDialog(playerid, 125, 1, "Tankowanie benzyny", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra benzyny wynosi 4$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",0);
case 1: ShowPlayerDialog(playerid, 125, 1, "Tankowanie gazu", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra gazu wynosi 2$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",1);
case 2: ShowPlayerDialog(playerid, 125, 1, "Tankowanie diesla", "{FF8040}Wpisz ile litrow chcesz zatankowac./nCena jednego litra oleju napedowego wynosi 3$.", "Tankuj", "Anuluj"),SetPVarInt(playerid,"wybor",2);
}
}
return 1;
}


Ostatnio zmieniony przez matiosek70 2013-06-22, 22:59, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-22, 22:58


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

tej funkcji mozesz uzyc na koncu OnGameModeInit albo po wczytaniu pojazdow.



"matiosek70" napisał/a:

A da?by? jeszcze kodzika na info o tym ?e tego rodzaju paliwa nie mo?esz ?

Komenda jest zrobiona tak, ze nie daje wyboru paliwa jakie chcemy nalac tylko od razu wybiera odpowiednie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-23, 03:54


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

A zrobi?by? mi to tak jak w 1 po?cie napisa?em? Oczywi?cie za piwko

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-23, 11:07


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

To zrob sobie wybor w liscie i w zaleznosci od wyboru uruchom powyzszy kod.


np. w dialogu masz

Benzyna,
Gaz,
Disesel


To zeby zablokowac nieprawidlowe paliwo dodajesz:
Kod:


switch(listitem)
{
case 0: if(FuelInfo[v] == 0) return ShowPlayerDialog(playerid,.....); //tankuj benzyne
case 1: if(FuelInfo[v] == 1) return ShowPlayerDIalog.. //tankuj gaz
case 2: if(FuelInfo[v] == 3) return ShowPlayerDialog(playerid,.....); //tankuj diesel
}
ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"ZLE paliwo","Wybierz inne paliwo! To jest zle!","Rozumiem","");


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-23, 12:53


matiosek70







Wiek: 29
Na forum: 5213 dni
Posty: 58

Piwa: 64

Respekt: 50

A m?g?by? mi to sklei? wszystko w jedno ? Bo sie pogubi?em. Mi sie wszystko psuje, jak wpisze 1 litr to itak full bak tankuje.

Ostatnio zmieniony przez matiosek70 2013-06-23, 17:02, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Tagi: system :: paliw
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] System paliw 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