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!
Kodisanje ORG sistema i Gate sistema
302
pregleda
3
postova
10. Avg. 2023.
Evo poslacu kod gde sam celi org sistem zapisao
Komande
Najbitnije
Sada Dialozi
Ukoliko neko zna sta sam zabrljao ili u cemu je bug neka posalje odgovor!
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!
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava