Üdv. Készítek egy adóvevõ rendszert módomhoz. A problémám a következõ... A pawno lefutt minden hiba nélkül de... Buggol az adóvevõ rendszerem. A Bug javításában kérném a segítségeteket! Elõre Köszönöm!
Kódrészletek:
if(listitem == 10) // Adóvevõ
{
if(PlayerInfo[playerid][pAdovevo] == 8000)
{
if(PlayerInfo[playerid][Penz] >= 8000)
{
PlayerInfo[playerid][Penz] -= 8000;
SafeGivePlayerMoney(playerid, -8000);
varoskassza += 8000;
Savevaroskassza();
GameTextForPlayer(playerid, \"~r~-8000$\", 5000, 1);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerInfo[playerid][pPhoneBook] = 1;
format(string, sizeof(string), \"Vettél egy adóvevõt.\");
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /avc - Adóvevõbe beszélés || /avfreq - Adóvevõ frekvencia váltása\");
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 vett egy adóvevõt.\",y,m,d,h,mi,s,nev);
LoOoG(stringx);
}else SendClientMessage(playerid,COLOR_GRAD2,\"Nincs elég pénzed egy adóvevõt!\");
}else SendClientMessage(playerid,COLOR_GRAD2,\"Már van adóvevõd!\");
}
}
}
Parancsok:
if(strcmp(cmd, \"/avc\", true) == 0 || strcmp(cmd, \"adóvevõchat\", true) == 0 || strcmp(cmd, \"/adovevochat\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdovevo] == 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[80];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /avc [szöveg]\");
return 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), \"{ffffff}%s {f97804}mondja az adóvevõben:{21dd00%}s\", sendername, result);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s mondja az adóvevõbe: %s\",y,m,d,h,mi,s,nev,result);
LoOoG(stringx);
for(new i = 0; i < MAX_PLAYERS; i++)
SendClientMessage(i, COLOR_ORANGE, string);
format(stringx, sizeof(stringx), \"Valaki mondja((RÁDIÓ)): %s\", result);
ProxDetector(15.0, playerid, stringx,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}else SendClientMessage(playerid,COLOR_GRAD2, \"Nincs adóvevõd vagy nem vetted meg!\");
}
return 1;
}
if(strcmp(cmd, \"/avfreq\", true) == 0 || strcmp(cmd, \"/adóvevõfrekvencia\", true) == 0 || strcmp(cmd, \"/adóvevõfrekvencia\", true) == 0 || strcmp(cmd, \"/idojaras\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdovevoFreq] == 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, \"HASZNÁLAT: /avfreq [Frekvencia 1-999]\");
return 1;
}
new frekvencia;
frekvencia = strval(tmp);
if(frekvencia < 1 || frekvencia > 999) { SendClientMessage(playerid, COLOR_GREY, \"A Frekvenciának 1 és 999 között kell lennie!\"); return 1; }
SendClientMessage(playerid, COLOR_GREY, \"Beállítottad az új frekvenciát.\");
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 megváltoztatta az adóvevõ frekvenciáját.\",y,m,d,h,mi,s,nev,frekvencia);
LoOoG(stringx);
}else SendClientMessage(playerid, COLOR_GRAD1, \"Nincs adóvevõd vagy nem vetted meg!\");
}
return 1;
}
if(listitem == 10) // Adóvevõ
{
if(PlayerInfo[playerid][pAdovevo] == 0)
{
if(PlayerInfo[playerid][Penz] >= 8000)
{
PlayerInfo[playerid][Penz] -= 8000;
SafeGivePlayerMoney(playerid, -8000);
varoskassza += 8000;
Savevaroskassza();
GameTextForPlayer(playerid, \"~r~-8000$\", 5000, 1);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerInfo[playerid][pAdovevo] = 1;
format(string, sizeof(string), \"Vettél egy adóvevõt.\");
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /avc - Adóvevõbe beszélés || /avfreq - Adóvevõ frekvencia váltása\");
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 vett egy adóvevõt.\",y,m,d,h,mi,s,nev);
LoOoG(stringx);
}else SendClientMessage(playerid,COLOR_GRAD2,\"Nincs elég pénzed egy adóvevõt!\");
}else SendClientMessage(playerid,COLOR_GRAD2,\"Már van adóvevõd!\");
}
}
}
if(strcmp(cmd, \"/avc\", true) == 0 || strcmp(cmd, \"adóvevõchat\", true) == 0 || strcmp(cmd, \"/adovevochat\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdovevo] == 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[80];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /avc [szöveg]\");
return 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), \"{ffffff}%s {f97804}mondja az adóvevõben:{21dd00%}s\", sendername, result);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s mondja az adóvevõbe: %s\",y,m,d,h,mi,s,nev,result);
LoOoG(stringx);
for(new i = 0; i < MAX_PLAYERS; i++)
SendClientMessage(i, COLOR_ORANGE, string);
format(stringx, sizeof(stringx), \"Valaki mondja((RÁDIÓ)): %s\", result);
ProxDetector(15.0, playerid, stringx,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}else SendClientMessage(playerid,COLOR_GRAD2, \"Nincs adóvevõd vagy nem vetted meg!\");
}
return 1;
}
if(strcmp(cmd, \"/avfreq\", true) == 0 || strcmp(cmd, \"/adóvevõfrekvencia\", true) == 0 || strcmp(cmd, \"/adóvevõfrekvencia\", true) == 0 || strcmp(cmd, \"/idojaras\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdovevo] == 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, \"HASZNÁLAT: /avfreq [Frekvencia 1-999]\");
return 1;
}
new frekvencia;
frekvencia = strval(tmp);
if(frekvencia < 1 || frekvencia > 999) { SendClientMessage(playerid, COLOR_GREY, \"A Frekvenciának 1 és 999 között kell lennie!\"); return 1; }
SendClientMessage(playerid, COLOR_GREY, \"Beállítottad az új frekvenciát.\");
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 megváltoztatta az adóvevõ frekvenciáját.\",y,m,d,h,mi,s,nev,frekvencia);
LoOoG(stringx);
}else SendClientMessage(playerid, COLOR_GRAD1, \"Nincs adóvevõd vagy nem vetted meg!\");
}
return 1;
}