Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: 032.Marcus poslato Februar 23, 2014, 23:49:49 POSLE PODNE

Naslov: [POMOC] COS
Poruka od: 032.Marcus poslato Februar 23, 2014, 23:49:49 POSLE PODNE
Scripta: Moja od nule
Problem: Kada udjem u svoja kola, i kucam /prodajvozilo izbaci mi da nisam u svojim kolima
Deo scripte:
YCMD:prodajvozilo(playerid, params[], help)
{
#pragma unused help
new slot, vID;
vID = GetPlayerVehicleID(playerid);
if(sscanf(params, "i", slot)) return SCM(playerid, -1, ""CRVENA"KORISCENJE"BELA": /prodajvozilo [zlot]");
switch(slot)
{
    case 1:
    {
    if(PlayerInfo[playerid][pVehicle1] == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(vID != PlayerInfo[playerid][pVehicle1]) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo[playerid][pVehicle1] = 999;
VehicleInfo[vID][vOwned] = 0;
VehicleInfo[vID][vOwner] = 0;
VehicleInfo[vID][vParkX] = 1590.3740;
VehicleInfo[vID][vParkY] = -1026.0565;
VehicleInfo[vID][vParkZ] = 23.9063;
VehicleInfo[vID][vParkA] = 317.1649;
VehicleInfo[vID][vLocked] = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
    }
        case 2:
    {
    if(PlayerInfo[playerid][pVehicle2] == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(vID != PlayerInfo[playerid][pVehicle2]) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo[playerid][pVehicle2] = 999;
VehicleInfo[vID][vOwned] = 0;
VehicleInfo[vID][vOwner] = 0;
VehicleInfo[vID][vParkX] = 1590.3740;
VehicleInfo[vID][vParkY] = -1026.0565;
VehicleInfo[vID][vParkZ] = 23.9063;
VehicleInfo[vID][vParkA] = 317.1649;
VehicleInfo[vID][vLocked] = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    if(PlayerInfo[playerid][pVehicle3] == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(vID != PlayerInfo[playerid][pVehicle3]) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo[playerid][pVehicle3] = 999;
VehicleInfo[vID][vOwned] = 0;
VehicleInfo[vID][vOwner] = 0;
VehicleInfo[vID][vParkX] = 1590.3740;
VehicleInfo[vID][vParkY] = -1026.0565;
VehicleInfo[vID][vParkZ] = 23.9063;
VehicleInfo[vID][vParkA] = 317.1649;
VehicleInfo[vID][vLocked] = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
    }
}
return 1;
}
Naslov: Odg: [POMOC] COS
Poruka od: [MG]uNiqu3 poslato Februar 23, 2014, 23:53:36 POSLE PODNE
Cmd kad kupujes auto ?
EDIT ali mozta ti se mjesaju i idive vozila
Naslov: Odg: [POMOC] COS
Poruka od: 032.Marcus poslato Februar 23, 2014, 23:57:59 POSLE PODNE
YCMD:kupivozilo(playerid, params[], help)
{
#pragma unused help
new vID = GetPlayerVehicleID(playerid);
new vMDL = GetVehicleModel(vID);
if(!IsASalesVehicle(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ovo vozilo nije na prodaju.");
if(PlayerInfo[playerid][pVehicle1] != 999 && PlayerInfo[playerid][pVehicle2] != 999 && PlayerInfo[playerid][pVehicle3] != 999) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ne mozete kupiti vise vozila.");
if(GetPlayerMoney(playerid) < GetVehiclePrice(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate dovoljno novca da bi kupili ovo vozilo.");

if(PlayerInfo[playerid][pVehicle1] == 999) { PlayerInfo[playerid][pVehicle1] = vMDL; }
else if(PlayerInfo[playerid][pVehicle2] == 999) { PlayerInfo[playerid][pVehicle2] = vMDL; }
else if(PlayerInfo[playerid][pVehicle3] == 999) { PlayerInfo[playerid][pVehicle3] = vMDL; }
else { return 1;}

new vehicle;
for(new i = 0 ; i < sizeof(VehicleInfo); i++)
{
    if(!fexist(CarPath(i)))
vehicle = i;
break;
}
VehicleInfo[vehicle][vOwned] = 1;
VehicleInfo[vehicle][vOwner] = RemoveUnderScore(playerid);
    VehicleInfo[vehicle][vModel] = vMDL;
    VehicleInfo[vehicle][vParkX] = 1590.3740;
    VehicleInfo[vehicle][vParkY] = -1026.0565;
    VehicleInfo[vehicle][vParkZ] = 30.9063;
    VehicleInfo[vehicle][vParkA] = 317.1649;
    VehicleInfo[vehicle][vColor1] = 1;
    VehicleInfo[vehicle][vColor2] = 1;
    VehicleInfo[vehicle][vLocked] = 0;
   
    CreateVehicle(vMDL, VehicleInfo[vehicle][vParkX], VehicleInfo[vehicle][vParkY], VehicleInfo[vehicle][vParkZ], VehicleInfo[vehicle][vParkA], VehicleInfo[vehicle][vColor1], VehicleInfo[vehicle][vColor2], -1);
SetVehicleParamsForPlayer(vehicle, playerid, 0, 0);
GivePlayerMoney(playerid, -GetVehiclePrice(vID));
    SaveVehicle(vehicle);
return 1;
}
Naslov: Odg: [POMOC] COS
Poruka od: [MG]uNiqu3 poslato Februar 24, 2014, 10:33:33 PRE PODNE
Zamjeni tvoi cmd sa ovim i probaj ponovo kupiti auto i prodati ga
YCMD:kupivozilo(playerid, params[], help)
{
#pragma unused help
new vID = GetPlayerVehicleID(playerid);
new vMDL = GetVehicleModel(vID);
if(!IsASalesVehicle(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ovo vozilo nije na prodaju.");
if(PlayerInfo[playerid][pVehicle1] != 999 && PlayerInfo[playerid][pVehicle2] != 999 && PlayerInfo[playerid][pVehicle3] != 999) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ne mozete kupiti vise vozila.");
if(GetPlayerMoney(playerid) < GetVehiclePrice(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate dovoljno novca da bi kupili ovo vozilo.");

if(PlayerInfo[playerid][pVehicle1] == 999) { PlayerInfo[playerid][pVehicle1] = vID; }
else if(PlayerInfo[playerid][pVehicle2] == 999) { PlayerInfo[playerid][pVehicle2] = vID; }
else if(PlayerInfo[playerid][pVehicle3] == 999) { PlayerInfo[playerid][pVehicle3] = vID; }
else { return 1;}

new vehicle;
for(new i = 0 ; i < sizeof(VehicleInfo); i++)
{
    if(!fexist(CarPath(i)))
vehicle = i;
break;
}
VehicleInfo[vehicle][vOwned] = 1;
VehicleInfo[vehicle][vOwner] = RemoveUnderScore(playerid);
    VehicleInfo[vehicle][vModel] = vMDL;
    VehicleInfo[vehicle][vParkX] = 1590.3740;
    VehicleInfo[vehicle][vParkY] = -1026.0565;
    VehicleInfo[vehicle][vParkZ] = 30.9063;
    VehicleInfo[vehicle][vParkA] = 317.1649;
    VehicleInfo[vehicle][vColor1] = 1;
    VehicleInfo[vehicle][vColor2] = 1;
    VehicleInfo[vehicle][vLocked] = 0;
   
    CreateVehicle(vMDL, VehicleInfo[vehicle][vParkX], VehicleInfo[vehicle][vParkY], VehicleInfo[vehicle][vParkZ], VehicleInfo[vehicle][vParkA], VehicleInfo[vehicle][vColor1], VehicleInfo[vehicle][vColor2], -1);
SetVehicleParamsForPlayer(vehicle, playerid, 0, 0);
GivePlayerMoney(playerid, -GetVehiclePrice(vID));
    SaveVehicle(vehicle);
return 1;
}
Naslov: Odg: [POMOC] COS
Poruka od: 032.Marcus poslato Februar 24, 2014, 22:30:13 POSLE PODNE
Nece, joj pomagajte da resim i ovaj COS pa da krenem dalje.
Naslov: Odg: [POMOC] COS
Poruka od: Blaeks poslato Februar 25, 2014, 02:24:26 PRE PODNE
za pocetak jedno pitanje, da li ti uopsteno lepo ucitavas varijablu vozila
Naslov: Odg: [POMOC] COS
Poruka od: 032.Marcus poslato Februar 25, 2014, 14:47:03 POSLE PODNE
//----------Vehicle----------
forward LoadVehicle_data(vehicleid, name[], value[]);
public LoadVehicle_data(vehicleid, name[], value[])
{
INI_Int("Owned", VehicleInfo[vehicleid][vOwned]);
INI_String("Owner", VehicleInfo[vehicleid][vOwner], MAX_PLAYER_NAME);
  INI_Int("Model", VehicleInfo[vehicleid][vModel]);
  INI_String("Name", VehicleInfo[vehicleid][vModelName], 64);
    INI_Float("ParkX", VehicleInfo[vehicleid][vParkX]);
INI_Float("ParkY", VehicleInfo[vehicleid][vParkY]);
  INI_Float("ParkZ", VehicleInfo[vehicleid][vParkZ]);
    INI_Float("ParkA", VehicleInfo[vehicleid][vParkA]);
    INI_Int("Color1", VehicleInfo[vehicleid][vColor1]);
    INI_Int("Color2", VehicleInfo[vehicleid][vColor2]);
    INI_Int("Locked", VehicleInfo[vehicleid][vLocked]);
    return 1;
}

forward SaveVehicle(vehicleid);
public SaveVehicle(vehicleid)
{
    new str[16];
    format(str, 16, VPATH, vehicleid);
    new INI:File = INI_Open(str);
    INI_WriteInt(File, "Owned", VehicleInfo[vehicleid][vOwned]);
    INI_WriteString(File, "Owner", VehicleInfo[vehicleid][vOwner]);
    INI_WriteInt(File, "Model", VehicleInfo[vehicleid][vModel]);
    INI_WriteString(File, "Name", VehicleInfo[vehicleid][vModelName]);
    INI_WriteFloat(File, "ParkX", VehicleInfo[vehicleid][vParkX]);
    INI_WriteFloat(File, "ParkY", VehicleInfo[vehicleid][vParkY]);
    INI_WriteFloat(File, "ParkZ", VehicleInfo[vehicleid][vParkZ]);
    INI_WriteFloat(File, "ParkA", VehicleInfo[vehicleid][vParkA]);
    INI_WriteInt(File, "Color1", VehicleInfo[vehicleid][vColor1]);
    INI_WriteInt(File, "Color2", VehicleInfo[vehicleid][vColor2]);
    INI_WriteInt(File, "Locked", VehicleInfo[vehicleid][vLocked]);
    INI_Close(File);
    return 1;
}


A ovo je kad se server pokrene
for(new idx = 0; idx<sizeof(VehicleInfo); idx++)
{
    format(str, sizeof(str), VPATH, idx);
    INI_ParseFile(str, "LoadVehicle_%s", .bExtra = true, .extra = idx);
    CreateVehicle(VehicleInfo[idx][vModel], VehicleInfo[idx][vParkX], VehicleInfo[idx][vParkY], VehicleInfo[idx][vParkZ], VehicleInfo[idx][vParkA], VehicleInfo[idx][vColor1], VehicleInfo[idx][vColor2], -1);
}
Naslov: Odg: [POMOC] COS
Poruka od: 032.Marcus poslato Februar 26, 2014, 22:32:12 POSLE PODNE
Bump!