Skripta koju koristim: GTA : RP
Detaljan opis problema: Zanima me kako da napravim ovo dole(pogledajte sliku) ovo Helper ID:BROJ nije ID IGRACA nego BROJ SLOTA,znaci helperi se stavljaju po "slotovima" i njih ima 25.Ako promovisem nekoga na slot 1 ( /makehelper ID SLOT ) on ce se zameniti sa onim sto je na slotu 1 i automatski se helper skida onome ko je na slotu jedan,za neaktivnost i ovo gore znam.
Dio skripte: Dacu sta treba.......
Neke slike/video za lakse dobivanje pomoci(neobavezno):
(http://img862.imageshack.us/img862/3593/listaw.jpg)
ovo je sa onog servera sto je ovde uklonjen a i onako ga vise nema nesto su sjebali... :P
btw. sta mislis da probasa da u komandu /makehelper da stavis proveru strcmp da proverava da li na tom slotu pise "Niko" i ako pise onda da da helpera na tom slotu a ako ne da ispise neki SCM... ? ako si razumeo dobro, a ako nisi kazi da ti pojasnim...
Citat: |¤ White ¤| poslato Jun 15, 2012, 20:52:52 POSLE PODNE
ovo je sa onog servera sto je ovde uklonjen a i onako ga vise nema nesto su sjebali... :P
btw. sta mislis da probasa da u komandu /makehelper da stavis proveru strcmp da proverava da li na tom slotu pise "Niko" i ako pise onda da da helpera na tom slotu a ako ne da ispise neki SCM... ? ako si razumeo dobro, a ako nisi kazi da ti pojasnim...
Razumeo sam.VIdis da sam "zamracio" mesta bas zato sto je server zabranjen.
Ali fora je kako da napravim te slotove da bih napravio proveru dali pise niko.
Probaj npr da napravis da cuva u neki fajl pomocu Y_ini (tako sam ja napravio ali za organizacije) i napravis da load helpere, nesto po principu za vozila dajem primer: kako je za kola CarInfo[id][cOwned]
tako slicno napravi npr Helper[slot][hIme]
za ime, posle tako pravis i za neaktivnost Helper[slot][hVreme]
Razumes? Ne znam dobro da objasnim ali msm da znam da napravim... :-\
Citat: |¤ White ¤| poslato Jun 15, 2012, 21:30:22 POSLE PODNE
Probaj npr da napravis da cuva u neki fajl pomocu Y_ini (tako sam ja napravio ali za organizacije) i napravis da load helpere, nesto po principu za vozila dajem primer: kako je za kola CarInfo[id][cOwned]
tako slicno napravi npr Helper[slot][hIme]
za ime, posle tako pravis i za neaktivnost Helper[slot][hVreme]
Razumes? Ne znam dobro da objasnim ali msm da znam da napravim... :-\
Mislis ENUM za slotove i onda napravim
enum Helperi
{
HelpDuznost
HelpNeakt
HelpSlot1,
HelpSlot2,
HelpSlot3,
HelpSlot4.....
}
slicno... enum helInfo
{
helIme[24],
helVreme,
helLevel,
};
new Helper[10][helInfo];
ovo 10 to ce da ti bude koliko ces helpera da imas i sad kad dajes helpera dajes ovako: if(strcmp(cmd, "/makehelper", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new level = strval(tmp);
new helper[48];
GetPlayerName(playa,helper,48);
new level = ReturnUser(tmp);
Helper[id][helLevel] = level;
format(Helper[id][helIme],48,"%s",helper);
Helper[id][helVreme] = 0;
return 1;
}
ja jos uvek koristim strcmp, nisam jos presao da radim sa zcmd i sscanf... :P a za duznost napravis slicno kao za AdminDuty[playerid]
Citat: |¤ White ¤| poslato Jun 15, 2012, 22:11:56 POSLE PODNE
slicno... enum helInfo
{
helIme[24],
helVreme,
helLevel,
};
new Helper[10][helInfo];
ovo 10 to ce da ti bude koliko ces helpera da imas i sad kad dajes helpera dajes ovako: if(strcmp(cmd, "/makehelper", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new level = strval(tmp);
new helper[48];
GetPlayerName(playa,helper,48);
new level = ReturnUser(tmp);
Helper[id][helLevel] = level;
format(Helper[id][helIme],48,"%s",helper);
Helper[id][helVreme] = 0;
return 1;
}
ja jos uvek koristim strcmp, nisam jos presao da radim sa zcmd i sscanf... :P a za duznost napravis slicno kao za AdminDuty[playerid]
Hvala ti ko bratu za ovo.
Ako negde zapne,napisacu. NEMOJTE JOS LOCK TEMU,EDIT CU AKO JE SVE RESENO
i jel si uradio?
Citat: |¤ White ¤| poslato Jun 16, 2012, 13:57:53 POSLE PODNE
i jel si uradio?
warning 204: symbol is assigned a value that is never used: "id"
warning 204: symbol is assigned a value that is never used: "playa"
Komanda:
//----------------------------------[MAKEADMIN]------------------------------------------------
if(strcmp(cmd, "/makeosc", true) == 0) // ddk
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new level = strval(tmp);
new para1;
para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pAdmin] >= 1389 || (IsPlayerAdmin(playerid)))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level < 0 || level > 1389) return SendClientMessage(playerid, COLOR_GREY,"* Samo 0-1389!!");
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],imeosc[MAX_PLAYER_NAME];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(playerid, imeosc, sizeof(imeosc));
format(OSC[para1][oscIme],48,"%s",imeosc);
OSC[para1][oscLevel] = level;
OSC[para1][oscNeakt] = 0;
SacuvajIgraca(para1);
format(string, sizeof(string), " Promovisani ste na level %d OSC SLOT:3 od strane %s", level, sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:3", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " niste ovlasceni za tu komandu!");
}
}
return 1;
}
Enum:
enum OSCinfo
{
oscIme[24],
oscNeakt,
oscLevel,
};
new OSC[15][OSCinfo];
I jos jedno pitanje,kako ja sada ovde da definisem taj slot ?? :
format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:%d", giveplayer,level);
I da,pogledaj dali je komanda /makeosc dobra.
stavi ovako komandu i probaj dal radi //----------------------------------[MAKEADMIN]------------------------------------------------
if(strcmp(cmd, "/makeosc", true) == 0) // ddk
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new slot = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new level = strval(tmp);
if(PlayerInfo[playerid][pAdmin] >= 1389 || (IsPlayerAdmin(playerid)))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level < 0 || level > 1389) return SendClientMessage(playerid, COLOR_GREY,"* Samo 0-1389!!");
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(OSC[slot][oscIme],48,"%s",giveplayer);
OSC[slot][oscLevel] = level;
OSC[slot][oscNeakt] = 0;
SacuvajIgraca(para1);
format(string, sizeof(string), " Promovisani ste na level %d OSC SLOT:%d od strane %s", level, sendername,slot);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:%d", giveplayer,level,slot);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " niste ovlasceni za tu komandu!");
}
}
return 1;
}
a slot definises sa slot format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:%d", giveplayer,level,slot);
javi sta si uradio...
Citat: |¤ White ¤| poslato Jun 16, 2012, 14:39:18 POSLE PODNE
stavi ovako komandu i probaj dal radi //----------------------------------[MAKEADMIN]------------------------------------------------
if(strcmp(cmd, "/makeosc", true) == 0) // ddk
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new slot = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makehelper [playerid/PartOfName] [id] [level]");
return 1;
}
new level = strval(tmp);
if(PlayerInfo[playerid][pAdmin] >= 1389 || (IsPlayerAdmin(playerid)))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level < 0 || level > 1389) return SendClientMessage(playerid, COLOR_GREY,"* Samo 0-1389!!");
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(OSC[slot][oscIme],48,"%s",giveplayer);
OSC[slot][oscLevel] = level;
OSC[slot][oscNeakt] = 0;
SacuvajIgraca(para1);
format(string, sizeof(string), " Promovisani ste na level %d OSC SLOT:%d od strane %s", level, sendername,slot);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:%d", giveplayer,level,slot);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " niste ovlasceni za tu komandu!");
}
}
return 1;
}
a slot definises sa slot format(string, sizeof(string), " Promovisali ste %s na level %d OSC SLOT:%d", giveplayer,level,slot);
javi sta si uradio...
Sad mi radi komanda,ali slot opet nece.
Napravio sam ovakvu komandu:
CMD:al(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1389)
{
new oscime = OSC[slot][oscIme];
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
new sendername[21], string[200], ceostring[500];
GetPlayerName(playerid, sendername, 21);
format(string, sizeof(string), "[OSC ID:%d] | %s | %d\n",oscime,osclevel,oscneaktivnost);
strcat(ceostring,string);
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi BalkanExpress servera",ceostring, "Uredu", "Izadji");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "[OSC] %s cita listu OSCova.", sendername);
ABroadCast(COLOR_LIGHTRED,string,1389);
}
return 1;
}
Dobijam undefined symbol SLOT,a ako stavim PLAYERID pogledaj kako izgleda:
new oscime = OSC[playerid][oscIme];
new osclevel = OSC[playerid][oscLevel];
new oscneaktivnost = OSC[playerid][oscNeakt];
(http://img189.imageshack.us/img189/8163/samp233d.png)
A ovo slot u scm kad nekoga promovisem radi.
Probaj ovako : CMD:al(playerid, params[])
{
new sendername[21],string[200],ceostring[500];
GetPlayerName(playerid, sendername, 21);
format(ceostring, sizeof(ceostring), "");
for(new slot=0;slot<sizeof(OSC);slot++)
{
if(PlayerInfo[playerid][pAdmin] >= 1389)
{
new oscime = OSC[slot][oscIme];
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
format(string, sizeof(string), "[OSC ID:%d] %s | %d | %d\n",slot,oscime,osclevel,oscneaktivnost);
strcat(ceostring,string);
}
}
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi [cenzura]s servera",ceostring, "Uredu", "Izadji");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "[OSC] %s cita listu OSCova.", sendername);
ABroadCast(COLOR_LIGHTRED,string,1389);
return 1;
}
Citat: |¤ White ¤| poslato Jun 16, 2012, 15:29:45 POSLE PODNE
Probaj ovako : CMD:al(playerid, params[])
{
new sendername[21],string[200],ceostring[500];
GetPlayerName(playerid, sendername, 21);
format(ceostring, sizeof(ceostring), "");
for(new slot=0;slot<sizeof(OSC);slot++)
{
if(PlayerInfo[playerid][pAdmin] >= 1389)
{
new oscime = OSC[slot][oscIme];
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
format(string, sizeof(string), "[OSC ID:%d] %s | %d | %d\n",slot,oscime,osclevel,oscneaktivnost);
strcat(ceostring,string);
}
}
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi [cenzura]s servera",ceostring, "Uredu", "Izadji");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "[OSC] %s cita listu OSCova.", sendername);
ABroadCast(COLOR_LIGHTRED,string,1389);
return 1;
}
Promovisao sam sebe na par slotova i pogle sada:
(http://img827.imageshack.us/img827/8073/samp234tp.png)
Samo level pise lepo,ime ne.
CMD:al(playerid, params[])
{
new sendername[21],string[200],ceostring[500];
GetPlayerName(playerid, sendername, 21);
format(ceostring, sizeof(ceostring), "");
for(new slot=0;slot<sizeof(OSC);slot++)
{
if(PlayerInfo[playerid][pAdmin] >= 1389)
{
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
format(string, sizeof(string), "[OSC ID:%d] %s | %d | %d\n",slot,OSC[slot][oscIme],osclevel,oscneaktivnost);
strcat(ceostring,string);
}
}
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi [cenzura]s servera",ceostring, "Uredu", "Izadji");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "[OSC] %s cita listu OSCova.", sendername);
ABroadCast(COLOR_LIGHTRED,string,1389);
return 1;
}
a da probas ovako? Jel si napravio da ti cuva u neki fajl?
Citat: |¤ White ¤| poslato Jun 16, 2012, 15:57:03 POSLE PODNE
CMD:al(playerid, params[])
{
new sendername[21],string[200],ceostring[500];
GetPlayerName(playerid, sendername, 21);
format(ceostring, sizeof(ceostring), "");
for(new slot=0;slot<sizeof(OSC);slot++)
{
if(PlayerInfo[playerid][pAdmin] >= 1389)
{
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
format(string, sizeof(string), "[OSC ID:%d] %s | %d | %d\n",slot,OSC[slot][oscIme],osclevel,oscneaktivnost);
strcat(ceostring,string);
}
}
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi [cenzura]s servera",ceostring, "Uredu", "Izadji");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "[OSC] %s cita listu OSCova.", sendername);
ABroadCast(COLOR_LIGHTRED,string,1389);
return 1;
}
a da probas ovako? Jel si napravio da ti cuva u neki fajl?
Nisam.
Trebam li ?? Ae ako mozesh stavi to pls.
EDIT: Ja cu sada da namestim da se cuva,radi ovo hvala ti puno brate <3
EDIT2:Aj ti ipak napravis xD,ja ne kontam kako.
ovako:
Ovo stavis u komandu pomocu koje cuvas helperi new INI:File = INI_Open("Helperi.ini");
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"Helper%d",d);
INI_WriteString(File,hel, OSC[d][oscIme]);
new help[64];
format(help,64,"HelperVreme%d",d);
INI_WriteInt(File,help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"HelperLevel%d",d);
INI_WriteInt(File,helpe, OSC[d][oscLevel]);
}
INI_Close(File);
Nakon toga pod OnGamemodeInIt stavis ovo: INI_ParseFile("Helperi.ini", "LoadHelperi");
Izvan Ongamemodeinit tamo gde su ti ostali publici stavis ovo forward LoadHelperi(name[], value[]);
public LoadHelperi(name[], value[])
{
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"Helper%d",d);
INI_String(hel, OSC[d][oscIme] , 32 );
new help[64];
format(help,64,"HelperVreme%d",d);
INI_Int(help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"HelperLevel%d",d);
INI_Int(helpe,OSC[d][oscLevel]);
}
return 1;
}
ako nisi do sad koristio Y_Ini onda ti treba i include Y_Ini i na vrhu gm-a stavis #include <YSI/y_ini>
Citat: |¤ White ¤| poslato Jun 16, 2012, 16:29:16 POSLE PODNE
ovako:
Ovo stavis u komandu pomocu koje cuvas helperi new INI:File = INI_Open("Helperi.ini");
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"Helper%d",d);
INI_WriteString(File,hel, OSC[d][oscIme]);
new help[64];
format(help,64,"HelperVreme%d",d);
INI_WriteInt(File,help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"HelperLevel%d",d);
INI_WriteInt(File,helpe, OSC[d][oscLevel]);
}
INI_Close(File);
Nakon toga pod OnGamemodeInIt stavis ovo: INI_ParseFile("Helperi.ini", "LoadHelperi");
Izvan Ongamemodeinit tamo gde su ti ostali publici stavis ovo forward LoadHelperi(name[], value[]);
public LoadHelperi(name[], value[])
{
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"Helper%d",d);
INI_String(hel, OSC[d][oscIme] , 32 );
new help[64];
format(help,64,"HelperVreme%d",d);
INI_Int(help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"HelperLevel%d",d);
INI_Int(helpe,OSC[d][oscLevel]);
}
return 1;
}
ako nisi do sad koristio Y_Ini onda ti treba i include Y_Ini i na vrhu gm-a stavis #include <YSI/y_ini>
To mi radi,a sada imam drugi problem,napravio sam ovo:
if(level = 0 )
{
SetPlayerSkin(para1, 26);
}
else if(level = 1 || level = 2 || level = 3 || level = 4)
{
SetPlayerSkin(para1, 188);
}
else if(level > 5 )
{
SetPlayerSkin(para1, 294);
}
I dobijam ove errore:
error 022: must be lvalue (non-constant)
error 022: must be lvalue (non-constant)
error 022: must be lvalue (non-constant)
daj tacne linije na kojima ti izbaca error
" if(level = 0 ) " moras staviti == ako usporeÄ'ujes. npr if(level == 0 )
Citat: Dr.Ivex â†' ♫ poslato Jun 16, 2012, 17:28:15 POSLE PODNE
" if(level = 0 ) " moras staviti == ako usporeÄ'ujes. npr if(level == 0 )
EDIT: Nece da sacuva level.
forward UcitajOSC(name[], value[]);
public UcitajOSC(name[], value[])
{
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"ImeOSC-a:%d",d);
INI_String(hel, OSC[d][oscIme] , 32 );
new help[64];
format(help,64,"NeaktOSC-a:%d",d);
INI_Int(help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"OSCLevel:%d",d);
INI_Int(helpe,OSC[d][oscLevel]);
}
return 1;
}
//----------------------------------[MAKEADMIN]------------------------------------------------
if(strcmp(cmd, "/makeosc", true) == 0) // ddk
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new slot = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new level = strval(tmp);
if(OSC[playerid][oscLevel] >= 1389 || (IsPlayerAdmin(playerid)))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level < 0 || level > 1389) return SendClientMessage(playerid, COLOR_GREY,"Ukucaj lepo OSClevel !!");
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(OSC[slot][oscIme],48,"%s",giveplayer);
OSC[slot][oscLevel] = level;
OSC[slot][oscNeakt] = 0;
SacuvajIgraca(para1);
format(string, sizeof(string), " Promovisani ste na level %d OSC-a || SLOT: %d || od strane %s(/al)", level, slot,sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Promovisali ste %s na level %d OSC || SLOT: %d || ", giveplayer,level,slot);
SendClientMessage(playerid, COLOR_WHITE, string);
if(level == 0 )
{
SetPlayerSkin(para1, 26);
}
else if(level == 1 || level == 2 || level == 3 || level == 4)
{
SetPlayerSkin(para1, 188);
}
else if(level > 5 )
{
SetPlayerSkin(para1, 294);
}
new INI:File = INI_Open("OSCovi.ini");
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"ImeOSC-a:%d",d);
INI_WriteString(File,hel, OSC[d][oscIme]);
new help[64];
format(help,64,"NeaktOSC-a:%d",d);
INI_WriteInt(File,help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"OSCLevel:%d\n\n",d);
INI_WriteInt(File,helpe, OSC[d][oscLevel]);
}
INI_Close(File);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " niste ovlasceni za tu komandu!");
}
}
return 1;
}
Ispod ongamemodeinit:
INI_ParseFile("OSCovi.ini", "UcitajOSC");
stavi ovako //----------------------------------[MAKEADMIN]------------------------------------------------
if(strcmp(cmd, "/makeosc", true) == 0) // ddk
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new slot = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD2, "USAGE: /makeosc [IdIgraca/DeoImena] [slot] [level]");
return 1;
}
new level = strval(tmp);
if(OSC[playerid][oscLevel] >= 1389 || (IsPlayerAdmin(playerid)))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level < 0 || level > 1389) return SendClientMessage(playerid, COLOR_GREY,"Ukucaj lepo OSClevel !!");
new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(OSC[slot][oscIme],48,"%s",giveplayer);
OSC[slot][oscLevel] = level;
OSC[slot][oscNeakt] = 0;
SacuvajIgraca(para1);
format(string, sizeof(string), " Promovisani ste na level %d OSC-a || SLOT: %d || od strane %s(/al)", level, slot,sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Promovisali ste %s na level %d OSC || SLOT: %d || ", giveplayer,level,slot);
SendClientMessage(playerid, COLOR_WHITE, string);
if(level == 0 )
{
SetPlayerSkin(para1, 26);
}
else if(level == 1 || level == 2 || level == 3 || level == 4)
{
SetPlayerSkin(para1, 188);
}
else if(level > 5 )
{
SetPlayerSkin(para1, 294);
}
new INI:File = INI_Open("OSCovi.ini");
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"ID|%d|ImeOSC",d);
INI_WriteString(File,hel, OSC[d][oscIme]);
new help[64];
format(help,64,"ID|%d|NeaktOSC",d);
INI_WriteInt(File,help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"ID|%d|OSCLevel",d);
INI_WriteInt(File,helpe, OSC[d][oscLevel]);
}
INI_Close(File);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " niste ovlasceni za tu komandu!");
}
}
return 1;
}
forward UcitajOSC(name[], value[]);
public UcitajOSC(name[], value[])
{
for(new d=0;d<sizeof(OSC);d++)
{
new hel[64];
format(hel,64,"ID|%d|ImeOSC",d);
INI_String(hel, OSC[d][oscIme] , 32 );
new help[64];
format(help,64,"ID|%d|NeaktOSC",d);
INI_Int(help, OSC[d][oscNeakt]);
new helpe[64];
format(helpe,64,"ID|%d|OSCLevel",d);
INI_Int(helpe,OSC[d][oscLevel]);
}
return 1;
}
Opet nece.
P.S. , kako da napravim ovaj deo,uvek mi se izmesa:
(http://img809.imageshack.us/img809/5339/listahu.jpg)
CMD:al(playerid, params[])
{
new sendername[21],string[800],string1[500],string2[500],string3[500],string4[200],ceostring[500];
GetPlayerName(playerid, sendername, 21);
// format(ceostring, sizeof(ceostring), "");
for(new slot=0;slot<sizeof(OSC);slot++)
{
if(OSC[playerid][oscLevel] >= 1)
{
new osclevel = OSC[slot][oscLevel];
new oscneaktivnost = OSC[slot][oscNeakt];
format(string1, sizeof(string1), "GLAVNI OSC | OSC | MINISTRI | DONATORSKI GAMEMASTERI\n");
format(string2, sizeof(string2), " Lista OSCa \n");
format(string2, sizeof(string3), "==================\n[SPISAK SVIH OSC]\n==================\n");
format(string, sizeof(string), "[OSC ID:%d] [ %s ] | Level: [ %d ] | %d\n",slot,OSC[slot][oscIme],osclevel,oscneaktivnost);
strcat(ceostring,string);
}
}
SPD(playerid, 3309, DIALOG_STYLE_MSGBOX, "OSCovi Balkan Express servera || Obratite se njima ako imate neki problem",ceostring, "OK", "OK");
format(string, sizeof(string), "* %s cita listu OSCova (/al).", sendername);
ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
gle krivo radis ovo zadnje ... kak da ti objasnim ... znaci prijasnji string moras ubacit na pocetak sljedecg kuzis i netrebas ih tolko .. npr
new string[200]; // npr
format(string, sizeof(string), "GLAVNI OSC | OSC | MINISTRI | DONATORSKI GAMEMASTERI");
format(string, sizeof(string), "%s\n Lista OSCa ",string);
format(string, sizeof(string), "%s\n==================\n[SPISAK SVIH OSC]\n==================",string);
itd itd
Ma dobro to ali bitnije mi je da namestim da se sacuva tj ucitava :'( :'( :'( :'(
** BUMP **
NECE DA SACUVA LEVEL !!
Citat: Synex poslato Jul 06, 2012, 03:06:24 PRE PODNE
i meni treba pomoc oko toga pomozi neko
Hvala,zaboravio sam da lockam :)