Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Markoni990 poslato Septembar 03, 2014, 10:45:29 PRE PODNE

Naslov: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Markoni990 poslato Septembar 03, 2014, 10:45:29 PRE PODNE
Skripta koju koristim: GTA RP
Detaljan opis problema: Pozz, ako neko moze da mi pomogne da napravim za posao vozac goriva da ide naprimer u las venturas da natoci gorivo ali da natoci naprimer 1000 l, ali da postoji neki rezervar na pumpi da prikazuje 10000l ima goriva i kad to nestane da nmg da toce gorivo, sve dok vozac goriva ne napuni taj rezervar pumpe. E sad ja znam da se zapocinje if(BizzInfo[ID firme][GorivoKolicina] >= LitaraKupujesKodFill) ali neznam kako dalje.Hvala Unapred
Dio skripte: //////////////////////////////////////////////VOZAC GORIVA////////////////////////////////////////////////
  if(CP[playerid] ==1600 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1601; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1937.2955,-1776.0560,13.3828,10.0); }
    else if(CP[playerid] == 1601 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1602; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1004.9973,-940.4534,42.1797,10.0); }
    else if(CP[playerid] == 1602 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1603; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 651.6285,-564.7838,16.3301,10.0); }
else if(CP[playerid] == 1603 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1604; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1380.9648,456.1190,19.8869,10.0); }
else if(CP[playerid] == 1604 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1605; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -98.0867,-1167.2094,2.5977,10.0); }
    else if(CP[playerid] == 1605 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1606; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2430.8547,-2113.4102,13.5469,10.0); }
else if(CP[playerid] == 1606 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1607; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~r~Zavrsili ste ~n~~g~posao", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2509,-2089,13.54,10.0); }
  if(CP[playerid] == 1607 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid))
  {
        new randpay = 1750 + random(165);
PlayerInfo[playerid][pPayCheck] += randpay;
TogglePlayerControllable(playerid, 1);
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, 0x8D531AFF, "-----------");
format(string, sizeof(string), "Zarada: %d$.", randpay);
SendClientMessage(playerid, 0x9A6735FF, string);
SendClientMessage(playerid, 0xB89571FF, "-----------");
    SBizzInfo[3][sbTill] += 500;
    ExtortionSBiz(3, 500);
    SBizzInfo[3][sbProducts]--;
Gorivo12[playerid] = 1;
PlayerInfo[playerid][pGorivo] = 0;
new taj = GetVehicleTrailer(carid);
SetVehicleToRespawn(taj);
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(strcmp(cmd, "/gorivo", true) == 0)
{
new veh = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pJob] == 4)
      {
if(IsAGorivo(veh))
{
if(PlayerInfo[playerid][pGorivo] == 0)
{
CP[playerid] = 1600;
SendClientMessage(playerid, COLOR_WHITE, "{995031}Zakaci prikolicu i idi do {F81414}crvenog markera!");
SendClientMessage(playerid, COLOR_WHITE, "{995031}Kad pokupite crveni marker pratite {F81414}crvene markere!");
PlayerInfo[playerid][pGorivo] = 1;
SetPlayerCheckpoint(playerid, 2858,-2002,10.9, 8.0);

}
else return SendClientMessage(playerid, COLOR_WHITE, "{995031}Vec prevozis gorivo!");
}
else return SendClientMessage(playerid, COLOR_WHITE, "{995031}Niste u kamionu za prevozenje goriva!");
}
else return SendClientMessage(playerid, COLOR_WHITE, "{995031}Niste vozac goriva!");
return 1;
}
if(strcmp(cmd, "/zavrsigorivo", true) == 0)
{
if(PlayerInfo[playerid][pJob] == 4)
{
if(PlayerInfo[playerid][pGorivo] == 1)
{
CP[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, 0xADADADFF, "{995031} Prekinuli ste dostavu goriva!");
PlayerInfo[playerid][pGorivo] = 0;
}
else return SendClientMessage(playerid, COLOR_WHITE, "{995031}Ne prevozis gorivo!");
}
else return SendClientMessage(playerid, COLOR_WHITE, "{995031}Nisi vozac goriva!");
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: @Mirzerian_06 poslato Septembar 03, 2014, 12:22:28 POSLE PODNE
posto nisam upoznat sa enum i variablama , ovako uradi . znaci nakon sto ode tamo da mu da i oduzme od tog kanistera sa pumpe .
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Markoni990 poslato Septembar 03, 2014, 13:24:41 POSLE PODNE
Cek nisam te razumeo bas najbolje, objasni malo ili daj neki kod. :)
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Markoni990 poslato Septembar 04, 2014, 21:26:13 POSLE PODNE
JEL ZNA NEKO? :)
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Acke poslato Septembar 04, 2014, 22:42:11 POSLE PODNE
moras prvo napraviti variablu za kolicinu goriva na pumpama,npr:
Da bi napravio da prikazuje koliko ima goriva da radis preko 3DTextLabel funkcije:
new gorivonapumpi = 10000;
new gorviostrin[200];
format(gorivostring,256,"{00CCFF}Benzinska pumpa rezervoar:\n{FFFFFF}%d Litara",gorivonapumpi);
GorvioPumpaLabel = Create3DTextLabel(avlstring,0x00C3FFFF,211.0494,1874.8359,-25.0267,80.0,0);// Promenis kordinate sa tvojima

Sada nadji komandu u modu ili gde ti deo gde igrac sipa gorivo, pa u toj komandi dodaj sledece:
new rand = 10 + (0); // Ovo stoji ako gledamo da igrac uvek sipa 10l goriva to prilagodi sebi kako hoces
gorivonapumpi -= rand;
KolicinaGorivaPumpa();
Delete3DTextLabel(GorivoPumpaLabel);
new gorivostring[200];
format(gorivostring,256,"{00CCFF}Benzinska pumpa rezervoar:\n{FFFFFF}%d Litara",gorivonapumpi);
GorivoPumpaLabel = Create3DTextLabel(avlstring,0x00C3FFFF,211.0494,1874.8359,-25.0267,80.0,0);// Ovde stavis tvoje kordinate




I da bi ti se sve to sacuva posle restarta servera dodas negde na pocetku skripte:

forward GorivonaPumpi();
public GorivoNaPumpi()
{
new strFromFile[30], arrCoords[6][5], File: file = fopen("Podesavanje/Gorivonapumpi/Gorivonapumpi.txt", io_read);
if (file)
{
    fread(file, strFromFile);
    razdvoji(strFromFile, arrCoords, ',');
gorivonapumpi = strval (arrCoords[0]);
fclose(file);
}
return 1;
}

forward KolicinaGorivaPumpa();
public KolicinaGorivaPumpa()
{
new coordstring[30];
format(coordstring, sizeof(coordstring), "%d", gorivonapumpi);
new File: file = fopen("Podesavanje/Gorivonapumpi/Gorivonapumpi.txt", io_write);
fwrite(file, coordstring);
fclose(file);
new stringa[256];
Delete3DTextLabel(GorivoPumpaLabel);
format( stringa,sizeof(stringa),"{00CCFF}Benzisnka pumpa rezervoar:\n{FFFFFF}%d Litara ",gorivonapumpi);
(GorivoPumpaLabel) = Create3DTextLabel(stringa,0x00C3FFFF,211.0494,1874.8359,-25.0267,80.0,0);// Kolicina goriva na pumpi ovde promenis kordinate
return 1;
}

// I pod OnGameModeInit dodas:

KolicinaGorivaPumpa();


To je za rezervoar na pumpi, sada za rezervoar kada ide po gorivo:
/////////////////////////////////////////////VOZAC GORIVA////////////////////////////////////////////////
  if(CP[playerid] ==1600 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1601; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1937.2955,-1776.0560,13.3828,10.0); }
    else if(CP[playerid] == 1601 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1602; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1004.9973,-940.4534,42.1797,10.0); }
    else if(CP[playerid] == 1602 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1603; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 651.6285,-564.7838,16.3301,10.0); }
else if(CP[playerid] == 1603 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1604; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1380.9648,456.1190,19.8869,10.0); }
else if(CP[playerid] == 1604 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1605; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -98.0867,-1167.2094,2.5977,10.0); }
    else if(CP[playerid] == 1605 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1606; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~b~Sacekaj da se gorivo~n~~g~istoci", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2430.8547,-2113.4102,13.5469,10.0); }
else if(CP[playerid] == 1606 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid)) { CP[playerid] = 1607; TogglePlayerControllable(playerid, 0); Gorivo12[playerid] = 1; GameTextForPlayer(playerid, "~r~Zavrsili ste ~n~~g~posao", 3000, 4);TogglePlayerControllable(playerid, 0); SetTimerEx("Gorivo2",13000, false, "i", playerid); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2509,-2089,13.54,10.0); }
  if(CP[playerid] == 1607 && IsAGorivo(carid)&& IsTrailerAttachedToVehicle(carid))
  {
        new randpay = 1750 + random(165);
PlayerInfo[playerid][pPayCheck] += randpay;
TogglePlayerControllable(playerid, 1);
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, 0x8D531AFF, "-----------");
format(string, sizeof(string), "Zarada: %d$.", randpay);
SendClientMessage(playerid, 0x9A6735FF, string);
SendClientMessage(playerid, 0xB89571FF, "-----------");
    new random;
    random = 10 + (0);
    gorivonapumpi += random; // Evo napravio sam da do kada zavrsi to da se gorivo na pumpama poveca za 10..
    GorivoNaPumpi();
SBizzInfo[3][sbTill] += 500;
    ExtortionSBiz(3, 500);
    SBizzInfo[3][sbProducts]--;
Gorivo12[playerid] = 1;
PlayerInfo[playerid][pGorivo] = 0;
new taj = GetVehicleTrailer(carid);
SetVehicleToRespawn(taj);
    }


Nadam se da sam ti pomogao :D
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Markoni990 poslato Septembar 05, 2014, 03:13:41 PRE PODNE
Hvala brt jel ovo samo za jednu pumpu ili za sve 4 - 5 pumpe sto se nalaze u lv,posto ja hocu da stavim na sve 5 pumpe da pise svaki rezervar posebno i onda da kad isprazne tu rezervu da nmg da toce vise?
Imam jedan warning (91628) : warning 235: public function lacks forward declaration (symbol "GorivoNaPumpi")
forward GorivonaPumpi();
public GorivoNaPumpi() // Na ovoj liniji warning
{
new strFromFile[30], arrCoords[6][5], File: file = fopen("Podesavanje/Gorivonapumpi/Gorivonapumpi.txt", io_read);
if (file)
{
    fread(file, strFromFile);
    razdvoji(strFromFile, arrCoords, ',');
gorivonapumpi = strval (arrCoords[0]);
fclose(file);
}
return 1;
}
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: Markoni990 poslato Septembar 05, 2014, 04:21:48 PRE PODNE
I pokazuje mi da mi kanister pun, i nmg da sipam gorivo, valjda treba kad sipam gorivo da ide u - a ne da ga dopunjava.:)
Naslov: Odg: [Pomoc] Oko posla Vozac Goriva i pumpe
Poruka od: TiXoR_ poslato Septembar 05, 2014, 13:15:06 POSLE PODNE
(http://www.dodaj.rs/f/3L/2C/2ao1z3ID/082577-green-metallic-or.png)

Molimo te da procitas pravila foruma te da onda otvoris temu po pravilima.

Razlog zakljucavanja:

dp/bump možeš raditi svako 24h

Pravila:

Glavna pravila Balkan SA:MP foruma (http://balkan-samp.com/forum/index.php?topic=7045.0) .
Razgovor u vezi PAWN-Skriptanja (http://balkan-samp.com/forum/index.php?topic=11453.0) .