GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Alpha - 2010. augusztus 25. - 10:55:09

Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 10:55:09
Egyszerû Üzemanyag Filterscript készítése
 
Mindenek elõtt, Deklarációk
Szükségünk lesz Alapvetõ Declarációkra amiben eltároljuk az üzemanyag értékeit.
 

#include <a_samp>
#undef MAX_VEHICLES
#define MAX_VEHICLES 30 // ide írd, mennyi jármû van a szerveren
// max játékos
#undef MAX_PLAYERS
#define MAX_PLAYERS 30 // ide írd mennyi a slot limit!
new fuel[MAX_VEHICLES]; //Üzemanyag jármûvenként
forward timer_fuel_lower(); //Idõzítõ az üzemanyag csökkenéshez
forward timer_refuel(playerid); //Idõzítõ a jármû tankoláshoz
new isrefuelling[MAX_PLAYERS] = 0; //Bool annak ellenörzéséhez ha már a játékos tankol
new Text:td_fuel[MAX_PLAYERS]; //Üzemanyag TextDraw

 
Szabványos üzemanyag érték beálítása
(Itt volt valami blabla amit nem tudtam lefordítani de az biztos lényegtelen)
 

public OnFilterScriptInit()//Amikor a FilterScript betöltõdik
{
   for(new i=0;i<MAX_VEHICLES;i++) {
       fuel = 100; //Alapértéknek minden jármû 100-as üzemanyag értéket kap, ami a maximum
   }
   SetTimer(\"timer_fuel_lower\",4200,true); //Idõzítõ az üzemanyag csökkenéshez
   return 1;
}

 
Elkészítjük a TextDrawot amikor a játékos spawnol
Beálítjuk a textdraw pozícióját és effektusait.
 

public OnPlayerSpawn(playerid)
{
   td_fuel[playerid] = TextDrawCreate(45,324,\"Fuel: 100\"); //Csinál 1 TextDrawot a 45,324 pozícióba
   TextDrawBackgroundColor(td_fuel[playerid],0x00000033); //Csinálunk neki egy szép hátteret
   TextDrawFont(td_fuel[playerid],3); //TextDraw Front beálítása
   TextDrawLetterSize(td_fuel[playerid],0.699999,1.700000); //Méret
   TextDrawColor(td_fuel[playerid],0x000000ff); //Szín
   TextDrawSetShadow(td_fuel[playerid],3); //Árnyék =)
   return 1;
}

 
Megmutatjuk/Elrejtjük az üzemanyag szintet ha a játékos beszáll a jármûbe vagy elhagyja
Elrejtjük a TextDrawot ha a játékos NINCS a kocsiban
 

public OnPlayerStateChange(playerid, newstate, oldstate)
{
   if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
   {
       new vid = GetPlayerVehicleID(playerid);
       new string[125];format(string,sizeof string,\"Fuel:%i\",fuel[vid]); //Gyorsan csinálunk 1 kicsi frissítést az üzemanyag szinten
       TextDrawSetString(td_fuel[playerid],string);
       TextDrawShowForPlayer(playerid,td_fuel[playerid]); //Megmutatja az üzemanyag szintet ha a játékos kocsiban van
   } else {
       TextDrawHideForPlayer(playerid,td_fuel[playerid]); //Elrejtjük a TextDrawot ha a játékos nincs a kocsiban
   return 1;
}

 
Most megcsináljuk a Tankolás parancsot
 

public OnPlayerCommandText(playerid,cmdtext[]) {
   if (!strcmp(\"/refuel\",cmdtext,true,7)) {
       if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFC800FF,\"You are not in an vehicle!\"); //Ha a játékos nincs jármûben MEGÁLÍTJUK a parancsot
       if (isrefuelling[playerid]) return SendClientMessage(playerid,0xFFC800FF,\"You are already refuelling!\"); //Ha már a játékos tankol akkor MEGÁLÍTJUK a parancsot
       if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid,0xFFC800FF,\"You dont have enough money!\"); //Ha a játékosnak NINCS elég pénze akkor visszalökjük!
       GivePlayerMoney(playerid,-80); //De ha van akkor leveszünk -80$-t
       SetCameraBehindPlayer(playerid); //A játékos mögé rakjuk a kamerát mert õ így jobban lát mikor megvan fagyasztva
       TogglePlayerControllable(playerid,0); //Megfagyasztjuk a játékost
       isrefuelling[playerid] = 1; //Beálítjuk a refuel értéket 1 re hogy ne tudjon SPAMOLNI
       TextDrawSetString(td_fuel[playerid],\"Refuelling...\"); //Kicseréli a TextDrawot
       SetTimerEx(\"timer_refuel\",4500,false,\"i\",playerid); //És beálítjuk az ujratöltési idõt
       return 1;
   }
   return 0;
}

 
REMEK! Elérkeztél az utolsó lépéshez aminél az idõzítõket(timer) beálítjuk
 

public timer_fuel_lower()
{
   for(new i=0;i<MAX_PLAYERS;i++) { //Ciklus minden játékosnak
       if (isrefuelling) continue; //Megálítjuk ha a játékos tankol
       new vid = GetPlayerVehicleID(i); //Lekérjük a Kocsi ID-jét
       if (GetPlayerVehicleSeat(i) == 0) { //Ha a játékos a vezetõ
           fuel[vid] = fuel[vid] -1; //Csökkenés mértéke
           if (fuel[vid]<1) //Ha elfogyott a benzin
           {
               fuel[vid] = 0; //Beálítjuk az üzemanyag szintet 0 ra Mert ha nem álítjuk be akkor az idõzítõ lehúzza -1 -2 -3 stb. re mielött kivehetnénk a kocsiból!
               RemovePlayerFromVehicle(i); //Kiszedjük a játékost a jármûvébõl!
               GameTextForPlayer(i,\"~r~You are out of ~w~fuel~r~!\",5000,4); //Szöveg megmutatása
           }
       }
       new string[125];format(string,sizeof string,\"Fuel:%i\",fuel[vid]); //String elõkészítése a következõ üzemanyag értékhez
       TextDrawSetString(td_fuel,string); //textDraw frissítése
   }
   return 1;
}
public timer_refuel(playerid) //Amikor tankol
{
   new vid = GetPlayerVehicleID(playerid);
   fuel[vid] = fuel[vid] = 100; //Beálítjuk az üzemanyagát 100 ra
   isrefuelling[playerid] = 0;//Eltüntetjük az AntiSpam cuccost
   TextDrawSetString(td_fuel[playerid],\"Fuel:100\"); //TextDraw frissítése
   TogglePlayerControllable(playerid,1); //És levesszük a fagyasztást a játékosról
}

 
EREDETI LEÍRÁS: http://forum.sa-mp.com/showthread.php?t=169284

EREDETI SZERZÕ: gamer931215


LEFORDÍTOTTA: ALPHA

Ha valami hibát találsz kérlek jelezd!(Helyenként nem 100% osan ugyan az van leírva mert úgy kicsit értelmetlen dolog jött volna ki!)
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Epsilon - 2010. augusztus 25. - 11:29:06
Ez attól lesz egyszerû, hogy pazarol és lehetne gyorsabb is?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: maark - 2010. augusztus 25. - 12:41:49
- A leírások elé szükséges a [TuT] vagy e szócskának a szinonimája. (Például [Lecke], [Leírás] stb)
- A leírás írója ne másoljon szkripteket, és azt elemezze
[/quote]
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: ChuckNorris - 2010. augusztus 25. - 13:18:52
Idézetet írta: maark date=1282732909\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic

- A leírás írója ne másoljon szkripteket, és azt elemezze

[/quote]
Miért másolt szkriptet?
Ez egy fordítás...Nem tilos leírást fordítani az angol fórumról.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 13:41:25
Idézetet írta: Epsilon date=1282728546\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic
Ez attól lesz egyszerû, hogy pazarol és lehetne gyorsabb is?
 
Nos én nem kocka profiknak írtam hanem kezdõknek, akinek nem tetszik írjon mást kész!
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Mambo - 2010. augusztus 25. - 13:45:06
AZÉRT KELL WARNOLNI A GYEREKET MERT EGY TUTORIALT RAK KI? ÚRISTEN... Jóhogy nem azért warnolod, mert témát nyitott... Tudok felsorolni a moderátorok között olyat is, aki ezt szintén megszegte párszor.
Bocsi Mambo, de a témanyitó több szabályzati pontot áthágott, valamint ez nem tutorial, mivel csak azt írja le hogy rakd ide rakd oda! Egyébként a funkciók mellé igaz hogy tett kommentet, de az semmi. Szóval légyszíves fogd vissza magad.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 13:53:23
Amúgy a \"Leírások/Útmutatok\" részbe miért KÖTELEZÕ beleírni a téma nevébe, hogy leírás?! Nem fölösleges dolog ez 1 kicsit ha már így a pazarlásnál tartunk?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Delta - 2010. augusztus 25. - 13:54:38
Ez egyszerûen röhej. Hova süllyedt minden? Ki ír egy tutorialt KEZDÕKNEK(!!), erre még ezt is leszóljátok? Jó, ez is rendben van, de legalább oda írnátok, hogy mi a hibás, meg hogyan javítsa ki.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 16:32:58
Bocsi Mambo, de a témanyitó több szabályzati pontot áthágott, valamint ez nem tutorial, mivel csak azt írja le hogy rakd ide rakd oda! Egyébként a funkciók mellé igaz hogy tett kommentet, de az semmi. Szóval légyszíves fogd vissza magad.[/quote]
Ennél többet mit írjak le?! Egszerû mindenre azt mondani, hogy FOS.
Neked is érik a warn. Fogd vissza magad.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Zharko - 2010. augusztus 25. - 16:48:56
Szerintem jó lett!

Peace: H.P.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 18:31:31
Idézetet írta: Alpha date=1282746778\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic

Bocsi Mambo, de a témanyitó több szabályzati pontot áthágott, valamint ez nem tutorial, mivel csak azt írja le hogy rakd ide rakd oda! Egyébként a funkciók mellé igaz hogy tett kommentet, de az semmi. Szóval légyszíves fogd vissza magad.
Ennél többet mit írjak le?! Egszerű mindenre azt mondani, hogy FOS.
Neked is érik a warn. Fogd vissza magad.
 
[/quote]
Aha értem ha már igaza van az embernek akkor már warn meg ban jár neki mi?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Depi - 2010. augusztus 25. - 18:37:47
Idézetet írta: Alpha date=1282753891\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic


 
Bocsi Mambo, de a témanyitó több szabályzati pontot áthágott, valamint ez nem tutorial, mivel csak azt írja le hogy rakd ide rakd oda! Egyébként a funkciók mellé igaz hogy tett kommentet, de az semmi. Szóval légyszíves fogd vissza magad.
Ennél többet mit írjak le?! Egszerû mindenre azt mondani, hogy FOS.
Neked is érik a warn. Fogd vissza magad.
 
[/quote]
Aha értem ha már igaza van az embernek akkor már warn meg ban jár neki mi?
 
[/quote]
Aza baj,hogy a kezdõk nem fogják meg érteni,pedig aza lényeg,ezért kell nagyon részletes leírást írni.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: ZeRo - 2010. augusztus 25. - 18:47:09
Ezzel tulajdonképpen nincs is semmi baj, mivel mindenhova odaírta, hogy mit csinál vele, és hogy miért van ott. Az olyanokkal szokott gond lenni, amiben csak annyi van, hogy \"ezt másold ez alá...\", de mondom, ez rendben van.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 25. - 18:54:12
Én sem írok ide többet tutorialt ok nélkül warnoltok stb.
A kódok mögé // el oda van írva mi mit csinál én ennél érthetõbben már nem tudom leírni
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Depi - 2010. augusztus 25. - 19:22:53
Hát nem én,és nem is ZeRo volt.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: hpeter94 - 2010. augusztus 26. - 08:13:31
Igazságtalan volt a warn Scream .... télleg rendesen odavan írva mindenhova és eggyáltaláûn nem biztos hogy a tök kezdõnke írta :) (én különben az ien tutokból is tanulok) sajna nem tom törölni a warn-t....
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Mambo - 2010. augusztus 26. - 10:49:50
Idézetet írta: hpeter94 date=1282803211\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic
Igazságtalan volt a warn Scream .... télleg rendesen odavan írva mindenhova és eggyáltaláûn nem biztos hogy a tök kezdõnke írta :) (én különben az ien tutokból is tanulok) sajna nem tom törölni a warn-t....
 
errõl beszélek
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Delta - 2010. augusztus 26. - 11:22:27
Még ez mehetne a tutorial tetejére:
 

#undef MAX_VEHICLES
#define MAX_VEHICLES 30 // ide írd, mennyi jármû van a szerveren
// max játékos
#undef MAX_PLAYERS
#define MAX_PLAYERS 30
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Alpha - 2010. augusztus 26. - 11:45:49
Idézetet írta: Delta date=1282814547\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic
Még ez mehetne a tutorial tetejére:
 

#undef MAX_VEHICLES
#define MAX_VEHICLES 30 // ide írd, mennyi jármû van a szerveren
// max játékos
#undef MAX_PLAYERS
#define MAX_PLAYERS 30

 

IGAZ javítom
UI:
Scream amúgy te elolvastad egyáltalán a tutoreialt a warn eltõt?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: ►ѕтa - 2010. augusztus 26. - 13:51:31
OFF: Szerintem az adatbázisba átlehet írni. Bocs ha hülyeséget mondtam.
ON: Amit nem tudtál lefordítani:
\"Az alap érték 100, de beállíthatod véletlenszerûnek is, de ebben az esetben:\"
Szerintem így.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: sanyo - 2011. január 22. - 20:51:25
nem irnád le nekem egybe az egészet hogy en már csak bemásoljam a pwn be?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Stricica - 2011. január 22. - 21:31:18
Idézetet írta: sanyo date=1295725885\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic
nem irnád le nekem egybe az egészet hogy en már csak bemásoljam a pwn be?
 
Már bocs Sanyo, de így nem tanulsz meg scriptelni, ha csak bemásolod és annyi... :dodge: Ez csak egy tipp, csinálj amit akarsz :D
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: hpeter94 - 2011. január 22. - 21:37:03
ez egyben van...
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: sanyo - 2011. január 22. - 21:37:33
Idézetet írta: Stricica date=1295728278\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic


nem irnád le nekem egybe az egészet hogy en már csak bemásoljam a pwn be?
 
Már bocs Sanyo, de így nem tanulsz meg scriptelni, ha csak bemásolod és annyi... :dodge: Ez csak egy tipp, csinálj amit akarsz :D
 
[/quote]
de elmondanád nekem te hogy tanultál meg scriptelni?
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: ChuckNorris - 2011. január 22. - 21:43:23
Itt van ez a fórum,tele leírásokkal,én pl. elolvastam az összeset,nem 5 perc de megéri.
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: sanyo - 2011. január 22. - 21:45:46
Idézetet írta: ChuckNorris date=1295729003\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic
Itt van ez a fórum,tele leírásokkal,én pl. elolvastam az összeset,nem 5 perc de megéri.
 
én is nekiélok elolvasni:D
Cím: Egyszerû(Alapvetõ) Üzemanyag Filterscript készítése
Írta: Stricica - 2011. január 23. - 07:59:56
Idézetet írta: sanyo date=1295728653\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2980\" data-ipsquote-contentclass=\"forums_Topic


 

nem irnád le nekem egybe az egészet hogy en már csak bemásoljam a pwn be?
 
Már bocs Sanyo, de így nem tanulsz meg scriptelni, ha csak bemásolod és annyi... :dodge: Ez csak egy tipp, csinálj amit akarsz :D
 
[/quote]
de elmondanád nekem te hogy tanultál meg scriptelni?
 
[/quote]
Én sulikezdéskor ismerkedtem meg a pawn-al, tehát már féléve tartok ott hogy a kezdõkhöz tartozom...:D És igen, olvass mindenféle leírást és menni fog ;)