01.09.2014, 14:51
I want to make teams with /st and when i enter i can switch between with arrows left and right
My curret script
My curret script
pawn Код:
new PAccount[MAX_PLAYERS];//Account saved or not
enum pInfo
{
pPass[64],//Player saved password
pAdmin,
pMoney,//PlayerMoneys
pScore,//Score
pTeam,//Team
pClass,//Class
}
GameTextForPlayer(playerid,"~g~Welcome to ~r~Russia ~g~vs ~b~Ukraine",5000,4);
SendClientMessage(playerid,0xFFFFFFFF,"{FF0000}Welcome {FFFFFF}to Russia vs Ukraine!\n{FFFFFF}Type {FF0000}/help {FFFFFF}for help :)");
SendClientMessage(playerid, COLOR_YELLOW, "Click Spawn to spawn to your previous team and class");
SendClientMessage(playerid,COLOR_RED,"For your account security use strong passwords");
new playername[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof string,"%s has joined the server. Welcome!",playername);
SendClientMessageToAll(0xFFFFFFAA,string);
format(string,sizeof(string),"players/%s.ini", playername);
if(fexist(string))
{
PAccount[playerid] = 1;
}
else
{
PAccount[playerid] = 0;
}
if(PAccount[playerid] == 1)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{FF0000}Login","{FFFFFF}Hello!\nYour account registred in server\nPlease,type your password below:","OK","Exit");
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{00FF00}Register","{FFFFFF}Hello!\nYour account not registred!\nType password below:","OK","Exit");
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Player[playerid][pTeam] <= 0)
{
SPD(playerid,4,DSL,"{FFFFFF}Select your team","{0000FF}Ukraine\n{FF0000}Russia","Select","");
SendClientMessage(playerid,0xFF000000,"Your team select saved, to change your team,type /changeteam!");
ShowPlayerMarkers(1);
GangZoneShowForAll(GZ_ZONE1, 0x0080FF96);
GangZoneShowForAll(GZ_ZONE2, 0xFF000096);
}
SavePlayer(playerid);
if(Player[playerid][pTeam] == 1)
{
SetPlayerPos(playerid,-250.8406,2598.8433,62.8582);
SetPlayerColor(playerid,0x0000FFFF);
SetPlayerTeam(playerid,1);
PlayerTextDrawShow(playerid,UkraineTextdraw[playerid]);
{
switch(random(4)) // генерируем число от 0 до 3 (включая)
{
case 0: SetPlayerSkin(playerid,124);
case 1: SetPlayerSkin(playerid,125);
case 2: SetPlayerSkin(playerid,126);
case 3: SetPlayerSkin(playerid,127);
}
}
}
if(Player[playerid][pTeam] == 2)
{
SetPlayerPos(playerid,-149.9057,1079.6403,19.7422);
SetPlayerColor(playerid,0xFF0000FF);
ShowPlayerMarkers(1);
GangZoneShowForAll(GZ_ZONE1, 0x0080FF96);
GangZoneShowForAll(GZ_ZONE2, 0xFF000096);
SetPlayerTeam(playerid,2);
PlayerTextDrawShow(playerid,RussiaTextdraw[playerid]);
{
public OnPlayerDisconnect(playerid,reason)
{
new
string[64],
name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
switch(reason)
{
case 0: format(string,sizeof string,"%s left the server. (Crashed)",name);
case 1: format(string,sizeof string,"%s left the server. (Left)",name);
case 2: format(string,sizeof string,"%s left the server. (Kicked/Banned)",name);
}
SendClientMessageToAll(0xFFFFFFAA,string);
SavePlayer(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{FF0000}Login","{FFFFFF}Hello!\nYour account registred in server\nPlease,type your password below:","OK","Exit");// Показываем диалог входа в игру.
return 1;
}
new pass[64];
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerLogin(playerid,pass);
}
else
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{FF0000}Login","{FFFFFF}Hello!\nYour account registred in server\nPlease,type your password below:","OK","Exit");// Показываем диалог входа в игру.
}
}
if(dialogid == 2)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{00FF00}Register","{FFFFFF}Hello!\nYour account not registred!\nType password below:","OK","Exit");// Показываем диалог регистрации.
return 1;
}
new pass[64];
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerRegister(playerid,pass);
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{00FF00}Register","{FFFFFF}Hello!\nYour account not registred!\nType password below:","OK","Exit");// Показываем диалог регистрации.
}
}
if(dialogid == 3)
{
if(response)
{
switch(listitem)
{
case 0:
{
if((Player[playerid][pScore] >= 50))
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: You pick sniper!To change class,type /changeclass.");
Player[playerid][pClass] = 1;
SpawnPlayer(playerid);
if(Player[playerid][pTeam] >= 1)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0x0000FFFF);
SetPlayerArmour(playerid, 50);
GivePlayerWeapon(playerid,4,1);
GivePlayerWeapon(playerid,23,200);
GivePlayerWeapon(playerid,34,100);
SetPlayerTeam(playerid,1);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Sniper[playerid]);
}
if(Player[playerid][pTeam] >= 2)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0xFF0000FF);
SetPlayerArmour(playerid, 50);
GivePlayerWeapon(playerid,4,1);
GivePlayerWeapon(playerid,23,200);
GivePlayerWeapon(playerid,34,100);
SetPlayerTeam(playerid,2);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Sniper[playerid]);
}
}
}
case 1:
{
if((GetPlayerScore(playerid) >= 75))
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: You pick Enginner!To change class,type /changeclass.");
Player[playerid][pClass] = 2;
SpawnPlayer(playerid);
if(Player[playerid][pTeam] >= 1)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0x0000FFFF);
SetPlayerArmour(playerid, 75);
GivePlayerWeapon(playerid,16,2);
GivePlayerWeapon(playerid,29,200);
GivePlayerWeapon(playerid,35,2);
SetPlayerTeam(playerid,1);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Enginner[playerid]);
}
if(Player[playerid][pTeam] >= 2)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0xFF0000FF);
SetPlayerArmour(playerid, 75);
GivePlayerWeapon(playerid,16,2);
GivePlayerWeapon(playerid,29,200);
GivePlayerWeapon(playerid,35,2);
SetPlayerTeam(playerid,2);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Enginner[playerid]);
}
}
}
case 2:
{
if((GetPlayerScore(playerid) >= 100))
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: You pick Soldier!To change class,type /changeclass.");
Player[playerid][pClass] = 3;
SpawnPlayer(playerid);
if(Player[playerid][pTeam] >= 1)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0x0000FFFF);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid,27,200);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,31,500);
SetPlayerTeam(playerid,1);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Soldier[playerid]);
}
if(Player[playerid][pTeam] >= 2)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0xFF0000FF);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid,29,200);
GivePlayerWeapon(playerid,24,50);
GivePlayerWeapon(playerid,17,2);
SetPlayerTeam(playerid,2);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Soldier[playerid]);
}
}
}
case 3:
{
if((GetPlayerScore(playerid) >= 0))
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: You pick Rookie!To change class,type /changeclass.");
Player[playerid][pClass] = 4;
SpawnPlayer(playerid);
if(Player[playerid][pTeam] >= 1)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0x0000FFFF);
SetPlayerArmour(playerid, 25);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,46,1);
GivePlayerWeapon(playerid,16,5);
GivePlayerWeapon(playerid,28,300);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Rookie[playerid]);
}
if(Player[playerid][pTeam] >= 2)
{
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,0xFF0000FF);
SetPlayerArmour(playerid, 25);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,46,1);
GivePlayerWeapon(playerid,16,5);
GivePlayerWeapon(playerid,28,300);
SetPlayerTeam(playerid,2);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawHide(playerid,Sniper[playerid]);
PlayerTextDrawHide(playerid,Enginner[playerid]);
PlayerTextDrawHide(playerid,Soldier[playerid]);
PlayerTextDrawHide(playerid,Rookie[playerid]);
PlayerTextDrawShow(playerid,Rookie[playerid]);
}
}
}
}
}
}
if(dialogid == 4)
{
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: Auto pick(Rookie)!To change class,type /changeclass.");
Player[playerid][pTeam] = 1;
SetPlayerColor(playerid,0x0000FF00);
SpawnPlayer(playerid);
}
case 1:
{
SendClientMessage(playerid,0xFFFFFF00,"Class manager: Auto pick(Rookie)!To change class,type /changeclass.");
Player[playerid][pTeam] = 2;
SetPlayerColor(playerid,0xFF000000);
SpawnPlayer(playerid);
}
}
}
}
if(dialogid == 5)
{
if(response)
{
switch(listitem)
{
case 0:
{
SpawnPlayer(playerid);
SendClientMessage(playerid,0xFFFFFF00,"Team manager: Your selected team {0000FF}Ukraine{FFFFFF}!To change class,type /changeteam.");
Player[playerid][pTeam] = 1;
SetPlayerTeam(playerid,1);
PlayerTextDrawHide(playerid,RussiaTextdraw[playerid]);
PlayerTextDrawShow(playerid,UkraineTextdraw[playerid]);
}
case 1:
{
SpawnPlayer(playerid);
SendClientMessage(playerid,0xFFFFFF00,"Team manager: Your selected team {FF0000}Russia{FFFFFF}!To change class,type /changeteam.");
Player[playerid][pTeam] = 2;
SetPlayerTeam(playerid,2);
PlayerTextDrawHide(playerid,UkraineTextdraw[playerid]);
PlayerTextDrawShow(playerid,RussiaTextdraw[playerid]);
}
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
stock SavePlayer(playerid)
{
new string[64];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "players/%s.ini", playername);
new iniFile = ini_openFile(string);//
ini_setString(iniFile,"Pass",Player[playerid][pPass]);//
ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);//
ini_getInteger(iniFile,"Money",Player[playerid][pMoney]);//
ini_setInteger(iniFile,"Score",Player[playerid][pScore]);//
ini_setInteger(iniFile,"Team",Player[playerid][pTeam]);//
ini_setInteger(iniFile,"Class",Player[playerid][pClass]);//
ini_closeFile(iniFile);
}
forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])//
{
if(IsPlayerConnected(playerid))//
{
new string[64];//
new playername[MAX_PLAYER_NAME];//
GetPlayerName(playerid, playername, sizeof(playername));
format(string,sizeof(string), "players/%s.ini", playername);
new iniFile = ini_createFile(string);
if(iniFile < 0)
{
iniFile = ini_openFile(string);
}
if(iniFile >= 0)
{
strmid(Player[playerid][pPass],password,0,strlen(password),255);
ini_setString(iniFile,"Pass",Player[playerid][pPass]);
ini_setInteger(iniFile,"Admin",0);
ini_setInteger(iniFile,"Money",5000);
ini_setInteger(iniFile,"Score",0);
ini_setInteger(iniFile,"Team",0);
ini_setInteger(iniFile,"Class",4);
ini_closeFile(iniFile);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{FF0000}Login","{FFFFFF}Hello!\nYour account registeRussia in server\nPlease,type your password below:","OK","Exit");
}
SpawnPlayer(playerid);
}
return 1;
}
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))
{
new string[64];
new pass[64];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string,sizeof(string), "players/%s.ini", playername);
new iniFile = ini_openFile(string);
ini_getString(iniFile,"Pass",pass,64);
ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_getInteger(iniFile,"Money",Player[playerid][pMoney]);
ini_getInteger(iniFile,"Score",Player[playerid][pScore]);
ini_getInteger(iniFile,"Team",Player[playerid][pTeam]);
ini_getInteger(iniFile,"Class",Player[playerid][pClass]);
GivePlayerMoney(playerid,Player[playerid][pMoney]);
SetPlayerScore(playerid,Player[playerid][pScore]);
if(strcmp(pass,password,true) == 0)
{
ini_getString(iniFile,"Pass",Player[playerid][pPass],64);
ini_closeFile(iniFile);
}
else
{
ini_closeFile(iniFile);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{FF0000}Login","{FFFFFF}Hello!\nYour account registeRussia in server\nPlease,type your {00FF00}correctly {FFFFFF}password below:","OK","Exit");
return 1;
}
SpawnPlayer(playerid);
}
return 1;
}