Rent

Započeo TONY x, Februar 20, 2018, 18:23:42 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Detaljan opis problema:Pa 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:
[pawn]
#define DIALOG_RENT 14
#define DIALOG_RENT2 15
[/pawn]
[pawn]
new IDRentVozila[MAX_PLAYERS];
Renta //Ovo je sa PlayerData mrzelo me nez zbog cega sa new Renta[MAX_PLAYERS]; a ovako je duze :D
[/pawn]
[pawn]
   if(PlayerData[playerid][Rentao] == 1)//onplayerdisconnect
   {
      PlayerData[playerid][Rentao] = 0;
      SetVehicleToRespawn(IDRentVozila[playerid]);
   }
[/pawn]
[pawn]
   if(dialogid == DIALOG_RENT)
   {
       if(!response) return TogglePlayerControllable(playerid, 1) && RemovePlayerFromVehicle(playerid);
       if(response)
       {
           new trajanje = strval(inputtext);
           new txt[80];
           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[playerid][Rentao] = 1;
         IDRentVozila[playerid] = GetPlayerVehicleID(playerid);
       }
   }
[/pawn]
[pawn]
      if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
       for(new v=0;v<sizeof(RVozila);v++)
       {
           if(GetPlayerVehicleID(playerid) == RVozila[v])
           {
               new vehid = GetPlayerVehicleID(playerid);
                if(PlayerData[playerid][Rentao] == 1 && vehid == IDRentVozila[playerid])
                {
               
                }
                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[playerid][Rentao] == 1 && vehid != IDRentVozila[playerid])
            {
                SPD(playerid, DIALOG_RENT2,DIALOG_STYLE_MSGBOX,""zuta"RENT",""crvena"Vec imas rentano vozilo! [/unrent]","Potvrdi","X");
                TogglePlayerControllable(playerid, 1);
                RemovePlayerFromVehicle(playerid);
            }
               if(PlayerData[playerid][Rentao] == 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;
              }
       }
      }
[/pawn]
[pawn]
PlayerData[playerid][Rentao] = 0;//onplayerconnect
[/pawn]
[pawn]
CMD:unrent(playerid,params[])
{
   PlayerData[playerid][Rentao] = 0;
   SetVehicleToRespawn(IDRentVozila[playerid]);
   return 1;
}
[/pawn]
[pawn]
forward ZavrsiRent(playerid);
public ZavrsiRent(playerid)
{

    SCM(playerid, NARANDZASTA,"Vas rent je istekao");
   new str[64];
   GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
   format(str,sizeof(str),"Igracu %s je istekao rent!",pName);
    if(PlayerData[playerid][Asistent] >= 1 || PlayerData[playerid][Administrator] >= 1) return SCM(playerid, ZUTA,str);
    PlayerData[playerid][Rentao] = 0;
    SetVehicleToRespawn(IDRentVozila[playerid]);
   return 1;
}
[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Poslednja Izmena: Februar 20, 2018, 18:25:38 POSLE PODNE od TONY x

Vrv si pojebao neke komande ili nisi stavio return

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

if(PlayerData[playerid][Rentao] == 0) return SendClientMessage(playerid,-1,"Vi niste rentali vozilo!");
Respect to: Fantom,Muma,Markoni.
-------------------- Moji Radovi -------------------------
-------------------- Gamemodes ------------------------
Castro RolePlay: http://balkan-samp.com/forum/index.php?topic=119369.0
Black Expensive x2.2: http://balkan-samp.com/forum/index.php?topic=120053.0
------------------- FilterScripts ------------------------
Bunny Hop: http://balkan-samp.com/forum/index.php?topic=120437.0
Bank System: http://balkan-samp.com/forum/index.php?topic=119244.0

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?

Zasto cuvas rent, nije mi jasno skroz nepotrebno.
[pawn]if(PlayerData[playerid][Asistent] >= 1 || PlayerData[playerid][Administrator] >= 1) return SCM(playerid, ZUTA,str);[/pawn]
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[playerid][Rentao] = 0;
   SetVehicleToRespawn(IDRentVozila[playerid]);
        SendClientMessage(playerid, -1, "Unrentali ste vozilo.");
   return 1;
}

Citat: \nLucius poslato Februar 20, 2018, 23:09:36 POSLE PODNE
Zasto cuvas rent, nije mi jasno skroz nepotrebno.
[pawn]if(PlayerData[playerid][Asistent] >= 1 || PlayerData[playerid][Administrator] >= 1) return SCM(playerid, ZUTA,str);[/pawn]
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[playerid][Rentao] = 0;
   SetVehicleToRespawn(IDRentVozila[playerid]);
        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

[pawn]IDRentVozila[playerid] = GetPlayerVehicleID(playerid);
printf("PlayerRentID = %d", IDRentVozila[playerid]);[/pawn]
Probaj tako da proveris id pa onda kad unrenta isto ispisi printf i onda ces videti sta je problem.

Citat: \nLucius poslato Februar 21, 2018, 13:30:35 POSLE PODNE
[pawn]IDRentVozila[playerid] = GetPlayerVehicleID(playerid);
printf("PlayerRentID = %d", IDRentVozila[playerid]);[/pawn]
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