-
if(strcmp(cmd, \"/jogsiad\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin(playerid, 1))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiad [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(para1))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), \"%s átadta neked a jogosítványt.\",sendername );
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"%s kapott töled jogosítványt.\",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pCarLic] = 1;
PlayerInfo[para1][pFlyLic] = 1;
PlayerInfo[para1][pBoatLic] = 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"<< Admin %s adott %s jogosítványt! >>\", sendername, rag(giveplayer,2));
SendAdminMessage(COLOR_ADMIN,string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott %s jogosítványt.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
LoOoG(stringx);
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
}
if(strcmp(cmd, \"/jogsiel\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin(playerid, 1))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiel [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(para1))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), \"%s elvette a jogosítványod.\",sendername );
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"Elveted %s-tól/tõl a jogosítványt.\",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pCarLic] = 0;
PlayerInfo[para1][pFlyLic] = 0;
PlayerInfo[para1][pBoatLic] = 0;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"<< Admin %s elvette %s jogosítványát! >>\", sendername, rag(giveplayer,2));
SendAdminMessage(COLOR_ADMIN,string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s elvette %s jogosítványát.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
LoOoG(stringx);
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
}
if(strcmp(cmd, \"/vanekresz\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin(playerid, 1))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /vanekresz [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(para1))
{
new text[40];
if(PlayerInfo[para1][pKressz] == 1) { text = \"letette\"; } else { text = \"nem tette le\"; }
format(string, sizeof(string), \"* %s a kresz vizsgát.\",text );
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
if(strcmp(cmd, \"/warn\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(Admin(playerid, 1))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
new length = strlen(cmdtext);
new year, month,day;
getdate(year, month, day);
while ((idx < length) && (cmdtext[idx] <= \' \')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GRAD1, \"HASZNÁLAT: /warn [JátékosID/NévRészlet] [indok]\");
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[giveplayerid][pWarns] >= 5)
{
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!\", giveplayer, result);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pLocked] = 1;
Ban(giveplayerid);
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!(%d-%d-%d)\", giveplayer, result, year, month,day);
BanLog(string);
return 1;
}
format(string, sizeof(string), \"%s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
format(string, sizeof(stringx), \"%s-t figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,(result),PlayerInfo[giveplayerid][pWarns], year, month,day);
WarnLog(string);
PlayerInfo[giveplayerid][pWarns] += 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admint nem warnolhatsz!\");
}
}
}
if(strcmp(cmd, \"/warn-el\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /warn-el [JátékosID/NévRészlet]\");
return 1;
}
giveplayerid = strval(tmp);
if(Admin(playerid, 3))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pWarns] -= 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(stringx), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[giveplayerid][pWarns], y, m,d);
WarnLog(string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admintól nem veheted el a warnt!\");
}
}
return 1;
}
-
Basszus code tagek hol vannak? Így nemtudok segíteni nagyon egybementek
-
bocsi csak még új vagyok a fórumon. meg hát nem is nagyon szoktam fórumozni.
-
CSináld meg úgy mindegyik parancsnál, hogy a parancs elejére [pawn] és a végre [/pawn]
-
Álmos\" post=\"351630\" timestamp=\"1350219647\"]
CSináld meg úgy mindegyik parancsnál, hogy a parancs elejére
és a végre
[/quote]
fail :D
am Chris leírnád hogy milyen hibát kéne keresni a kódban?
-
Elmesélem....
A történet arról szól hogy, mikor adnék jogosítványt 1 másik játékosnak. a jogosítványt éppenségel oda adja a másik játékosnak viszont a rendszer azt jelzi mint ha, nekem adná oda.... mikor elveszem akkor azt jelzi mintha tõlem venné el. viszont a másik játékostól veszi el.
a warnál pedig mikor adnék 1 játékosnak warn-t nem 1-re megy hanem -1-re mikor meg még egyszer beírom akkor meg újra 0-ra áll be. mikor elvenném tõle a warn-t akkor meg hozzáad egyett elõsször és utána veszi el mikor másodjára beírtam.
Ez a kettõ a problémám éppenségel. Mûködni mûködik csak nem úgy ahogy, kellene.
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 14. - 16:42:58 )
nos a /jogsiad és /jogsiel-t megoldottam. a /warn és /warnel kéne már csak kibuggoltatnom. itt a két pararncs
}
if(strcmp(cmd, \"/warn\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(Admin(playerid, 1))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
new length = strlen(cmdtext);
new year, month,day;
getdate(year, month, day);
while ((idx < length) && (cmdtext[idx] <= \' \')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GRAD1, \"HASZNÁLAT: /warn [JátékosID/NévRészlet] [indok]\");
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[giveplayerid][pWarns] >= 5)
{
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!\", giveplayer, result);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pLocked] = 1;
Ban(giveplayerid);
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!(%d-%d-%d)\", giveplayer, result, year, month,day);
BanLog(string);
return 1;
}
format(string, sizeof(string), \"%s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
format(string, sizeof(stringx), \"%s-t figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,(result),PlayerInfo[giveplayerid][pWarns], year, month,day);
WarnLog(string);
PlayerInfo[giveplayerid][pWarns] += 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admint nem warnolhatsz!\");
}
}
}
if(strcmp(cmd, \"/warn-el\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /warn-el [JátékosID/NévRészlet]\");
return 1;
}
giveplayerid = strval(tmp);
if(Admin(playerid, 3))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pWarns] -= 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(stringx), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[giveplayerid][pWarns], y, m,d);
WarnLog(string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admintól nem veheted el a warnt!\");
}
}
return 1;
}
-
1. jogsis parancsoknál találtam 1 hibát még...
a játékos id-t para1-ben tárolod viszont késöbb giveplayerid-ra hivatkozol...( nem mindenhol )
2. te az üzenet elküldése után módosítod a warn értéket...a warn szint módosítást mondjuk a GetPlayerName-k után tedd be...és akkor az üzenetekben már az aktuális warn szintet jelzi majd ki...
várom további visszajelzésed
-
a Jogosítvány problémát már megoldottam csak a /warn és a /warn-el parancsal van gondom.
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 14. - 19:35:49 )
ezt meg tudnád mutatni hogy, érted?
-
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[giveplayerid][pWarns]++;
-
Úgy van megcsinálva de, még mindig buggol.... megpróbáltam frissebb streamer plugin-val de, még akkor is bugol....egyéb ötlet?
-
akkor ellenõrizd hogy máshol nem állítja e valami át negatív értékre...
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 15. - 19:45:12 )
máskor ne PM-ben írj hanem itt :)
na szóval írtam neked 1 kódot nézd meg megfelel e...írd le tapasztalataidat a kóddal kapcsolatban...
http://hun-rp.com/script/warn.pwn
-
A Pawno Compile/Run közben Windows hibaüzenetet add ki és olyan mintha bezárná a pawno-t.
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 17. - 13:02:57 )
Rájöttem A Probéma Megoldására... Viszont Kéne A Segítség... A Névlekérés Rossz és ezért bugol valaki segítene a javításában? ha igen köszönöm.
-
konkrétan mi bugol?
http://wiki.sa-mp.com/wiki/GetPlayerName
talán ez segít de ellenõrizd a format-oknál beadott paramétert és azt is hogy %s legyen a szövegben :)
-
A %d rész bugol.... viszont valamelyik változó miatt de, nem tudom melyik miatt ami a /warn és /warn-el parancsban van.
-
A %d rész bugol.... viszont valamelyik változó miatt de, nem tudom melyik miatt ami a /warn és /warn-el parancsban van.
%d-vel nem írhatod ki a nevét mivel a %d egész szám kiíratására van !
%s kell a szöveghez
másold be a format részt
-
azt eddig is tudtam hogy a %s jelzi ki a játékos nevet viszont a változó bugol ami a névlekérésnél van csak nem tudom hogy javítsam. ez bugoltatja a %d részt...
itt a format részek
/warn format rész:
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!\", giveplayer, result);
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!(%d-%d-%d)\", giveplayer, result, year, month,day);
format(string, sizeof(string), \"%s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
format(string, sizeof(string), \"%s-t figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,(result),PlayerInfo[giveplayerid][pWarns], year, month,day);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s, INDOK: %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
/warn-el format rész:
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/5]\",sendername, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
format(string, sizeof(string), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/5] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[giveplayerid][pWarns], y, m,d);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/5]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
pont a format részben buggol be valamelyik.
-
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!\", giveplayer, result);
format(string, sizeof(string), \"%s bannolva a rendszer által, INDOK: Meglett az 5 figyelmeztetés!(%d-%d-%d)\", giveplayer, result, year, month,day);
itt pl a result egyikhez sem kell...mivel ha megnézed az indok résznél nincs %s..és pl a 2.-nál egybõl jön a dátum...vedd ki és nézd meg hogy ennyi volt e a gondod...
-
még mindig buggol továbbra is.
-
írd le konkrétan mi a hiba...lekérdezi a játékos nevét és mégsem azt írja ki? vagy mi a gond?
-
nos akkor áll be a hiba mikor warn-t adok illetve vagy elveszem. Tegyük fel van xy adok neki 3 warn-t eddig minden jó. majd mikor el venném tõle a 3 warn-t akkor azt írja:
hogy xy elvett xy-tól 1 figyelmeztetést 4/5
aztán mikor ezt lecsökkentem pl 1-re akkor meg ha adok neki még egy warn-t akkor pedig ezt írja:
xy adott egy figyelmeztetést xy-nak indok: xy figyelmeztetések 0/5 ezzel van gondom 1-n van adok 1 warn-t és 0-ra áll.
mikor pedig elveszek egy warn-t akkor 3/5-rõl 4/5-re vált.
-
másold be a mostani warn-os parancsaidat és az összes olyan sort ahol van pWarn-os kód és írd oda hogy az melyik callback alatt milyen feltételek esetén fut le...
-
nem tudok arról hogy CallBack-hez lenne kötve.
pWarns kódok:
PlayerInfo[playerid][pWarns] = 1;
PlayerInfo[playerid][pWarns]-1
PlayerInfo[playerid][pWarns] = 1;
PlayerInfo[giveplayerid][pWarns] = 1;
PlayerInfo[giveplayerid][pWarns] = 1;
PlayerInfo[giveplayerid][pWarns]-1
PlayerInfo[giveplayerid][pWarns] = 1;
PlayerInfo[giveplayerid][pWarns] = 1;
Warn és Warn-el parancsok:
if(strcmp(cmd, \"/warn\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(Admin(playerid, 1))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
new length = strlen(cmdtext);
new year, month,day;
getdate(year, month, day);
while ((idx < length) && (cmdtext[idx] <= \' \')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GRAD1, \"HASZNÁLAT: /warn [JátékosID/NévRészlet] [indok]\");
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[giveplayerid][pWarns] >= 10)
{
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által | Oka: Túl sok figyelmeztetés\", giveplayer, result);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pLocked] = 1;
Kick(giveplayerid);
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által | Oka: Túl sok figyelmeztetés(%d-%d-%d)\", giveplayer, result, year, month,day);
BanLog(string);
return 1;
}
format(string, sizeof(string), \"%s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10]\",sendername, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
format(string, sizeof(string), \"%s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10] (%d-%d-%d)\",giveplayer, sendername,(result),PlayerInfo[giveplayerid][pWarns], year, month,day);
WarnLog(string);
PlayerInfo[giveplayerid][pWarns] += 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10]\",y,m,d,h,mi,s,nev, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admint nem warnolhatsz!\");
}
}
}
if(strcmp(cmd, \"/warn-el\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /warn-el [JátékosID/NévRészlet]\");
return 1;
}
giveplayerid = strval(tmp);
if(Admin(playerid, 5))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/10]\",sendername, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pWarns] -= 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(string), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/10] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[giveplayerid][pWarns], y, m,d);
WarnLog(string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/10]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admintól nem veheted el a warnt!\");
}
}
return 1;
}
-
1. biztos hogy callback alatt vannak...pl OnPlayerConnect meg a többi esemény alól másoltad ki...mivel hogyan adsz meg playerid indexet ha nincs playerid?
2. nem másoltad be pl a loginnál levõ fájlból / adatbázisból betöltõ sort...és miért 1-es warn van nagyrészt? nem 0-ról kéne indulnia? mert pl 1 db 0-s warnt sem látok...
3. ha van ReturnUser függvényed azt alkalmazd szerintem mivel így csak számot fogad el...
giveplayerid = strval(tmp);
4. már megmondtam hogy
PlayerInfo[giveplayerid][pWarns] += 1;
ezt a kódot rakd feljebb !!! mert az üzenetnél még nincs frissítve a warn száma...
-
1 fokkal jobb de még most semm igazán az igazi. warn-t adok 0-ról elmegy 3-ra aztán ha elvennék egy warn-t akkor elõsször semmit nem vesz el másodjára vesz el egyett. utána ha hozzá adnék akkor pedig ha 2-n áll akkor 2 marad szintén nem add semmit.
Az OnPlayerConnect Rész Alatt pedig csak ez a pWarns nevû sor van.
PlayerInfo[playerid][pWarns] = 0;
-
tölsd fel a módot és küldj linket...ránézek hogy mitõl lehet...mert szerintem van valami olyan kód amit nem veszel észre és azt szívod...
-
PM-be elküldtem a mód alapjának a linkjét.
-
hát õõõ...szerintem megérné egy olyan módot keresni amit olyan scripterek fejlesztettek akik értenek is a scripteléshez...
/unbanip-nél giveplayerid :S még a nevét is lekérték és statjában is turkáltak...
a 0-s ID-jú játékos elég felkapott személyiség mindig :D mert ha egy admin pl unbannol valakit akkor az õ warn-ja 1 lesz.../unban-nál 2x lekérik a nevét a playerid-nak és a giveplayerid-nak feleslegesen...pl playerid elég lenne 1x, a giveplayerid meg ismét nincs is...
if(strcmp(cmd,\"/unbanip\",true)==0)
{
if(Admin(playerid, 3))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GRAD1,\"HASZNÁLAT: /unbanip [ip]\");
return 1;
}
format(string,sizeof(string),\"unbanip %s\",tmp);
SendRconCommand(string);
SendRconCommand(\"reloadbans\");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, \"<< FõAdmin %s feloldotta a bant errõl az iprõl: %s >>\", sendername,tmp);
ABroadCast(COLOR_ADMIN,string,1);
PlayerInfo[giveplayerid][pLocked] = 0;
PlayerInfo[giveplayerid][pWarns] = 1;
}
return 1;
}
if (strcmp(cmd, \"/unban\", true)==0)
{
if((IsPlayerAdmin(playerid)) || Admin(playerid, 3))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, \"HASZNÁLAT: /unban [játékos neve]\");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(giveplayer));
format(string, 256, \"<< FõAdmin %s feloldotta a tiltást errõl a karakterrõl: %s >>\", sendername, tmp);
ABroadCast(COLOR_ADMIN,string,1);
format(string, 256, \"<< FõAdmin %s feloldotta a tiltást errõl a karakterrõl: %s >>\", sendername, tmp);
printf(string);
format(string,sizeof(string),\"%s.ini\",tmp);
fremove(string);
SendClientMessage(playerid, COLOR_WHITE, \"Játékos unbannolva.\");
SendRconCommand(string);
SendRconCommand(\"reloadbans\");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[giveplayerid][pLocked] = 0;
PlayerInfo[giveplayerid][pWarns] = 1;
}
return 1;
}
mellesleg 2x van az unban és az unbanip parancs is...
ennyi hiba és csak 1 warningot néztem meg :S
szerintem keress egy épkéz-láb módot...mert erre mondják tudod \"...szarból várat...\"
meg a logikájukat sem értem hogy miért 1-el kezdõdik a figyelmeztetés...szerintem aki ezt írta keresd fel és kérdezd meg a logikáját ha érdekel a megoldás...
-
Hát eddig csak ennél a 4 parancsnál akadtam el eddig. Ebbõl a jogsiad és jogsiel-t már meg is oldottam csak a /warn és a /warn-el szórakozik. Ennyiben meg már nem akarom csak úgy hagyni... mert, akkor soha nem tanulja meg az ember így. Valahol el kell kezdeni.
-
az a baj ezt a módot csak foltozgatni tudod mivel elég sok hiba van benne...
-
Hát Már Sok Mindent Javítottam benne. Csak ezzel a warn parancsal gyûlt meg a bajom azért nyitottam témát mert már nem volt ötletem.
-
amúgy játékos azonosítónak mit adsz? nevet vagy ID-t? mármint amikor a parancsot beírod...
-
ID
-
pedig az alapján kéne mûködnie...lehet kicsit mélyebben kéne a warnokhoz nyúlnod...pl ne 1-el kezd hanem 0-val...és a sorrendre figyelni kell hogy a szöveg kiírása elõtt módosítsd...
-
Ami 1 volt és pWarns kód volt azt mind 0-ra is írtam.
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 21. - 19:40:46 )
most a warn-el bugol 0/10 ír ki mindig. itt a kódrész:
if(strcmp(cmd, \"/warn-el\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /warn-el [JátékosID/NévRészlet]\");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(Admin(playerid, 5))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/10]\",sendername, rag(giveplayer,3),PlayerInfo[playerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pWarns] -= 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(string), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/10] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[playerid][pWarns], y, m,d);
WarnLog(string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/10]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[playerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admintól nem veheted el a warnt!\");
}
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 21. - 19:51:48 )
jajj giveplayerid helyett playerid-t írtam.
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 21. - 20:22:20 )
köszönöm szépen mindenkinek a parancs mostmár jó viszont annyiban még kérném a segítséget hogy az a bajom hogy adok 4 warn-t valakinek az adatai közt 0 van ezt hogy tudom javítani?
Dupla hozzászólás automatikusan összefûzve. ( 2012. október 22. - 12:43:24 )
Köszönöm szépen mindenkitõl a segítséget! Lássátok hogy, nézz ki bugatlanul ezért leírom nektek!
/jogsiad és /jogsiel:
if(strcmp(cmd, \"/jogsiad\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin(playerid, 1))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiad [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(para1))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), \"%s átadta neked a jogosítványt.\",PlayerName(playerid));
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"%s kapott töled jogosítványt.\",PlayerName(para1));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pCarLic] = 1;
PlayerInfo[para1][pFlyLic] = 1;
PlayerInfo[para1][pBoatLic] = 1;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"FõAdmin %s adott %s jogosítványt!\", PlayerName(playerid), PlayerName(para1));
SendAdminMessage(COLOR_ADMIN,string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott %s jogosítványt.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
LoOoG(stringx);
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
}
if(strcmp(cmd, \"/jogsiel\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Admin(playerid, 1))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiel [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(IsPlayerConnected(para1))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), \"%s elvette a jogosítványod.\",PlayerName(playerid));
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), \"Elvetted %s-tól/tõl a jogosítványt.\",PlayerName(para1));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pCarLic] = 0;
PlayerInfo[para1][pFlyLic] = 0;
PlayerInfo[para1][pBoatLic] = 0;
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"Admin %s elvette %s jogosítványát!\", PlayerName(playerid), PlayerName(para1));
SendAdminMessage(COLOR_ADMIN,string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s elvette %s jogosítványát.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
LoOoG(stringx);
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
}
/warn és /warn-el rész:
if(strcmp(cmd, \"/warn\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
giveplayerid = ReturnUser(tmp);
if(Admin(playerid, 1))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
new length = strlen(cmdtext);
new year, month,day;
getdate(year, month, day);
while ((idx < length) && (cmdtext[idx] <= \' \')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GRAD1, \"HASZNÁLAT: /warn [JátékosID/NévRészlet] [indok]\");
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[giveplayerid][pWarns] >= 10)
{
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által | Oka: Túl sok figyelmeztetés\", giveplayer, result);
SendClientMessageToAll(COLOR_LIGHTRED, string);
PlayerInfo[giveplayerid][pLocked] = 1;
Kick(giveplayerid);
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által | Oka: Túl sok figyelmeztetés(%d-%d-%d)\", giveplayer, result, year, month,day);
BanLog(string);
return 1;
}
PlayerInfo[giveplayerid][pWarns] += 1;
format(string, sizeof(string), \"%s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10]\",sendername, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
format(string, sizeof(string), \"%s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10] (%d-%d-%d)\",giveplayer, sendername,(result),PlayerInfo[giveplayerid][pWarns], year, month,day);
WarnLog(string);
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott egy figyelmeztetést %s | Oka: %s [Warnok száma: %d/10]\",y,m,d,h,mi,s,nev, rag(giveplayer,3), result,PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admint nem warnolhatsz!\");
}
}
}
if(strcmp(cmd, \"/warn-el\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /warn-el [JátékosID/NévRészlet]\");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(Admin(playerid, 5))
{
if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin])
{
PlayerInfo[giveplayerid][pWarns] -= 1;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"%s elvette a figyelmesztetését %s [Figyelmeztetések: %d/10]\",sendername, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
SendClientMessageToAll(COLOR_LIGHTRED, string);
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(string, sizeof(string), \"%s-tõl %s elvett 1 figyelmeztetést [Figyelmeztetések: %d/10] (%d-%d-%d)\",giveplayer, sendername,PlayerInfo[giveplayerid][pWarns], y, m,d);
WarnLog(string);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s figyelmeztette %s [Figyelmeztetések: %d/10]\",y,m,d,h,mi,s,nev, rag(giveplayer,3),PlayerInfo[giveplayerid][pWarns]);
LoOoG(stringx);
return 1;
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Nagyobb admintól nem veheted el a warnt!\");
}
}
return 1;
}
pWarns kódrészek:
PlayerInfo[playerid][pWarns] = 0;
PlayerInfo[playerid][pWarns] = 0;
PlayerInfo[giveplayerid][pWarns] = 0;
PlayerInfo[giveplayerid][pWarns] = 0;
Az adatban szereplõ figyelmeztetések kód rész:
format(coordsstring, sizeof(coordsstring), \"Szervezet: %s, Szervezet Rang: %s, Figyelmeztetések: %d, Bírság: %d$\",bandatext,bandarangtext,PlayerInfo[giveplayerid][pWarns], PlayerInfo[giveplayerid][Csekk]);
format(coordsstring, sizeof(coordsstring), \"Szervezet: %s, Szervezet Rang: %s, Figyelmeztetések: %d, Bírság: %d$\",bandatext,bandarangtext,PlayerInfo[playerid][pWarns], PlayerInfo[playerid][Csekk]);
Köszönöm mégegyszer mindenkinek a segítségét! ZÁROM A TÉMÁT!!!