[POMOC]Firme sistem

Započeo Don Marquez, Januar 31, 2017, 22:22:33 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Moja od 0
Detaljan opis problema:Pa ovako napravio sam sistem firmi,sve sam lijepo uradio ali kada kreiram firmu sve se pojavi ono znaci label i to sve sto treba,e sad kada ja izadjem posto testiram na kucnom serveru kada izadjem iz igrice i ponovo udjem sve stoji kako je napravljeno a onda kada ugasim i ponovo upalim mod ono nestanu labeli i nema nista ono sto sam kreirao tu na tom mjestu
Dio skripte:
//------------------------------------------------------------------------------
forward UcitajFirme(idfirme, name[], value[]);
public UcitajFirme(idfirme, name[], value[])
{
INI_Int("Kupljena",F_Enum[idfirme][fi_Kupljena]);
INI_String("Vlasnik",F_Enum[idfirme][fi_Vlasnik],45);
    INI_String("Vrsta",F_Enum[idfirme][fi_Vrsta],35);
    INI_Float("UlazX",F_Enum[idfirme][fi_EnterX]);
    INI_Float("UlazY",F_Enum[idfirme][fi_EnterY]);
    INI_Float("UlazZ",F_Enum[idfirme][fi_EnterZ]);
    INI_Float("IzlazX",F_Enum[idfirme][fi_ExitX]);
    INI_Float("IzlazY",F_Enum[idfirme][fi_ExitY]);
    INI_Float("IzlazZ",F_Enum[idfirme][fi_ExitZ]);
    INI_Int("Level",F_Enum[idfirme][fi_Level]);
    INI_Int("Cijena",F_Enum[idfirme][fi_Cijena]);
    INI_Int("Novac",F_Enum[idfirme][fi_Novac]);
    INI_Int("Interior",F_Enum[idfirme][fi_interijer]);
    INI_Int("Zatvoreno",F_Enum[idfirme][fi_Locked]);
    INI_Int("VW",F_Enum[idfirme][fi_VW]);
    INI_Int("Neaktivnost",F_Enum[idfirme][fi_Neaktivnost]);
return 1;
}
//------------------------------------------------------------------------------
stock SacuvajFirmu(idfirme)
{
new fFile[128];
    format(fFile, sizeof(fFile), FIRME_FILE, idfirme);
new INI:File = INI_Open(fFile);
INI_WriteInt(File,"Kupljena",F_Enum[idfirme][fi_Kupljena]);
INI_WriteString(File,"Vlasnik",F_Enum[idfirme][fi_Vlasnik]);
INI_WriteString(File,"Vrsta",F_Enum[idfirme][fi_Vrsta]);
INI_WriteFloat(File,"UlazX",F_Enum[idfirme][fi_EnterX]);
INI_WriteFloat(File,"UlazY",F_Enum[idfirme][fi_EnterY]);
INI_WriteFloat(File,"UlazZ",F_Enum[idfirme][fi_EnterZ]);
INI_WriteFloat(File,"IzlazX",F_Enum[idfirme][fi_ExitX]);
INI_WriteFloat(File,"IzlazY",F_Enum[idfirme][fi_ExitY]);
INI_WriteFloat(File,"IzlazZ",F_Enum[idfirme][fi_ExitZ]);
INI_WriteInt(File,"Level",F_Enum[idfirme][fi_Level]);
    INI_WriteInt(File,"Cijena",F_Enum[idfirme][fi_Cijena]);
    INI_WriteInt(File,"Novac",F_Enum[idfirme][fi_Novac]);
    INI_WriteInt(File,"Interior",F_Enum[idfirme][fi_interijer]);
    INI_WriteInt(File,"Zatvoreno",F_Enum[idfirme][fi_Locked]);
    INI_WriteInt(File,"VW",F_Enum[idfirme][fi_VW]);
    INI_WriteInt(File,"Neaktivnost",F_Enum[idfirme][fi_Neaktivnost]);
INI_Close(File);
return 1;
}
//------------------------------------------------------------------------------
stock UcitajImovinu()
{
    for(new idfirme = 0; idfirme < sizeof(F_Enum); idfirme++)
    {
        new fFile[50], string[400];
        format(fFile, sizeof(fFile), FIRME_FILE, idfirme);
        if(fexist(fFile))
        {
            INI_ParseFile(fFile, "UcitajFirme", .bExtra = true, .extra = idfirme);
            if(F_Enum[idfirme][fi_Kupljena] == 0)
        {
            format(string,sizeof(string),""col_green"Firma na Prodaju("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cijena: "col_white"%d\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Za kupovinu "col_white"/kupifirmu",idfirme, F_Enum[idfirme][fi_Vrsta],F_Enum[idfirme][fi_Cijena],F_Enum[idfirme][fi_Level], UlicaKuce(idfirme));
            FirmaLabel[idfirme] = Create3DTextLabel(string ,0x33CCFFAA,F_Enum[idfirme][fi_EnterX],F_Enum[idfirme][fi_EnterY],F_Enum[idfirme][fi_EnterZ],30.0,0,1);
            FirmaPickup[idfirme] = CreatePickup(1273, 1, F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ]);
            CreateDynamicMapIcon(F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ], 31, -1, 0, 0, -1, 150.0);
        }
        else if(F_Enum[idfirme][fi_Kupljena] == 1)
        {
format(string,sizeof(string),""col_blue"Vlasnik: "col_white"%s\n"col_blue"Vrsta: "col_white"%s\n"col_blue"Adresa: "col_white"%s\n"col_blue"Neaktivnost: "col_white"%d\n"col_blue"'"col_white"F ili ENTER"col_blue"' za ulaz u firmu",F_Enum[idfirme][fi_Vlasnik],F_Enum[idfirme][fi_Vrsta], UlicaKuce(idfirme),F_Enum[idfirme][fi_Neaktivnost]);
            FirmaLabel[idfirme] = Create3DTextLabel(string ,0x33CCFFAA,F_Enum[idfirme][fi_EnterX],F_Enum[idfirme][fi_EnterY],F_Enum[idfirme][fi_EnterZ],30.0,0,1);
            FirmaPickup[idfirme] = CreatePickup(1272, 1, F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ]);
            CreateDynamicMapIcon(F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ], 32, -1, 0, 0, -1, 150.0);
        }
}
}
}
//------------------------------------------------------------------------------
stock FirmeLP(idfirme)
{
new string[400];
if(F_Enum[idfirme][fi_Kupljena] == 0)
{
Delete3DTextLabel(FirmaLabel[idfirme]);
DestroyPickup(FirmaPickup[idfirme]);
  format(string,sizeof(string),""col_green"Firma na Prodaju("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cijena: "col_white"%d\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Za kupovinu "col_white"/kupifirmu",idfirme, F_Enum[idfirme][fi_Vrsta],F_Enum[idfirme][fi_Cijena],F_Enum[idfirme][fi_Level], UlicaKuce(idfirme));
        FirmaLabel[idfirme] = Create3DTextLabel(string ,0x33CCFFAA,F_Enum[idfirme][fi_EnterX],F_Enum[idfirme][fi_EnterY],F_Enum[idfirme][fi_EnterZ],30.0,0,1);
        FirmaPickup[idfirme] = CreatePickup(1273, 1, F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ]);
}
else if(F_Enum[idfirme][fi_Kupljena] == 1)
{
Delete3DTextLabel(FirmaLabel[idfirme]);
DestroyPickup(FirmaPickup[idfirme]);
format(string,sizeof(string),""col_blue"Vlasnik: "col_white"%s\n"col_blue"Vrsta: "col_white"%s\n"col_blue"Adresa: "col_white"%s\n"col_blue"Neaktivnost: "col_white"%d\n"col_blue"'"col_white"F ili ENTER"col_blue"' za ulaz u firmu",F_Enum[idfirme][fi_Vlasnik],F_Enum[idfirme][fi_Vrsta], UlicaKuce(idfirme),F_Enum[idfirme][fi_Neaktivnost]);
        FirmaLabel[idfirme] = Create3DTextLabel(string ,0x33CCFFAA,F_Enum[idfirme][fi_EnterX],F_Enum[idfirme][fi_EnterY],F_Enum[idfirme][fi_EnterZ],30.0,0,1);
        FirmaPickup[idfirme] = CreatePickup(1272, 1, F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ]);
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno)://

Imao sam takav problem al dimi je to  resio😉


Imao sam slican problem, dobro proveri svaki red oko loadovanja firmi i cuvanja firmi :)


Sredio sam to sad sa labelima i sve ali gledam sad izbaci ovaj debug

[13:54:10] [debug] Run time error 4: "Array index out of bounds"
[13:54:10] [debug]  Accessing element at index 10 past array upper bound 9
[13:54:10] [debug] AMX backtrace:
[13:54:10] [debug] #0 000ad2f0 in public @_yCnapravifirmu (0, 18084900, 0) from SCRIPT.amx
[13:54:10] [debug] #1 000acedc in public @yC_napravifirmu (0, 18084900, 0, 0) from SCRIPT.amx
[13:54:10] [debug] #2 native CallRemoteFunction () from samp-server.exe
[13:54:10] [debug] #3 0001b2e8 in ?? (0, 18084836, 0) from SCRIPT.amx
[13:54:10] [debug] #4 0001aba4 in ?? (0, 18084836) from SCRIPT.amx
[13:54:10] [debug] #5 0000d588 in public OnPlayerCommandText (0, 18084836) from SCRIPT.amx

A evo i komanda

//------------------------------------------------------------------------------
YCMD:napravifirmu(playerid, params[], help)
{
    #pragma unused help
    if(Ulogovan[playerid] != 1) return SCM(playerid,-1,GRESKA"Prvo se morate ulogovati!");
    if(PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid,-1,GRESKA"Samo ovlastena lica!");
new idfirme = GetHouseEmptyID(MAX_FIRMI), vrsta, Float:X,Float:Y,Float:Z,ffirme[80],string[400]; GetPlayerPos(playerid,X,Y,Z);
if(sscanf(params, "i",vrsta))
{
    SCM(playerid,-1,UPUSTVO"/napravifirmu [Vrsta]");
    SCM(playerid,-1,"0) Pumpa 1) Komunalci 2) Dostavljac cijevi");
    return 1;
}

format(ffirme, sizeof(ffirme), FIRME_FILE, idfirme);
if(fexist(ffirme)) return SCM(playerid,-1, GRESKA"ID te firme vec postoji!");
if(vrsta < 0 || vrsta > 2) return SCM(playerid,-1,GRESKA"Pogresna vrsta!");
if(vrsta == 0)
{
        F_Enum[idfirme][fi_ExitX] = -42.59;
    F_Enum[idfirme][fi_ExitY] = 1405.47;
    F_Enum[idfirme][fi_ExitZ] = 1084.43;
    F_Enum[idfirme][fi_interijer] = 8;
    strmid(F_Enum[idfirme][fi_Vrsta],"Pumpa",0,strlen("Pumpa"),255);
    F_Enum[idfirme][fi_Level] = 5;
    F_Enum[idfirme][fi_Cijena] = 5000;
}
else if(vrsta == 1)
{
        F_Enum[idfirme][fi_ExitX] = 235.34;
    F_Enum[idfirme][fi_ExitY] = 1186.68;
    F_Enum[idfirme][fi_ExitZ] = 1080.26;
    F_Enum[idfirme][fi_interijer] = 3;
    strmid(F_Enum[idfirme][fi_Vrsta],"Komunalci",0,strlen("Komunalci"),255);
    F_Enum[idfirme][fi_Level] = 7;
    F_Enum[idfirme][fi_Cijena] = 9000;
}
else if(vrsta == 2)
{
        F_Enum[idfirme][fi_ExitX] = 234.19;
    F_Enum[idfirme][fi_ExitY] = 1063.73;
    F_Enum[idfirme][fi_ExitZ] = 1084.21;
    F_Enum[idfirme][fi_interijer] = 6;
    strmid(F_Enum[idfirme][fi_Vrsta],"Dostavljac cijevi",0,strlen("Dostavljac cijevi"),255);
    F_Enum[idfirme][fi_Level] = 10;
    F_Enum[idfirme][fi_Cijena] = 13000;
}
F_Enum[idfirme][fi_EnterX] = X;
    F_Enum[idfirme][fi_EnterY] = Y; F_Enum[idfirme][fi_EnterZ] = Z; F_Enum[idfirme][fi_Kupljena] = 0;
    F_Enum[idfirme][fi_Novac] = 0; F_Enum[idfirme][fi_Locked] = 1; F_Enum[idfirme][fi_VW] = idfirme;
    strmid(F_Enum[idfirme][fi_Vlasnik],"Niko",0,strlen("Niko"),255);
    format(string,sizeof(string),""col_green"Firma na Prodaju("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cijena: "col_white"%d\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Za kupovinu "col_white"/kupifirmu",idfirme, F_Enum[idfirme][fi_Vrsta],F_Enum[idfirme][fi_Cijena],F_Enum[idfirme][fi_Level], UlicaKuce(idfirme));
    FirmaLabel[idfirme] = Create3DTextLabel(string ,0x33CCFFAA,X,Y,Z,30.0,0,1);
    FirmaPickup[idfirme] = CreatePickup(1273, 1, F_Enum[idfirme][fi_EnterX], F_Enum[idfirme][fi_EnterY], F_Enum[idfirme][fi_EnterZ]);
SCM(playerid,-1,INFO"Firma je uspjesno kreirana!"); SacuvajFirmu(idfirme);
return 1;
}

Sredio sam sve bilo je nekih nedostataka i sada radi sve kako treba
MOZETE LOCK!