[POMOC] Trunk/Invertory sistem

Započeo 032.Marcus
10. Feb. 2014. Zaključano
325
pregleda
10
postova
032.Marcus
4
Made Man
10. Feb. 2014.
Scripta: Moja od nule
Problem: Kada stavim oruzje u kucu, ne oduzme mi metak, a kada uzimam, mogu koliko hocu metkova i tako non stop.
Deo scripte:

Komande:
Stavljanje oruzja
YCMD:stavioruzje(playerid, params[], help)
{
#pragma unused help
if(PlayerInfo == 0) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate kucu.");
new hid = PlayerInfo;
if(!IsPlayerInRangeOfPoint(playerid, 15, HouseInfo, HouseInfo, HouseInfo)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Niste u svojoj kuci.");
new slot, weapon, ammo;
weapon = GetPlayerWeapon(playerid);
if(sscanf(params, "ii", slot, ammo)) return SCM(playerid, -1, ""CRVENA"KORISCENJE"BELA":/stavioruzje ");
switch(slot)
{
    case 1:
    {
HouseInfo = weapon;
HouseInfo += GetPlayerAmmo(playerid)-ammo;
}
}
return 1;
}


Uzimanje oruzja
YCMD:uzmioruzje(playerid, params[], help)
{
if(PlayerInfo == 0) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate kucu.");
new hid = PlayerInfo;
if(!IsPlayerInRangeOfPoint(playerid, 15, HouseInfo, HouseInfo, HouseInfo)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Niste u svojoj kuci.");
new slot, ammo;
if(sscanf(params, "ii", slot, ammo)) return SCM(playerid, -1, ""CRVENA"KORISCENJE"BELA":/stavioruzje ");
switch(slot)
{
    case 1:
    {
GivePlayerWeapon(playerid, HouseInfo, ammo);
HouseInfo -= ammo;
if(HouseInfo == 0) HouseInfo = 0;
}
}
return 1;
}


Pravljenje kuce:
YCMD:napravikucu(playerid, params[], help)
{
#pragma unused help
    if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Niste ovlasceni da koristite ovu komandu");

    new price, id, Int, VW, InInt;
    if(sscanf(params, "ii", price, InInt)) return SendClientMessage(playerid, -1, ""CRVENA"KORISCENJE"BELA": /napravikucu ");

    for(new h = 1;h < sizeof(HouseInfo);h++)
    {
        if(HouseInfo == 0)
        {
            id = h;
            break;
        }
    }
    switch(InInt)
{
        case 1:
{
        HouseInfo = 3;
HouseInfo = 235.508994;
    HouseInfo = 1189.169897;
    HouseInfo = 1080.339966;
}
case 2:
{
    HouseInfo = 2;
HouseInfo = 225.756989;
    HouseInfo = 1240.000000;
    HouseInfo = 1082.149902;
}
case 3:
{
    HouseInfo = 1;
HouseInfo = 223.043991;
    HouseInfo = 1289.259888;
    HouseInfo = 1082.199951;
}
case 4:
{
    HouseInfo = 7;
HouseInfo = 225.630997;
    HouseInfo = 1022.479980;
    HouseInfo = 1084.069946;
}
case 5:
{
    HouseInfo = 15;
HouseInfo = 295.138977;
    HouseInfo = 1474.469971;
    HouseInfo = 1080.519897;
}
case 6:
{
    HouseInfo = 15;
HouseInfo = 328.493988;
    HouseInfo = 1480.589966;
    HouseInfo = 1084.449951;
}
case 7:
{
    HouseInfo = 15;
HouseInfo = 385.803986;
    HouseInfo = 1471.769897;
    HouseInfo = 1080.209961;
}
}
    new Float:X,Float:Y,Float:Z,Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    Int = GetPlayerInterior(playerid);
    VW = GetPlayerVirtualWorld(playerid);

    HouseInfo = 0;
    HouseInfo = price;
    HouseInfo = X;
    HouseInfo = Y;
    HouseInfo = Z;
    HouseInfo = A;
    HouseInfo = 1;

    HouseInfo = Int;
    HouseInfo = VW;
    HouseInfo = id;

HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;

    if(HouseInfo) DestroyPickup(HouseInfo);
    HouseInfo = CreatePickup(1272, 1, HouseInfo, HouseInfo, HouseInfo, HouseInfo);
SaveHouse(id);
new house3dtext;
  format(house3dtext, sizeof(house3dtext), ""ZELENA"Ova kuca nema vlasnika !\n Cena kuce: %d \n ID kuce \n Da kupite ovu kucu \n kucajte /kupikucu", HouseInfo,  HouseInfo);
    Create3DTextLabel(house3dtext, -1, HouseInfo, HouseInfo, HouseInfo, 20.0, HouseInfo);
//Update3DTextLabelText(houselabelArray, -1, house3dtext);
    return 1;
}


Ako treba jos nesto, recite da stavim. Pokusavam iz glave sam da napravim ovaj Invertory sistem...
ermin.a
5
Underboss
10. Feb. 2014.
YCMD:stavioruzje(playerid, params[], help)
{
#pragma unused help
if(PlayerInfo == 0) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate kucu.");
new hid = PlayerInfo;
if(!IsPlayerInRangeOfPoint(playerid, 15, HouseInfo, HouseInfo, HouseInfo)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Niste u svojoj kuci.");
new weapon = GetPlayerWeapon(playerid);
        if(!weapon) return SCM(playerid, -1, "Nemas gun");
        new slot, ammo;
if(sscanf(params, "ii", slot, ammo)) return SCM(playerid, -1, ""CRVENA"KORISCENJE"BELA":/stavioruzje ");
switch(slot)
{
    case 1:
    {
HouseInfo = weapon;
HouseInfo += GetPlayerAmmo(playerid)-ammo;
                        new currammo = GetPlayerAmmo(playerid)-ammo;
                        new plyWeapons;
                new plyAmmo;

                for(new slot = 0; slot != 12; slot++)
                {
            new wep, ammo:
            GetPlayerWeaponData(playerid, slot, wep, ammo):

            if(wep != weapon)
            {
        GetPlayerWeaponData(playerid, slot, plyWeapons, plyAmmo):
            }
                }

                ResetPlayerWeapons(playerid);
                for(new slot = 0; slot != 12; slot++)
                {
            GivePlayerWeapon(playerid, plyWeapons, plyAmmo);
                }
                        if(currammo) GivePlayerWeapon(playerid, weapon, currammo);
    }
}
return 1;
}
032.Marcus
4
Made Man
11. Feb. 2014.
Hvala. Je l' isto ovako trebam i za drogu i mats, imam hMats i hMatsAmont. Da ne otvaram novu temu, kako bih mogao da napravim da igrac moze da ima vise kuca?
Mikjo_Ivanovski
5
Kingpin
11. Feb. 2014.
Za ta vtora kuca moras da dodas jos jednu varijablu.
032.Marcus
4
Made Man
11. Feb. 2014.
Aj mi pojasni malo sta da radim sa njom, znam i ja da trebam da dodam to.
Blaeks_Biofor
5
Forum Don
11. Feb. 2014.
jednostavno, samo u komandi za kupovinu kuce obrises varijablu za proveru da li igrac ima kucu
032.Marcus
4
Made Man
11. Feb. 2014.
Aha, ok. I je l' mozete samo da mi kazete sta da uradim da bih namestio ID kuce, tj da kuca ima ID kad se napravi. Meni uvek 0... A hocu da se ID kuce prikazuje u 3dTextu...
Kakav loop treba da napravim, ili kako da namestim da cita ime fajla, i da to bude ID ? Posto su to brojevi
YCMD:napravikucu(playerid, params[], help)
{
#pragma unused help
    if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Niste ovlasceni da koristite ovu komandu");

    new price, id, Int, VW, InInt;
    if(sscanf(params, "ii", price, InInt)) return SendClientMessage(playerid, -1, ""CRVENA"KORISCENJE"BELA": /napravikucu ");

    for(new h = 1;h < sizeof(HouseInfo);h++)
    {
        if(HouseInfo == 0)
        {
            id = h;
            break;
        }
    }
    switch(InInt)
{
        case 1:
{
        HouseInfo = 3;
HouseInfo = 235.508994;
    HouseInfo = 1189.169897;
    HouseInfo = 1080.339966;
}
case 2:
{
    HouseInfo = 2;
HouseInfo = 225.756989;
    HouseInfo = 1240.000000;
    HouseInfo = 1082.149902;
}
case 3:
{
    HouseInfo = 1;
HouseInfo = 223.043991;
    HouseInfo = 1289.259888;
    HouseInfo = 1082.199951;
}
case 4:
{
    HouseInfo = 7;
HouseInfo = 225.630997;
    HouseInfo = 1022.479980;
    HouseInfo = 1084.069946;
}
case 5:
{
    HouseInfo = 15;
HouseInfo = 295.138977;
    HouseInfo = 1474.469971;
    HouseInfo = 1080.519897;
}
case 6:
{
    HouseInfo = 15;
HouseInfo = 328.493988;
    HouseInfo = 1480.589966;
    HouseInfo = 1084.449951;
}
case 7:
{
    HouseInfo = 15;
HouseInfo = 385.803986;
    HouseInfo = 1471.769897;
    HouseInfo = 1080.209961;
}
}
    new Float:X,Float:Y,Float:Z,Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    Int = GetPlayerInterior(playerid);
    VW = GetPlayerVirtualWorld(playerid);

    HouseInfo = 0;
    HouseInfo = price;
    HouseInfo = X;
    HouseInfo = Y;
    HouseInfo = Z;
    HouseInfo = A;
    HouseInfo = 1;

    HouseInfo = Int;
    HouseInfo = VW;
    HouseInfo = id;

HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;
HouseInfo = 0;

    if(HouseInfo) DestroyPickup(HouseInfo);
    HouseInfo = CreatePickup(1272, 1, HouseInfo, HouseInfo, HouseInfo, HouseInfo);
SaveHouse(id);
new house3dtext;
  format(house3dtext, sizeof(house3dtext), ""ZELENA"Ova kuca nema vlasnika !\n Cena kuce: %d \n ID kuce \n Da kupite ovu kucu \n kucajte /kupikucu", HouseInfo,  HouseInfo);
    Create3DTextLabel(house3dtext, -1, HouseInfo, HouseInfo, HouseInfo, 20.0, HouseInfo);
//Update3DTextLabelText(houselabelArray, -1, house3dtext);
    return 1;
}
ermin.a
5
Underboss
11. Feb. 2014.
 ID kuce \

fali ti placeholder za integer (%d ili %i)
i zasto pohranjujes id kuce kad vec imas naziv fajla / vrijednost varijable ti je id kuce :S
032.Marcus
4
Made Man
11. Feb. 2014.
Imam ja to vec, ali ne prikazuje nista. Samo pise ID Kuce, a inace, imam %d
Kad udjem u scriptfiles, i udjem na neku kucu, svakoj je ID 0
032.Marcus
4
Made Man
12. Feb. 2014.
Bump, molim vas pomozite, da ne otvaram svaki cas novu temu. I ako neko moze da mi ispravi komandu za podizanje oruzja, jer non-stop mogu da podizem oruzje, nikako da metkovi nestanu.
Stavim 1, mogu da uzmem koliko hocu metkova.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha