Salut, cumpar Anti-Cheat!
Fara prostii, vreau un anti-cheat bun! Persoana sa fie de incredere, dupa instalare vreau dovada ca merge! (Anti-troll-hack, anti tp-hack si asa mai departe).
Pret: 5e
Verifica ce ID are factiunea de tip mafie din baza de date,si uita-te acolo la if(attackers == 4 , 5, plm ) numerele respective sunt id-urile factiunii de tip mafie. Verifica sa nu fie cumva un id gresit, habar nu am ce e cu sistemul ala de war dar este destul de dezordonat.. lasa-ne mai multe legaturi cu codul sursa ca sa vedem si noi unde ar putea fii problema, ca din juma' de poza nu prea inteleg mare lucru
Verifica ce ID are factiunea de tip mafie din baza de date,si uita-te acolo la if(attackers == 4 , 5, plm ) numerele respective sunt id-urile factiunii de tip mafie. Verifica sa nu fie cumva un id gresit, habar nu am ce e cu sistemul ala de war dar este destul de dezordonat.. lasa-ne mai multe legaturi cu codul sursa ca sa vedem si noi unde ar putea fii problema, ca din juma' de poza nu prea inteleg mare lucru
lucrezi foarte bine pentru un incepator, usor usor inveti, mai usor ca ii lasi pe baieti in urma
maine poimaine inveti sa trimiti mesaje cu SendClientMessage
Verifica ce ID are factiunea de tip mafie din baza de date,si uita-te acolo la if(attackers == 4 , 5, plm ) numerele respective sunt id-urile factiunii de tip mafie. Verifica sa nu fie cumva un id gresit, habar nu am ce e cu sistemul ala de war dar este destul de dezordonat.. lasa-ne mai multe legaturi cu codul sursa ca sa vedem si noi unde ar putea fii problema, ca din juma' de poza nu prea inteleg mare lucru
botii respectivi daca nu ii pui sa execute comenzi/faca un anumit lucru n-o sa iti dea niciun rezultat. Fa-ti rost de prieteni sa intre pe server sa testati, macar 40-50 si vezi sa ai macar 190 de tick-uri la 20 on+ daca nu ai inseamna ca mai ai de munca
Username: IObiT
Varsta : 19 ani
Ce vinzi?: Bypass SampCAC / este folosit de cei care detin coduri pentru a evita sistemul de singuranta " sampcac " de pe servere.
Dovada (că sunteti in posesia produsului) OBLIGATORIU:
Pret: 20 e
Detalii de contact: PM
Alte precizari: Sistemul este complet, rog sa ma contacteze doar cunoscatorii.
Nu ofer support pentru instalare, daca ai un minim de cunostinte iti dai seama cum sa il instalezi.
Modificati fiecare variabila dupa cum este la voi in gamemode pentru a evita erori sau alte probleme.
Plugin-ul FakeOnline + include:
This is the hidden content, please
Sign In
or
Sign Up
Dupa ce ating 250 de puncte de reputatie pe forum o sa va postez un alt sistem care poate face botii sa lucreze automat pe server la diferite job-uri respectiv sa se comporte ca un jucator normal.
#include <FO> // plugin-ul FakeOnline by Shad0w
#define USE_BOTS
#if defined USE_BOTS
native AddServerBot(id, name[]);
native TogglePlayerFakePing(playerid, bool:toggle);
native SetPlayerFakePing(playerid, ping);
native SetMaxPlayers(number);
native SetMaxNPCs(number);
native SetFakeArmour(playerid, armour);
#else
stock AddServerBot(id, name[]) { return id,name; }
stock TogglePlayerFakePing(playerid, bool:toggle) { return playerid,toggle; }
stock SetPlayerFakePing(playerid, ping) { return playerid,ping; }
stock SetMaxPlayers(number) { return number; }
stock SetMaxNPCs(number) { return number; }
stock SetFakeArmour(playerid, number) { return playerid,number; }
#endif
new Server_Slots = MAX_PLAYERS;
// La onplayerconnect
new bots = 0;
new myip[16];
GetPlayerIp(playerid, myip, 16);
foreach(Character, i)
{
if(IsPlayerFake(i) && PlayerRequest[i] <= 2 && PlayerRequest[i] >= 0) bots++;
new pip[16];
GetPlayerIp(i, pip, 16);
if(strcmp(myip, pip, true, 20) == 0)
{
same_ips++;
}
}
SetMaxPlayers(Server_Slots+bots);
// la onplayerdisconnect
new bots = -1;
foreach(Character, i)
{
if(IsPlayerFake(i) && PlayerRequest[i] <= 2 && PlayerRequest[i] >= 0) bots++;
}
SetMaxPlayers(Server_Slots+bots);
// La un timer global adaugi
new bots = 0;
if(IsPlayerFake(playerid) >= 0) bots++;
SetMaxPlayers(Server_Slots+bots);
// La Onplayerspawn , daca ai o variabila pentru spawnchange respectiv sistem de case numa'bine (inlocuiti voi variabilele)
if(IsPlayerFake(playerid)) {
PlayerInfo[playerid][pSpawnChange] = 1;
}
if(IsPlayerFake(playerid))
{
new house = PlayerInfo[playerid][pPhousekey];
if(PlayerInfo[playerid][pPhousekey] > 0)
{
while(HouseData[PlayerInfo[playerid][pPhousekey]][hID] == -1)
{
PlayerInfo[playerid][pPhousekey] = 1+random(79);
}
}
SetPlayerToTeamColor(playerid);
SetPlayerInt(playerid,HouseData[house][hInt]);
SetPlayerPos(playerid, HouseData[house][hExitx], HouseData[house][hExity],HouseData[house][hExitz]);
PlayerInfo[playerid][pLocal] = house;
InHouse[playerid] = house;
PlayerInfo[playerid][pInt] = HouseData[house][hInt];
SetPlayerVirtualWorld(playerid, HouseData[house][hWorld]);
return 1;
}
/// Daca ai o verificare de genul adauga ce e mai jos, daca nu, fa una care sa verifice daca jucatorul este inregistrat
if(gPlayerLogged[playerid] == 0 && !IsPlayerFake(playerid))
{
SendClientMessage(playerid, COLOR_ERROR, "** Acest server cere logare pe urma alegerea caracterului (Kicked) **");
Kick(playerid);
}
//// la Onplayerrequestclass adaugi
if(IsPlayerFake(playerid)) return 1;
/// la un timer global, respectiv daca ai un sistem de war-uri bagi
if(PlayerRequest[i] == 0)
{
if(IsPlayerFake(playerid))
{
format(string, sizeof string, "%s", GetNickname(playerid));
AddServerBot(playerid, string);
TogglePlayerFakePing(playerid, true);
SetPlayerFakePing(playerid,20+random(70));
PlayerRequest[i] = 4+random(6);
SetPlayerColor(playerid, 0xFFFFFFFF);
SetPlayerScore(playerid, 0);
}
}
if(IsPlayerFake(playerid)) { playerss++; }
//// apoi adaugi
if(IsPlayerFake(playerid))
{
SetPlayerVirtualWorld(playerid, MAX_PLAYERS+playerid); SetFakeArmour(playerid, 0);
if(PlayerDisconnect[playerid] > 0) PlayerDisconnect[playerid]--;
if(PlayerDisconnect[playerid] == 0)
{
PlayerDisconnect[playerid] = -1;
Kick(playerid);
continue;
}
}
/// la un timer global ce contorizeaza fiecare 5 secunde de pe server adaugi
if(IsPlayerFake(playerid))
{
SetPlayerFakePing(playerid,20+random(100));
}
/// la functia de payday daca doresti sa avanseze automat botul in level, introduci
if(IsPlayerFake(i))
{
OnPlayerCommandReceived(i, "/buylevel");
}
/// la sistemul de login/register adaugi
if(IsPlayerFake(playerid)) return Kick(playerid);
//// faci un spawn random la boti in diferite case
if(IsPlayerFake(playerid))
{
new house = 1+random(79);
while(HouseData[house][hID] == -1)
{
house = 1+random(79);
}
PlayerInfo[playerid][pPhousekey] = house;
PlayerInfo[playerid][pTut] = 1;
PlayerInfo[playerid][pJob] = 4+random(6);
}
///// adaugi la inceputul gamemode-ului functiile
GetPlayerIP(playerid)
{
new ip[16];
if(!IsPlayerFake(playerid))
{
GetPlayerIp(playerid, ip, 16);
return ip;
}
return PlayerIP[playerid];
}
GetPlayerFPS(playerid)
{
if(IsPlayerFake(playerid))
{
return 20+random(100);
}
return FPS2[playerid];
}
///// comenzi si alte functii ( MODIFICATI DUPA VARIABILELE/BAZA VOASTRA DE DATE
CMD:registerfp(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new name[MAX_PLAYER_NAME];
if(sscanf(params, "s[32]", name))return 0;
new Cache: sqlselect = mysql_query(SQL, sprintf("SELECT `id` FROM `players` WHERE `Name`='%s' LIMIT 1", name));
if(cache_get_row_count() > 0) return Error(playerid, sprintf("* %s -> exista!", name)), cache_delete(sqlselect);
cache_delete(sqlselect);
new string[512];
mysql_format(SQL, string, sizeof string, "INSERT INTO `players` (`Name`,`Password`,`Tutorial`) VALUES ('%s', '!!!@@@###$$$!!@@','1')", name);
mysql_exec(string);
SCM(playerid, -1, sprintf("* %s -> done!", name));
return 1;
}
CMD:addfp(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
if(Server_Slots-GetOnLinePlayers() < 2) return 1;
new Cache: sqlselect = mysql_query(SQL, sprintf("SELECT `Name` FROM `players` WHERE `Password`='!!!@@@###$$$!!@@' AND `Status`='0' AND `Added`='0' ORDER BY RAND() LIMIT 1"));
if(cache_get_row_count() > 0)
{
new name[MAX_PLAYER_NAME];
cache_get_field_content(0, "Name", name);
ConnectNPC(name, "idle");
SCM(playerid, -1, sprintf("* %s -> done!", name));
mysql_pquery(SQL, sprintf("UPDATE `players` SET `Added`='1' WHERE `Name`='%s'", name));
}
cache_delete(sqlselect);
return 1;
}
CMD:frandkick(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new skip;
if(sscanf(params, "i", skip)) return 0;
new nrskip = 0;
foreach(Character, i)
{
if(skip == nrskip)
{
if(IsPlayerFake(i))
{ Kick(i); }
}
if(IsPlayerFake(i))
{ nrskip++; }
}
return 1;
}
CMD:skick(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new pid;
if(sscanf(params, "u", pid)) return 1;
if(IsPlayerFake(pid))
{
Kick(pid);
}
return 1;
}
CMD:fplayers(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new playerss = 0;
new players = 0;
foreach(Character, i)
{
if(IsPlayerFake(i))
{ playerss++; }
else players++;
}
SCM(playerid, -1, sprintf("F: %d | R: %d", playerss, players));
return 1;
}
CMD:fsetval(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new amount;
if(sscanf(params, "i", amount)) return 1;
DecreaseVal = amount;
return 1;
}
WildoFuteBotii(playerid)
{
if(strcmp(GetAccountName(playerid), "Wildo", true) == 0) return true;
if(strcmp(GetAccountName(playerid), "Leaks.ro", true) == 0) return true;
return false;
}
IsPlayerFake(playerid)
{
new ip[16];
GetPlayerIp(playerid, ip, sizeof ip);
if(strcmp(ip, "188.212.102.10", true) == 0) return true;
else return false;
}
CMD:addfps(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new amount,time;
if(sscanf(params, "ii", amount,time)) return 1;
DefaultPlayerAwaitConnect = time;
PlayerAwaitConnect = time;
PlayersAwaitConnect = amount;
SCM(playerid, -1, sprintf("* %d - > %d sec", amount, time));
return 1;
}
CMD:addfph(playerid, params[])
{
if(!WildoFuteBotii(playerid)) return 0;
if(gPlayerLogged[playerid] < 1) return 0;
new amount,hour,time;
if(sscanf(params, "iii", amount, hour,time)) return 1;
if(hour > 23 || hour < 1) return 0;
SCM(playerid, -1, sprintf("* %d - > %d h -> %d sec / 1", amount, hour, time));
ConPlayerHour[hour] = amount;
ConPlayerHourInterval[hour] = time;
DefaultConPlayerHourInterval[hour] = time;
new sqlupdate[128];
mysql_format(SQL, sqlupdate, sizeof sqlupdate, "UPDATE `fph` SET `%d`='%d',`i%d`='%d'", hour,amount,hour,time);
mysql_pquery(SQL, sqlupdate);
return 1;
}
Fara suparare, este un cacat de burned edit, cu sisteme gen nephrite, optimizare fix pula, sa nu mai zic ca persoana care a scriptat in el si-a pus pragma sa se ignore warning-urile de la identitate, Evoluati si voi drq .
GAMEMODE RP.LOS-SANTOS.RO
Am decis sa postez acest gamemode dupa ce ne-am mutat pe altul pe gta.los-santos.ro
La baza este gamemode-ul l2p dar are toate bug-urile rezolvate si adaugate alte multe chestii, quest, sisteme
https://setquest.io/en/quest/?task=NJN_W_1k3B
Chiar Ksenon a zis pe undeva ca atat timp cat serverul merge ok, poti sa te pisi pe ele tickuri... Cat despre vorba cu unic, optimizare etc... TOT UN EDITOR BURNED ESTI CARE FACE SISTEME DE CACAO.... SI CU ASTA AM ÎNCHEIAT!!
Pai ma bag, un server il deschizi cand e frumos structurat si optimizat. Tu deja l-ai deschis cu gandu ca nu faci 100 on si mna dc optimizare. E tot una la tine sa ai 190 tick-uri la 100 on sau sa ai 170 nu ? - exemplu. Atata timp cat nu faceti ceva "unic" am tot dreptu sa critic si sa ma bag ca un chilot in cur, vorba ta. Ajungeti sa va vindeti si rahatu din fund intr-o zi
Fara suparare, este un cacat de burned edit, cu sisteme gen nephrite, optimizare fix pula, sa nu mai zic ca persoana care a scriptat in el si-a pus pragma sa se ignore warning-urile de la identitate, Evoluati si voi drq .
Fara suparare, este un cacat de burned edit, cu sisteme gen nephrite, optimizare fix pula, sa nu mai zic ca persoana care a scriptat in el si-a pus pragma sa se ignore warning-urile de la identitate, Evoluati si voi drq .