Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Scripter_Buduci poslato Februar 26, 2016, 12:14:04 POSLE PODNE

Naslov: [Pomoc] oko skripte
Poruka od: Scripter_Buduci poslato Februar 26, 2016, 12:14:04 POSLE PODNE
Skripta koju koristim:UP:RP
Detaljan opis problema:E ovako ubacio sam u mod od up sistem za 2 vozila.I pokusao sam da napravim kada ja igracu setujem dva vozila i kada on ukca /v da mu pise Auto 1 i Auto 2 i da kada klikne u auto 1 npr pise mu lociraj auto zakljcuaj auto itd
Dio skripte:
[pawn]YCMD:v(playerid, params[], help)
{
   #pragma unused help
   #pragma unused params
   if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"BA:RP | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pPosedovanjeAuta] != -1)
   {
    if(strcmp(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta]][vVlasnik], GetName(playerid), false)) return SCM(playerid,-1,""SIVA"Vozilo koje je bilo u vasem vlasnistvu je prodato, zatrazite od admina skidanje kljuca!");
   }
   if(PlayerInfo[playerid][pPosedovanjeAuta2] != -1)
   {
    if(strcmp(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta2]][vVlasnik], GetName(playerid), false)) return SCM(playerid,-1,""SIVA"Vozilo koje je bilo u vasem vlasnistvu je prodato, zatrazite od admina skidanje kljuca!");
   }
   SPD(playerid,250,DIALOG_STYLE_LIST, ""SPLAVA"Auto", "Informacije\nZakljucaj/Otkljucaj\nLociraj vozilo\nParkiraj vozilo\nPromena boje\nOstavi u vozilu\nUzmi iz vozila\nProdaj vozilo\nUgradi radio\nRadio\nProdaj vozilo igracu", "Odaberi", "Nazad");
   return 1;
}
//////Evo fDialog//////////
fDialog(250)
{
    if(!response) return 1;
    if(PlayerInfo[playerid][pPosedovanjeAuta] == -1 && PlayerInfo[playerid][pPosedovanjeAuta2] == -1) return SCM(playerid,-1," "CRVENA"Ne posedujes auto!");
   new i = -1;
    if(PlayerInfo[playerid][pPosedovanjeAuta] != -1)
    {
        if(GetPlayerVehicleID(playerid) == VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta]][vID])
        {
            i = PlayerInfo[playerid][pPosedovanjeAuta];
        }
    }
    if(PlayerInfo[playerid][pPosedovanjeAuta2] != -1)
    {
        if(GetPlayerVehicleID(playerid) == VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta2]][vID])
        {
            i = PlayerInfo[playerid][pPosedovanjeAuta2];
        }
    }
    if(i == -1 && listitem != 2) return SCM(playerid,-1,""SIVA"Niste u svom vozilu!");
    switch(listitem)
   {
      case 0:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         new z[5],o[5], vid = CijeneAuta(GetVehicleModel(GetPlayerVehicleID(playerid)));
         if(VoziloInfo[vZakljucan] == 1) z = "Da"; else z = "Ne";
         if(VoziloInfo[vOruzije] != -1) o = "Da"; else o = "Ne";
         SCM(playerid,-1,""SPLAVA"||-------------------------------------------------------------------------------------------||");
         SCMF(playerid,-1,""SPLAVA"Vlasnik vozila: "CRVENA"%s | "SPLAVA"ID Vozila: "CRVENA"%d | "SPLAVA"Zakljucano: "BELA"%s",VoziloInfo[vVlasnik],VoziloInfo[vID],z);
         SCMF(playerid,-1,""SPLAVA"Model: "BELA"%s | "SPLAVA"Droga: "BELA"%dg | "SPLAVA"Materijali: "BELA"%d",ImenaVozila[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400], VoziloInfo[vDroga], VoziloInfo[vMats]);
         SCMF(playerid,-1,""SPLAVA"Oruzije: "BELA"%s | "SPLAVA"Cena: "BELA"%d$ | "SPLAVA"Boja: "BELA"%d/%d",o, AutoSalon[vid][1],VoziloInfo[vBoja1],VoziloInfo[vBoja2]);
         SCM(playerid,-1,""SPLAVA"||-------------------------------------------------------------------------------------------||");
      }
      case 1:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         if(VoziloInfo[vZakljucan] == 0)
         {
            VoziloInfo[vZakljucan] = 1;
            GameTextForPlayer(playerid, "~w~Vozilo ~r~zakljucano", 5000, 3);
            SacuvajVozilo(i);
         }
         else
         {
            VoziloInfo[vZakljucan] = 0;
            GameTextForPlayer(playerid, "~w~Vozilo ~g~otkljucano", 5000, 3);
            SacuvajVozilo(i);
         }
      }
      case 2:
      {
         if(PlayerInfo[playerid][pPosedovanjeAuta] != -1 && PlayerInfo[playerid][pPosedovanjeAuta2] == -1)
         {
            new Float:Poz[3]; PosaoGPS[playerid] = 1;
            GetVehiclePos(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta]][vID], Poz[0], Poz[1], Poz[2]);
            SetPlayerCheckpoint(playerid, Poz[0], Poz[1], Poz[2], 4.0);
            SCM(playerid,-1,""ZUTA"[BA:RP] "BELA"Vase auto je oznaceno "CRVENA"crveno "BELA"na mapi!");
         }
         else if(PlayerInfo[playerid][pPosedovanjeAuta2] != -1 && PlayerInfo[playerid][pPosedovanjeAuta] == -1)
         {
            new Float:Poz[3]; PosaoGPS[playerid] = 1;
            GetVehiclePos(VoziloInfo[PlayerInfo[playerid][pPosedovanjeAuta2]][vID], Poz[0], Poz[1], Poz[2]);
            SetPlayerCheckpoint(playerid, Poz[0], Poz[1], Poz[2], 4.0);
            SCM(playerid,-1,""ZUTA"[BA:RP] "BELA"Vase auto je oznaceno "CRVENA"crveno "BELA"na mapi!");
         }
         else
         {
            SPD(playerid,2444,DIALOG_STYLE_LIST,""BELA"Lociraj vozilo","Vozilo 1\nVozilo 2","Odaberi","Izlaz");
         }
      }
      case 3:
      {
         new Float:PozAS[4], Float:HP;
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         if(IsPlayerInArea(playerid, 837.1461,-1328.1970, 802.9177,-1353.6825)) return SCM(playerid, -1, "[BA:RP] "CRVENA"Ne mozete parkirati auto u blizini spawna!");
         if(IsPlayerInArea(playerid, 1486.062, -1776.608, 1653.387, -1567.377)) return SCM(playerid, -1, "[BA:RP] "CRVENA"Ne mozete parkirati auto u blizini policije!");
         if(IsPlayerInArea(playerid, 1136.201, -1014.694, 1311.132, -856.7839)) return SCM(playerid, -1, "[BA:RP] "CRVENA"Ne mozete parkirati auto u blizini burga!");
         if(IsPlayerInArea(playerid, 1383.386, -1077.857, 1554.513, -947.582)) return SCM(playerid, -1, "[BA:RP] "CRVENA"Ne mozete parkirati auto u blizini banke!");
         GetVehicleHealth(GetPlayerVehicleID(playerid), HP);
         if(HP < 800.0) return SCM(playerid,-1, ""SIVA"Vozilo vam je previse osteceno, ne mozete ga parkirati!");
         GetVehiclePos(VoziloInfo[vID], PozAS[0], PozAS[1], PozAS[2]);
         GetVehicleZAngle(VoziloInfo[vID], PozAS[3]);
         VoziloInfo[vSpawn] = 0;
         VoziloInfo[vPozX] = PozAS[0]; VoziloInfo[vPozY] = PozAS[1]; VoziloInfo[vPozZ] = PozAS[2];
         VoziloInfo[vPozA] = PozAS[3]; DestroyVehicle(VoziloInfo[vID]);
         VoziloInfo[vID] = CreateVehicle(VoziloInfo[vModel],VoziloInfo[vPozX],VoziloInfo[vPozY],VoziloInfo[vPozZ],VoziloInfo[vPozA],VoziloInfo[vBoja1],VoziloInfo[vBoja2],30000);
         SCM(playerid,-1,"[BA:RP] "ZELENA"Vozilo je uspesno parkirano!");
         SacuvajVozilo(i); RTC(VoziloInfo[vID]);
      }
      case 4:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         SPD(playerid,242,DIALOG_STYLE_INPUT,""BELA"Boja Auta",""ZELENA"Unesite ID boje 1 i 2 sa razmakom (Primer: 5 1)\n"ZELENA"Cena Boje: 500$","Promeni","Izlaz");
      }
      case 5:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         SPD(playerid,244,DIALOG_STYLE_LIST,""BELA"Ostavi u auto","Drogu\nMaterijale\nOruzije","Odaberi","Izlaz");
      }
      case 6:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         SPD(playerid,252,DIALOG_STYLE_LIST,""BELA"Uzmi iz auta","Drogu\nMaterijale\nOruzije","Odaberi","Izlaz");
      }
      case 7:
      {
         new string[280] ,vid = CijeneAuta(GetVehicleModel(GetPlayerVehicleID(playerid)));
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         if(!IsPlayerInRangeOfPoint(playerid, 35.0, 1478.5558,1569.2913,10.8125)) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na pijaci polovnih automobila!");
         format(string,sizeof(string), ""BELA"Prodaja auta drzavi\n\n"SPLAVA"Dali ste sigurni da zelite da prodate auto drzavi za %d$!\n\n"BELA"Ako ste sigurni kliknite na 'Prodaj' ako ne kliknite na 'Izlaz'", AutoSalon[vid][1]/2);
         SPD(playerid, 260, DIALOG_STYLE_MSGBOX, ""BELA"Prodaja auta drzavi", string, "Prodaj", "Izlaz");
      }
      case 8:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(VoziloInfo[vRadio] != 0) return SCM(playerid,-1,""SIVA"U vozilu vec ima radio!");
         if(PlayerInfo[playerid][pNovacDzep] < 3000) return SCM(playerid,-1,""SIVA"Nemate dovoljno novca (3000$)!");
         VoziloInfo[vRadio] = 1; g_NovacMinus(playerid, 3000); SacuvajVozilo(i);
         SCM(playerid,-1,""ZELENA"Uspesno ste ugradili radio u vas auto za 3000$!");
      }
      case 9:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         if(VoziloInfo[vRadio] != 1) return SCM(playerid,-1,""SIVA"Nemate radio u autu!");
         SPD(playerid,258,DIALOG_STYLE_LIST,""ZUTA"Radio","Radio Pink\nRadio Folk\nRadio TDI\nJuzni Vetar Radio\nBalkan DJ Radio","Odaberi","Izlaz");
      }
      case 10:
      {
         if(GetPlayerVehicleID(playerid) != VoziloInfo[vID]) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste u svom vozilu!");
         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,"[BA:RP] "CRVENA"Niste na mestu vozaca!");
         SPD(playerid, 268, DIALOG_STYLE_INPUT, "Prodaja auta", ""SPLAVA"Unesite ID igraca kome zelite da prodate vozilo...", "Potvrdi", "Odustani");
      }
   }
   return 1;
}[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] oko skripte
Poruka od: Arkoo poslato Februar 26, 2016, 17:21:26 POSLE PODNE
to ti je veoma jednostavno napravis samo dialog
SPD(playerid, VOZILO_ODABIR, DIALOG_STYLE_LIST,"Odabir Vozila","VOZILO SLOT 1\nVOZILO SLOT 2", "Odaberi", "Nazad");
[pawn]
if(dialogid == VOZILO_ODABIR)
   {
       if(!response) return true;
       if(response)
       {
           switch(listitem)
          {
              case 0:
              {
                  if(PlayerInfo[playerid][pPosedovanjeAuta] == -1) return Error(playerid, "Nemas vozilo na slotu 1.");
                  SPD(playerid,250,DIALOG_STYLE_LIST, ""SPLAVA"Auto", "Informacije\nZakljucaj/Otkljucaj\nLociraj vozilo\nParkiraj vozilo\nPromena boje\nOstavi u vozilu\nUzmi iz vozila\nProdaj vozilo\nUgradi radio\nRadio\nProdaj vozilo igracu", "Odaberi", "Nazad");
   return 1;
            }
            case 1:
              {
if(PlayerInfo[playerid][pPosedovanjeAuta2] == -1) return Error(playerid, "Nemas vozilo na slotu 2.");
                 SPD(playerid,250,DIALOG_STYLE_LIST, ""SPLAVA"Auto", "Informacije\nZakljucaj/Otkljucaj\nLociraj vozilo\nParkiraj vozilo\nPromena boje\nOstavi u vozilu\nUzmi iz vozila\nProdaj vozilo\nUgradi radio\nRadio\nProdaj vozilo igracu", "Odaberi", "Nazad");
return 1;
            }
         }
      }
   }
[/pawn]
Naslov: Odg: [Pomoc] oko skripte
Poruka od: Scripter_Buduci poslato Februar 26, 2016, 18:17:26 POSLE PODNE
@Arko ja hocu da pise igracu kada stisne /v da ima 2 vozilo kada mu ja setujem da mzoe da kupi razumes,mene je skripta na fDialog ne mogu da definisem tako :)
Naslov: Odg: [Pomoc] oko skripte
Poruka od: MEDO poslato Februar 27, 2016, 10:48:26 PRE PODNE
Pa jednostavno napravis provjeru kad igrac kuca /v da li ima setovan slot dva npr ovako nesto

[pawn]if(PI[playerid][SlotDva] > 0)
{
SPD(playerid, 333, DIALOG_STYLE_LIST, "Odaberi vozilo", "Auto 1\nAuto 2", "Ok","Exit");
}
else
{
SPD(playerid, 333, DIALOG_STYLE_LIST, "Odaberi vozilo", "Auto 1", "Ok","Exit");
}[/pawn]

ili u /v imas ovo npr
[pawn]CMD:v(playerid,params[])
{
SPD(playerid, 333, DIALOG_STYLE_LIST, "Odaberi vozilo", "Auto 1\nAuto 2", "Ok","Exit");
return 1;
}
[/pawn]

i onda u dialog response napravis
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 333)
    {
        if(response)
        {
            switch(listitem)
            {
                case 0:
                {
                   SPD(playerid, 334, DIALOG_STYLE_LIST, "Vozilo 1", "Opcija 1 \nOpcija 2", "Ok","Exit");
                }
                case 1:
            {
               if(PI[playerid][SlotDva] > 2)
               {
                  SPD(playerid, 335, DIALOG_STYLE_LIST, "Vozilo 2", "Opcija 1 \nOpcija 2", "Ok","Exit");
               }
               else
               {
                  SCM(playerid, CRVENA, "Nemas vozilo 2");
               }
            }
            }
        }
        return 1;
    }

    return 0;
}[/pawn]

Ja mislim da bi tako trebalo moci
Naslov: Odg: [Pomoc] oko skripte
Poruka od: Letic poslato Februar 28, 2016, 18:00:36 POSLE PODNE


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

Razlog zakljucavanja:
Nepostovanje pravila podforuma

Pravila:
Razgovor u vezi PAWN-Skriptanja (http://balkan-samp.com/forum/index.php?topic=11453.0).