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):
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]
@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 :)
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
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).