Kodisanje ORG sistema i Gate sistema

Započeo Andreus
8. Avg. 2023. Zaključano
302
pregleda
3
postova
Andreus
2
Wheel Man
8. Avg. 2023.
Pozz, ja sam jedan od pocetnih skriptera koji radi svoju skriptu i planira poceti svoj mali server ali imam probleme. Posto sam odnegde morao nauciti po nesto o skriptanju pratio sam tutorijal od youtubera TazGee i primetio sam od toga sto mi vecina koda uspeva neki videi znaju biti uspesni ali da nemam nikakog effecta radnje.
Kao sto je i naslov od njega sam napravio i prepisao njegov dinamicni kod za pravljenje organizacije ali loigcno iz nekog razloga kada unesem sve kako je i on napravio njemu se napravi i spawna dok u mene dode prvi dialog da napravim ime org i onda pri klikom na bilo koje dugme (Enter, Potvrdi, Odustani i sl.) dialog ce se samo prekinuti, tj. nece prikazati druge dialoge i samo ce se spawnati moj odabrani pickup i celi server ce tu stajati sve dok ne restartujem server. cak i nece nista sacuvati u scriptfiles.
Takode i za Dinamicni Gate sistem sto je pravio u mene isto vecina radi imaju oni points (X, Y, Z) Ali kada kliknem da sacuvam gate se zapravo sacuve po ID-jem i svacim ali na mapi i bilo gde gate ne postoji, cak i kada klikcem dugme C/H nema nikakve poruke.
Ukoliko znate bolji kod ili fix javite se!
Andreus
2
Wheel Man
10. Avg. 2023.
Evo poslacu kod gde sam celi org sistem zapisao
enum orgInfo
{
orgIme,
orgLeader,
orgMember1,
orgMember2,
orgMember3,
orgMember4,
orgMember5,
orgMember6,
orgMember7,
orgMember8,
orgMember9,
orgMember10,
orgMember11,
orgMember12,
orgMember13,
orgMember14,
orgMember15,
orgMember16,
orgMember17,
orgMember18,
orgMember19,
orgMember20,
orgSefPare,
orgSefMats,
orgSefDroga,
orgDrzavna,
orgRank1,
orgRank2,
orgRank3,
orgRank4,
orgRank5,
orgRank6,
orgRank7,
Float:orgX,
Float:orgY,
Float:orgZ
};
new OrgInfo;
new brojorg;

stock NewOrg(const len)
{
new orgid = -1;
for(new loop = (0), org_check = (-1), Data_ = "\0"; loop != len; ++ loop)
{
    org_check = (loop+1);
format(Data_, sizeof(Data_), ORGPATH, org_check);
if(!fexist(Data_))
{
    orgid = (org_check);
    break;
}
}
return orgid;
}

stock SaveOrg(id)
{
new org_file;
format(org_file, sizeof(org_file), ORGPATH, id);
new INI:File = INI_Open(org_file);
INI_WriteString(File, "Ime", OrgInfo);
INI_WriteString(File, "Leader", OrgInfo);
INI_WriteString(File, "Member1", OrgInfo);
INI_WriteString(File, "Member2", OrgInfo);
INI_WriteString(File, "Member3", OrgInfo);
INI_WriteString(File, "Member4", OrgInfo);
INI_WriteString(File, "Member5", OrgInfo);
INI_WriteString(File, "Member6", OrgInfo);
INI_WriteString(File, "Member7", OrgInfo);
INI_WriteString(File, "Member8", OrgInfo);
INI_WriteString(File, "Member9", OrgInfo);
INI_WriteString(File, "Member10", OrgInfo);
INI_WriteString(File, "Member11", OrgInfo);
INI_WriteString(File, "Member12", OrgInfo);
INI_WriteString(File, "Member13", OrgInfo);
INI_WriteString(File, "Member14", OrgInfo);
INI_WriteString(File, "Member15", OrgInfo);
INI_WriteString(File, "Member16", OrgInfo);
INI_WriteString(File, "Member17", OrgInfo);
INI_WriteString(File, "Member18", OrgInfo);
INI_WriteString(File, "Member19", OrgInfo);
INI_WriteString(File, "Member20", OrgInfo);
INI_WriteInt(File, "SefPare", OrgInfo);
INI_WriteInt(File, "SefMats", OrgInfo);
INI_WriteInt(File, "SefDroga", OrgInfo);
INI_WriteInt(File, "Drzavna", OrgInfo);
INI_WriteString(File, "Rank1", OrgInfo);
INI_WriteString(File, "Rank2", OrgInfo);
INI_WriteString(File, "Rank3", OrgInfo);
INI_WriteString(File, "Rank4", OrgInfo);
INI_WriteString(File, "Rank5", OrgInfo);
INI_WriteString(File, "Rank6", OrgInfo);
INI_WriteString(File, "Rank7", OrgInfo);
INI_WriteFloat(File, "X", OrgInfo);
INI_WriteFloat(File, "Y", OrgInfo);
INI_WriteFloat(File, "Z", OrgInfo);
INI_Close(File);

}

//ORG SISTEM
for(new i = 0; i < MAX_ORGS; i++)
{
    new orgfile;
    format(orgfile, sizeof(orgfile), ORGPATH, i);
    if(fexist(orgfile))
      {
      INI_ParseFile(orgfile, "LoadOrgs", .bExtra = true, .extra = i);
        new string;
          format(string, sizeof(string), "{DAA520}[{FFFFFF}%s{DAA520}]\n{FFFFFF}Leader: {DAA520}%s", OrgInfo, OrgInfo);
          orgLabel = Create3DTextLabel(string, COLOR_BLACK, OrgInfo, OrgInfo, OrgInfo, 20.0, 0, 0);
            orgPickup = CreatePickup(19132, 1, OrgInfo, OrgInfo, OrgInfo);
            brojorg++;
      }
}

public OnGameModeExit()
{
    for(new id = 0; id < MAX_HOUSES; id ++)
{
SaveHouse(id);
}
for(new id = 0; id < MAX_ORGS; id++)
{
    SaveOrg(id);
}
return 1;
}


Komande
CMD:skinilidera(playerid, params[])
{
    if(PlayerInfo < 4) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Niste ovlasceni za upotrebu ove komande!");
    new id, orgfile, pid, pfile, niko, poruka, adm;
    if(sscanf(params, "i", id)) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}/skinilidera ");
    format(orgfile, sizeof(orgfile), ORGPATH, id);
    format(niko, sizeof(niko), "Niko");
    if(!fexist(orgfile)) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Ova organizacija se ne uklapa sa nasom bazom podataka!");
    pid = GetPlayerID(OrgInfo);
    if(pid == -1)
    {
        new ime;
        format(ime, sizeof(ime), PATH, OrgInfo);
        format(pfile, sizeof(pfile), PATH, ime);
        INI_ParseFile(pfile, "LoadIser_%s", .bExtra = true, .extra = SKIDANJEID);
        PlayerInfo = 0;
        OrgInfo = niko;
        RefreshEntity(id, 2);
        Sacuvaj(SKIDANJEID, ime);
        SaveOrg(id);
    }
    else
    {
        PlayerInfo = 0;
        OrgInfo = niko;
        GetPlayerName(playerid, adm, sizeof(adm));
        format(poruka, sizeof(poruka), "{DAA520}LEADER: {FFFFFF}Skinut vam je lider rank organizacije {DAA520}%s {FFFFFF}od strane admina {DAA520}%s!", OrgInfo, adm);
        RefreshEntity(id, 2);
        SavePlayer(pid);
        SaveOrg(id);
    }
    format(poruka, sizeof(poruka), "{DAA520}SERVER: {FFFFFF}Uspesno ste skinuli lidera organizacije {DAA520}%s sa vlasti!", OrgInfo);
    SCM(playerid, -1, poruka);
return 1;
}

CMD:organizacije(playerid, params[])
{
new lista, text;
if(brojorg < 1) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Organizacije nisu jos napravljene!");
for(new i = 1; i <= brojorg; i++)
{
    format(text, sizeof(text), "{DAA520}[{FFFFFF}%d{DAA520}] - {FFFFFF}%s\n", i, OrgInfo);
    strcat(lista, text);
}
ShowPlayerDialog(playerid, DIALOG_ORGLIST, DIALOG_STYLE_MSGBOX, "{DAA520}Lista Organizacija", lista, "{DAA520}Napusti", "");
return 1;
}

CMD:lideri(playerid, params[])
{
new lista, text;
if(brojorg < 1) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Organizacije nisu jos napravljene!");
for(new i = 0; i <= brojorg; i++)
{
    format(text, sizeof(text), "{DAA520}[{FFFFFF}%d{DAA520}] - {DAA520}Ime:%s - {DAA520}Leader: {FFFFFF}%s\n", i, OrgInfo, OrgInfo);
    strcat(lista, text);
}
ShowPlayerDialog(playerid, DIALOG_ORGLIST, DIALOG_STYLE_MSGBOX, "{DAA520}Lista Lidera", lista, "{DAA520}Napusti", "");
return 1;
}
CMD:makeleader(playerid, params[])
{
if(PlayerInfo < 4) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Niste ovlasceni za upotrebu ove komande!");
if(brojorg < 1) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Organizacije nisu jos napravljene!");
new id, orgid, ime, string;
if(sscanf(params, "ui", id, orgid)) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}/makeleader ");
if(PlayerInfo != 0) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Igrac je vec lider neke druge organizacije!");
if(orgid < 0 || orgid > brojorg) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Netacan ID organizacije je unjet!");
GetPlayerName(id, ime, sizeof(ime));
PlayerInfo = orgid;
OrgInfo = ime;
SavePlayer(id);
SaveOrg(orgid);
format(string, sizeof(string), "{DAA520}ORGANIZACIJA: {FFFFFF}Uspesno ste postavili lidera organizacije {DAA520}%s{FFFFFF} igracu {DAA520}%s!", OrgInfo, ime);
SCM(playerid, -1, string);
Delete3DTextLabel(orgLabel);
format(string, sizeof(string), "{DAA520}[{FFFFFF}%s{DAA520}]\n{FFFFFF}Leader: {DAA520}%s", OrgInfo, OrgInfo);
orgLabel = Create3DTextLabel(string, COLOR_BLACK, OrgInfo, OrgInfo, OrgInfo, 20.0, 0, 0);
return 1;
}


Najbitnije
CMD:napraviorg(playerid, params[])
{
if(PlayerInfo < 6) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Niste ovlasceni za upotrebu ove komande!");
if(editaorg != -1) return SCM(playerid, COLOR_RED, "SERVER: {FFFFFF}Vec pravite/uredujete neku org!");
new Float:X, Float:Y, Float:Z, i = NewOrg(MAX_ORGS), nikostring;
format(nikostring, sizeof(nikostring), "Niko");
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = nikostring;
OrgInfo = 0;
OrgInfo = 0;
OrgInfo = 0;
GetPlayerPos(playerid, X, Y, Z);
OrgInfo = X;
OrgInfo = Y;
OrgInfo = Z;
orgPickup = CreatePickup(19132, 1, X, Y, Z);
SCM(playerid, COLOR_ORANGE, "ORGANIZACIJA: {FFFFFF}Uspesno ste poceli sa pravljenjem organizacije!");
ShowPlayerDialog(playerid, DIALOG_ORGIME, DIALOG_STYLE_INPUT, "{DAA520}Ime Organizacije", "{FFFFFF}Unestie vase zeljno ime organizacije!", "Potvrdi", "Odustani");
brojorg++;
return 1;
}


Sada Dialozi
case DIALOG_ORGIME:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new ime;
        format(ime, sizeof(ime), "%s", inputtext);
        OrgInfo[editaorg] = ime;
        ShowPlayerDialog(playerid, DIALOG_ORGDRZAVNA, DIALOG_STYLE_MSGBOX, "{DAA520}Vrsta organizacije", "{FFFFFF}Izaberite vasu vrstu organizacije!", "Drzavna", "Nelegalna");
    }
}
case DIALOG_ORGDRZAVNA:
{
    if(!response)
    {
        OrgInfo[editaorg] = 0;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK1, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 1", "Potvrdi", "Odustani");
    }
    if(response)
    {
        OrgInfo[editaorg] = 1;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK1, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 1", "Potvrdi", "Odustani");
    }
}
case DIALOG_ORGRANK1:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK2, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 2", "Potvrdi", "Odustani");
    }
}
case DIALOG_ORGRANK2:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK3, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 3", "Potvrdi", "Odustani");
    }
}
case DIALOG_ORGRANK3:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK4, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 4", "Potvrdi", "Odustani");
    }
}
case DIALOG_ORGRANK4:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK5, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 5", "Potvrdi", "Odustani");
    }
}
case DIALOG_ORGRANK5:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK6, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 6", "Potvrdi", "Odsutani");
    }
}
case DIALOG_ORGRANK6:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string;
        format(string, sizeof(string), "%s", inputtext);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGRANK7, DIALOG_STYLE_INPUT, "{DAA520}Imena Rankova", "{FFFFFF}Unesite ime za Rank 7", "Potvrid", "Odustani");
    }
}
case DIALOG_ORGRANK7:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new string, infostring, drz, i = editaorg;
        if(OrgInfo == 0)
        {
            format(drz, sizeof(drz), "Nelegalna");
        }
        else
        {
            format(drz, sizeof(drz), "Drzavna");
        }
        format(string, sizeof(string), "%s", inputtext);
        format(infostring, sizeof(infostring), "{DAA520}Da li ste sigurni da zelite da napravite organizaciju?\n{FFFFFF}Ime: {DAA520}%s\n{FFFFFF}Vrsta: {DAA520}%s", OrgInfo, drz);
        OrgInfo[editaorg] = string;
        ShowPlayerDialog(playerid, DIALOG_ORGDRZAVNA, DIALOG_STYLE_MSGBOX, "{DAA520}Potvrda", infostring, "Potvrid", "Odustani");
    }
}
case DIALOG_ORGINFO:
{
    if(!response)
    {
        DestroyPickup(orgPickup[editaorg]);
        SCM(playerid, COLOR_RED, "{DAA520}SERVER: {FFFFFF}Prekinuli ste pravljenje organizacije!");
        editaorg = -1;
    }
    if(response)
    {
        new i = editaorg, string;
        SCM(playerid, COLOR_ORANGE, "{DAA520}ORGANIZACIJA: {FFFFFF}Uspesno ste napravili organizaciju!");
        SaveOrg(i);
          format(string, sizeof(string), "{DAA520}[{FFFFFF}%s{DAA520}]\n{FFFFFF}Leader: {DAA520}%s", OrgInfo, OrgInfo);
          orgLabel = Create3DTextLabel(string, COLOR_BLACK, OrgInfo, OrgInfo, OrgInfo, 20.0, 0, 0);
          editaorg = -1;
    }
}


Ukoliko neko zna sta sam zabrljao ili u cemu je bug neka posalje odgovor!
Frozen_Capone
5
Crime Lord
10. Avg. 2023.
Formular, lock!

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha