Код:
#include <a_samp>
#include <dudb>
#include <zcmd>
#include <sscanf>
new bool:Logged[MAX_PLAYERS];
new bool:vyradmin[MAX_PLAYERS];
new Text[128];
new string2[256];
new pname1[MAX_PLAYER_NAME];
#define GREEN 0x00EA00FF
#define RED 0xF00000FF
#define PURPLE 0x330066AA
#define MELYNA 0x33CCFFAA
#define RAUDONA 0xDC143CAA
#define ZALIA 0x10F441AA
#define COLOR_GRAD2 0xBFC0C2FF
#pragma tabsize 0
enum PlayerData
{
Money,
};
public OnFilterScriptInit()
{
print("\n----------------------------------");
print(" Registracijos sistema sėkmingai uћkrauta.");
print("----------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
print("\n----------------------------------");
print(" Registracijos sistema neuћkrauta.");
print("----------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid)
{
Logged[playerid] = false;
vyradmin[playerid] = false;
//==============================================================================
AddPlayerClass(115,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //Narkomanas
AddPlayerClass(60,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(59,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(47,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(46,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(250,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(23,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(123,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(120,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //bernas
AddPlayerClass(193,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //Merga
AddPlayerClass(12,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //merga
AddPlayerClass(93,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //merga
AddPlayerClass(91,-1951.7848,573.5266,35.5693,91.1870,0,0,0,0,0,0); //merga
//===================================Rodo skinus
new file[128], vardas[128];
GetPlayerName(playerid, vardas, 128);
format(file,128,"Users/%s.ini",vardas);
if(!dini_Exists(file))
{
ShowPlayerDialog(playerid,9876,DIALOG_STYLE_PASSWORD,"Registracija","Jei norite ћaisti љiame FreeRoam serveryje privalote uћsiregistruoti.\nĮveskite slaptaћodį kurį naudosite prisijungimui:","Registruotis","");
}
else if(dini_Exists(file))
{
ShowPlayerDialog(playerid,9877,DIALOG_STYLE_PASSWORD,"Prisijungimas","Jei norite ћaisti љiame FreeRoam serveryje privalote prisijungti.\nĮveskite savo slaptaћodį:","Prisijungti","");
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-2193.5981,641.5383,49.4429);
SetPlayerCameraPos(playerid,-2194.3101,645.1630,49.4375);
SetPlayerCameraLookAt(playerid,-2193.5981,641.5383,49.4429);
SetPlayerFacingAngle(playerid,0.0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Logged[playerid] = false;
vyradmin[playerid] = false;
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
GetPlayerName(playerid,pname1,sizeof(pname1));
//==============================================================================
if(dialogid == 9876)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,9876,DIALOG_STYLE_PASSWORD,"Registracija","Neįvedėte slaptaћodћio.\nĮveskite slaptaћodį kurį naudosite prisijungimui:","Registruotis","Iљeiti");
}
else
{
new file[128], vardas[128];
GetPlayerName(playerid,vardas,128);
format(file,128,"Users/%s.ini",vardas);
dini_Create(file);
dini_IntSet(file,"Slaptazodis",udb_hash(inputtext));
// Pinigų saugojimas
dini_IntSet(file,"money",0);
Logged[playerid] = true;
SendClientMessage(playerid,0xFFFFFFFF,"Jūs sėkmingai uћsiregistravote! Prie ћaidimo buvote prijungtas automatiљkai.");
}
}
else if(!response)
{
Kick(playerid);
}
return 1;
}
if(dialogid == 9877)
{
if(response)
{
new file[128], vardas[128], pass[256], vyradminius[256];
GetPlayerName(playerid, vardas, 128);
format(file,128,"Users/%s.ini",vardas);
pass = dini_Get(file,"Slaptazodis");
vyradminius = dini_Get(file,"vyradmin");
if(strval(vyradminius) == 1)
{
SendClientMessage(playerid,0xFFFFFFFF,"Sveikas administratoriau, geros dienos ћaidime!");
vyradmin[playerid] = true;
}
if(udb_hash(inputtext) != strval(pass))
{
ShowPlayerDialog(playerid,9877,DIALOG_STYLE_PASSWORD,"Prisijungimas","Įvestas slaptaћodis neteisingas.\nĮveskite savo slaptaћodį:","Prisijungti","Iљeiti");
}
else
{
Logged[playerid] = true;
SendClientMessage(playerid,0xFFFFFFFF,"Jūs sėkmingai prisijungėte! Visos komandos /info.");
}
}
else if(!response)
{
Kick(playerid);
}
return 1;
}
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid,30 ,100000);
}
if(listitem == 1)
{
GivePlayerWeapon(playerid,21 ,100000);
}
if(listitem == 2)
{
GivePlayerWeapon(playerid,28 ,100000);
}
if(listitem == 3)
{
GivePlayerWeapon(playerid,29 ,100000);
}
if(listitem == 4)
{
GivePlayerWeapon(playerid,32 ,100000);
}
if(listitem == 5)
{
GivePlayerWeapon(playerid,34 ,100000);
}
if(listitem == 6)
{
GivePlayerWeapon(playerid,25 ,100000);
}
if(listitem == 7)
{
GivePlayerWeapon(playerid,26 ,100000);
}
if(listitem == 8)
{
GivePlayerWeapon(playerid,27 ,100000);
}
if(listitem == 9)
{
GivePlayerWeapon(playerid,22 ,100000);
}
if(listitem == 10)
{
GivePlayerWeapon(playerid,23 ,100000);
}
if(listitem == 11)
{
GivePlayerWeapon(playerid,24 ,100000);
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//===========================vyradminiu komandos=================================
CMD:ainfo(playerid, params[])
{
if(vyradmin[playerid])
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Administratorių komandos:","/s - paraљyti ћinutę, kuri bus matoma visiems.\n/gun - gauti administratoriams skirtų ginklų.\n/kick - iљmesti ћaidėją iљ serverio.\n/ban - uћblokuoti ћaidėją serveryje.\n/surakinti - surakina ћaidėją.\n/atrakinti - atrakina ћaidėją.\n/to - nusiteleportuoti iki ћaidėjo.\n/get - gauti ћaidėją prie savęs.\n/jetpack - gauti skraidančią kuprinę.\n","Gerai","");
}
return 1;
}
CMD:s(playerid, params[])
{
if(vyradmin[playerid])
{
if(sscanf(params,"s", Text)) return SendClientMessage(playerid, RED, "Praneљti ћinutę visiems galite naudodami komandą: /a [TEXT]");
format(string2, 128, "[Administratorius] %s : %s",PlayerName(playerid), Text);
SendClientMessageToAll(GREEN, string2);
}
return 1;
}
CMD:surakinti(playerid, params[])
{
if(vyradmin[playerid])
{
new id;
if(sscanf(params, "d", id))return SendClientMessage(playerid, 0xFFFFFFFF, "Naudokite: /surakinti [ћaidėjo id]");
else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFF0000FF, "Neteisingas ћaidėjo ID.");
else
{
SendClientMessage(id, RAUDONA, "Jus surakino administratorius, greičiausiai paћeidėte serverio taisykles.");
TogglePlayerControllable(id, 0);
}
}
return 1;
}
CMD:atrakinti(playerid, params[])
{
if(vyradmin[playerid])
{
new id;
if(sscanf(params, "d", id))return SendClientMessage(playerid, 0xFFFFFFFF, "Naudokite: /atrakinti [ћaidėjo id]");
else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFF0000FF, "Neteisingas ћaidėjo ID.");
else
{
SendClientMessage(id, ZALIA, "Jūs buvote atrakintas administratoriaus, tikimės, kad paћeidimas daugiau nepasikartos.");
TogglePlayerControllable(id, 1);
}
}
return 1;
}
CMD:kick(playerid, params[])
{
if(vyradmin[playerid])
{
new id;
if(sscanf(params, "d", id))return SendClientMessage(playerid, 0xFFFFFFFF, "Naudokite: /kick [ћaidėjo id]");
else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFF0000FF, "Neteisingas ћaidėjo ID.");
else
{
Kick(id);
}
}
return 1;
}
CMD:ungun(playerid, params[])
{
if(vyradmin[playerid])
{
new id;
if(sscanf(params, "d", id))return SendClientMessage(playerid, 0xFFFFFFFF, "Naudokite: /ungun [ћaidėjo id]");
else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFF0000FF, "Neteisingas ћaidėjo ID.");
else
{
ResetPlayerWeapons(id);
}
}
return 1;
}
CMD:ban(playerid, params[])
{
if(vyradmin[playerid])
{
new id;
if(sscanf(params, "d", id))return SendClientMessage(playerid, 0xFFFFFFFF, "Naudokite: /ban [ћaidėjo_id]");
else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFF0000FF, "Neteisingas ћaidėjo ID.");
else
{
Ban(id);
}
}
return 1;
}
CMD:to(playerid, params[])
{
new ID;
if(sscanf(params, "u", ID))
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Įvyko klaida!","Norėdami naudotis funkcija raљykite\n/to {FF0000}[ћaidėjo_id]{FFFFFF}","Gerai", "");
else if(IsPlayerConnected(ID) == 0)
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Įvyko klaida!","Nurodėte neteisingą ћaidėjo ID numerį arba jis\ngalėjo atsijungti iљ ћaidimo. Mėginkite kiek\nvėliau.","Gerai", "");
else
{
new Float:X, Float:Y, Float:Z, Float:Angle;
if(IsPlayerInAnyVehicle(ID))GetVehiclePos(GetPlayerVehicleID(ID), X, Y, Z), GetVehicleZAngle(GetPlayerVehicleID(ID), Angle);
else GetPlayerPos(ID, X, Y, Z), GetPlayerFacingAngle(playerid, Angle);
if(IsPlayerInAnyVehicle(playerid))SetVehiclePos(GetPlayerVehicleID(playerid), X+1.0, Y+1.0, Z), SetVehicleZAngle(GetPlayerVehicleID(playerid), Angle);
else SetPlayerPos(playerid, X+1.0, Y+1.0, Z), SetPlayerFacingAngle(playerid, Angle);
}
return true;
}
CMD:get(playerid, params[])
{
new ID;
if(sscanf(params, "u", ID))
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Įvyko klaida!","Norėdami naudotis funkcija raљykite\n/get {FF0000}[ћaidėjo_id]{FFFFFF}","Gerai", "");
else if(IsPlayerConnected(ID) == 0)
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Įvyko klaida!","Nurodėte neteisingą ћaidėjo ID numerį arba jis\ngalėjo atsijungti iљ ћaidimo. Mėginkite kiek\nvėliau.","Gerai", "");
else
{
new Float:X, Float:Y, Float:Z, Float:Angle;
if(IsPlayerInAnyVehicle(ID))GetPlayerPos(playerid,X,Y,Z);
else GetPlayerPos(playerid,X,Y,Z);
if(IsPlayerInAnyVehicle(playerid))SetVehiclePos(GetPlayerVehicleID(playerid), X+1.0, Y+1.0, Z), SetVehicleZAngle(GetPlayerVehicleID(playerid), Angle);
else GetPlayerPos(playerid,X,Y,Z);
}
return true;
}
CMD:jetpack(playerid, params[])
{
if(vyradmin[playerid])
{
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Administratoriaus veiksmai","Gavote JetPack.","Gerai", "");
}
return 1;
}
CMD:gun(playerid, params[])
{
if(vyradmin[playerid])
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Administratorių ginklai:","AK-47\nM4\nMicro SMG\nMP5\nTec9\nSniper Rifle\nShotgun\nSawn-off Shotgun\nCombat Shotgun\n9mm\nSilenced 9mm\nDesert Eagle","Rinktis","Atљaukti");
}
return 1;
}
//=================================Stock========================================
stock PlayerName(id)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(id, name, MAX_PLAYER_NAME);
return name;
}
Hope you learned a thing or two.