Rent

Započeo TONY x
20. Feb. 2018. Zaključano
710
pregleda
7
postova
tonimacak518
4
Enforcer
20. Feb. 2018.
Detaljan opis problema😛a uradio sam rent system.Prvi put ga radim pa me nebi cudilo da je uzasan.Znaci ima vise problem:
1.Ne radi komanda /unrent - Jednostavno kaze da je komanda nepostojeca
2.Kada rent istekne nestavi vozilo na respawn - Pa verovao sam da to nece raditi jel sam koristio parametar kod new-a MAX_PLAYERS i kasnije playerid vrv je do toga
3.Ako rent istekne idalje ce moc ivoziti to vozilo koje je rentano
PS.Ako neko skuplja postove pa nema prec posla da prica nemogu ti pomoci,uzmi sa udnerpointa ili sa neta,stvarno uzasan problem,koju skriptu koristis(od 0),jel ima errora(NE)...
Dio skripte:

#define DIALOG_RENT 14
#define DIALOG_RENT2 15

new IDRentVozila;
Renta //Ovo je sa PlayerData mrzelo me nez zbog cega sa new Renta; a ovako je duze :D

if(PlayerData == 1)//onplayerdisconnect
{
PlayerData = 0;
SetVehicleToRespawn(IDRentVozila);
}

if(dialogid == DIALOG_RENT)
{
    if(!response) return TogglePlayerControllable(playerid, 1) && RemovePlayerFromVehicle(playerid);
    if(response)
    {
        new trajanje = strval(inputtext);
        new txt;
        if(!strlen(inputtext)) return SPD(playerid, DIALOG_RENT, DIALOG_STYLE_INPUT,""zuta"RENT","Nevazece vreme renta!","Potvrdi","X");
        format(txt,sizeof(txt),""svetloplava"[FH:RP]"zelena"Uspesno ste rentovali vase vozilo na %d minuta!",trajanje);
        SetTimerEx("ZavrsiRent", trajanje*60000, false, "i", playerid);
        TogglePlayerControllable(playerid, 1);
        SCM(playerid, -1, txt);
        GPM(playerid, -trajanje*20);
PlayerData = 1;
IDRentVozila = GetPlayerVehicleID(playerid);
    }
}

      if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    for(new v=0;v     {
        if(GetPlayerVehicleID(playerid) == RVozila)
        {
            new vehid = GetPlayerVehicleID(playerid);
                if(PlayerData == 1 && vehid == IDRentVozila)
                {
               
                }
                else
{
TogglePlayerControllable(playerid, 0);
    SPD(playerid, DIALOG_RENT,DIALOG_STYLE_INPUT,""zuta"RENT",""bela"Upisite vreme[Minute,1m = 20$] za koje zelite da iznjamite vozilo!","Potvrdi","X");
}
if(PlayerData == 1 && vehid != IDRentVozila)
{
    SPD(playerid, DIALOG_RENT2,DIALOG_STYLE_MSGBOX,""zuta"RENT",""crvena"Vec imas rentano vozilo! ","Potvrdi","X");
    TogglePlayerControllable(playerid, 1);
    RemovePlayerFromVehicle(playerid);
}
if(PlayerData == 0)
{
    TogglePlayerControllable(playerid, 0);
    SPD(playerid, DIALOG_RENT2,DIALOG_STYLE_INPUT,""zuta"RENT",""bela"Upisite vreme[Minute,1m = 20$] za koje zelite da iznjamite vozilo!","Potvrdi","X");
}
return 1;
          }
    }
      }

PlayerData = 0;//onplayerconnect

CMD:unrent(playerid,params[])
{
PlayerData = 0;
SetVehicleToRespawn(IDRentVozila);
return 1;
}

forward ZavrsiRent(playerid);
public ZavrsiRent(playerid)
{

    SCM(playerid, NARANDZASTA,"Vas rent je istekao");
new str;
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(str,sizeof(str),"Igracu %s je istekao rent!",pName);
    if(PlayerData >= 1 || PlayerData >= 1) return SCM(playerid, ZUTA,str);
    PlayerData = 0;
    SetVehicleToRespawn(IDRentVozila);
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Dimi Script
4
Enforcer
20. Feb. 2018.
Vrv si pojebao neke komande ili nisi stavio return

A preporucio bih ti kad to uradis da stavis ovo na CMD: unrent

if(PlayerData == 0) return SendClientMessage(playerid,-1,"Vi niste rentali vozilo!");
tonimacak518
4
Enforcer
20. Feb. 2018.
Stavio sam bio ja to ali onda bude da ako nisam rentao on uradi to ako jesam onda kaze nisi ako moze malo vise pomoci
Butigan,Raptor?
Chezno
4
Enforcer
20. Feb. 2018.
Zasto cuvas rent, nije mi jasno skroz nepotrebno.
if(PlayerData >= 1 || PlayerData >= 1) return SCM(playerid, ZUTA,str);

Ovo ti nece raditi jer nisi napravio loop kroz sve igrace nego koristis playerid.
Zasto ne dodas jednostavnu poruku i vidis sta se dogadja.
CMD:unrent(playerid,params[])
{
PlayerData = 0;
SetVehicleToRespawn(IDRentVozila);
        SendClientMessage(playerid, -1, "Unrentali ste vozilo.");
return 1;
}
tonimacak518
4
Enforcer
21. Feb. 2018.
\nLucius wrote on February 20, 2018, 10:09 pm:
Zasto cuvas rent, nije mi jasno skroz nepotrebno.
if(PlayerData >= 1 || PlayerData >= 1) return SCM(playerid, ZUTA,str);

Ovo ti nece raditi jer nisi napravio loop kroz sve igrace nego koristis playerid.
Zasto ne dodas jednostavnu poruku i vidis sta se dogadja.
CMD:unrent(playerid,params[])
{
PlayerData = 0;
SetVehicleToRespawn(IDRentVozila);
        SendClientMessage(playerid, -1, "Unrentali ste vozilo.");
return 1;
}

Hvala na tome dosta si mi pomogao oko samog skriptanja nego imam problem sa gore navedenim npr zastoja se auto ne respawna
Chezno
4
Enforcer
21. Feb. 2018.
IDRentVozila = GetPlayerVehicleID(playerid);
printf("PlayerRentID = %d", IDRentVozila);

Probaj tako da proveris id pa onda kad unrenta isto ispisi printf i onda ces videti sta je problem.
tonimacak518
4
Enforcer
21. Feb. 2018.
\nLucius wrote on February 21, 2018, 12:30 pm:
IDRentVozila = GetPlayerVehicleID(playerid);
printf("PlayerRentID = %d", IDRentVozila);

Probaj tako da proveris id pa onda kad unrenta isto ispisi printf i onda ces videti sta je problem.

Probacu kada budem bio na kompjuteru a sta da radim za to da moze da vozi posle isteka renta

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha