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: ALPHAHa 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!)
Ez attól lesz egyszerû, hogy pazarol és lehetne gyorsabb is?
- 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]
- 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.
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!
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.
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?
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.
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.
Szerintem jó lett!
Peace: H.P.
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?
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.
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.
É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
Hát nem én,és nem is ZeRo volt.
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....
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
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
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?
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.
nem irnád le nekem egybe az egészet hogy en már csak bemásoljam a pwn be?
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
ez egyben van...
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?
Itt van ez a fórum,tele leírásokkal,én pl. elolvastam az összeset,nem 5 perc de megéri.
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
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 ;)