Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Darkic poslato Februar 15, 2016, 17:11:03 POSLE PODNE

Naslov: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 15, 2016, 17:11:03 POSLE PODNE
Skripta koju koristim: Neka moja od 0 započeta
Detaljan opis problema: Od kad sam ubacio fuel system problem se pojavio.Znači napravio sam textdraw koji treba da pokaže koliko goriva ima u vozilu,ali problem nastaje jer i TD od Logo-a pokazuje isto
Dio skripte: Daću ispod u postu ako bude potrebno
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Edit: Logo se prikazuje kao TextDrawShowForAll,dok fuel kao TextDrawShowForPlayer
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Tosic ツ poslato Februar 15, 2016, 17:19:28 POSLE PODNE
Vidi da mozda kojim slucajem nisi definisao istim imenom ili neku definiciju imaju istu sigurno ako kontas sta ti pricam
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 15, 2016, 17:20:40 POSLE PODNE
Ne,da je definisano istim imenom iskočio bi mi error da je to već definisano
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Letic poslato Februar 15, 2016, 19:51:16 POSLE PODNE
Posalji deo skripte u kojem se desava to.
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 16, 2016, 00:28:59 PRE PODNE
Evo čitavog sistema:
new gorivo[MAX_VEHICLES];
forward timer_gorivo_lower();
forward timer_dopunjavanje(playerid);
new da_li_dopunjava[MAX_PLAYERS] = 0;
new Text:td_gorivo[MAX_PLAYERS];

OnGameModeInit
for(new i=0;i<MAX_VEHICLES;i++) { gorivo[i] = 50; }
Komanda za dopunjavanje
CMD:dopunigorivo(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 242.5022, -86.4246, 1.5781))
{
if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, CRVENA, "[ERROR]: {FFFFFF}Niste u vozilu!"); //if a player isnt in a vehicle, it stops here
        if (da_li_dopunjava[playerid]) return SendClientMessage(playerid, CRVENA, "[ERROR]: {FFFFFF}Vec dopunjavaÅ¡ gorivo.!"); //if a player is already refuelling, it stops here
        if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid, CRVENA, "[ERROR]: {FFFFFF}NemaÅ¡ dovoljno novca!"); //if a player doesnt have $80 anymore, it stops here
        GivePlayerMoney(playerid,-80); //Sets the player's cash -$80
        SetCameraBehindPlayer(playerid); //Sets the camera behind the player (looks better because the player will be frozen for a few secs)
        TogglePlayerControllable(playerid,0); //freezes the player so he cant drive and refuel at the same time
        da_li_dopunjava[playerid] = 1; //setting da_li_dopunjava to 1 so the player cant spam /refuel
        TextDrawSetString(td_gorivo[playerid],"Punjenje..."); //changing textdraw to /refuel
        SetTimerEx("timer_dopunjavanje",4500,false,"i",playerid); //setting refueltimer
}
else SendClientMessage(playerid, CRVENA, "[ERROR]: {FFFFFF}Niste na benzinskoj pumpi");
return 1;
}

OnPlayerStateChange
if (newstate == PLAYER_STATE_DRIVER)
{
new vid = GetPlayerVehicleID(playerid);
new string[125];format(string,sizeof string,"Gorivo: ~w~%i~r~L",gorivo[vid]);
TextDrawSetString(td_gorivo[playerid],string);
    TextDrawShowForPlayer(playerid,td_gorivo[playerid]);
}
else
{
    TextDrawHideForPlayer(playerid,td_gorivo[playerid]);
}

Novi public
public timer_gorivo_lower()
{
    for(new i=0;i<MAX_PLAYERS;i++)
{
    if (da_li_dopunjava[i]) continue;
    new vid = GetPlayerVehicleID(i);
    if (GetPlayerVehicleSeat(i) == 0)
{
gorivo[vid] = gorivo[vid] -1;
if (gorivo[vid]<1)
{
gorivo[vid] = 0;
  RemovePlayerFromVehicle(i);
    GameTextForPlayer(i,"~r~Ostajete bez ~w~goriva~r~!",5000,4);
}
}
new string[125];format(string,sizeof string,"Gorivo: ~w~%i~r~L",gorivo[vid]);
TextDrawSetString(td_gorivo[i],string);
}
return 1;
}

Još jedan public
public timer_dopunjavanje(playerid)
{
new vid = GetPlayerVehicleID(playerid);
gorivo[vid] = gorivo[vid] = 50;
da_li_dopunjava[playerid] = 0;
TextDrawSetString(td_gorivo[playerid],"Gorivo: ~w~50~r~L");
TogglePlayerControllable(playerid,1);
return 1;
}

@Mr. Letic
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Letic poslato Februar 16, 2016, 20:07:48 POSLE PODNE
Koliko vidim ovde nema mesanja TD-ova, pokusaj prebaciti gorivo TD u Player TD.
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 16, 2016, 22:00:06 POSLE PODNE
Ma nema to veze s tim,pokušao sam al opet isto
Naslov: Odg: [Pomoc]Textdraw
Poruka od: RilleX poslato Februar 16, 2016, 23:05:51 POSLE PODNE
Pa za gorivo,brzinu i ostalo ti ide Player TD ne mozes globalni koristiti  :D
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 16, 2016, 23:32:58 POSLE PODNE
To je prvo što sam uradio,pa sam prebacio na globalne zbog greške,ali opet isto
@[BM:RP] Leon
Naslov: Odg: [Pomoc]Textdraw
Poruka od: c0x poslato Februar 17, 2016, 19:20:14 POSLE PODNE
Citat: [BM:RP] Leon poslato Februar 16, 2016, 23:05:51 POSLE PODNE
Pa za gorivo,brzinu i ostalo ti ide Player TD ne mozes globalni koristiti  :D
Ja kad sam editovao UP mod edit sam i brzinomer i ceo brzinomer mi je u globalnom TDu i nema nikakvih gresaka.. ;)
Naslov: Odg: [Pomoc]Textdraw
Poruka od: Darkic poslato Februar 17, 2016, 23:30:22 POSLE PODNE
Ništa od ovoga,snaćiču se nekako.Lock!