All pastes #493354 Raw Edit

Someone

public cpp v1 · immutable
·published 2007-05-17 18:41 UTC
rendered paste body
//include#include <a_samp>#include <float>#include <core>#include <file>#include <dudb>#include <dini>static gTeam[MAX_PLAYERS];new gPlayerClass[MAX_PLAYERS];new logged[MAX_PLAYERS];new zlehaslo[MAX_PLAYERS];new logintimeout[MAX_PLAYERS];new giveplayer[MAX_PLAYER_NAME];new sendername[MAX_PLAYER_NAME];#define FILE_TOTALSTAT "totalstat.ini"//------------dcmd--------------#define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1new gRoundTime = 3600000; // 60 minutnew savePos;new giveplayerid;	//--TEAM--------------------------#define TEAM_GROVE 0#define TEAM_GROVE_COLOR 0x0080FFFF#define TEAM_BALLAS 1#define TEAM_BALLAS_COLOR 0x9E3DFFAA#define TEAM_VAGOS 2#define TEAM_VAGOS_COLOR 0xFFD700AA#define TEAM_AZTECAS 3#define TEAM_AZTECAS_COLOR 0x00CED3AA//kolory#define COLOR_GREEN 0x33AA33AA#define COLOR_GREY 0xAFAFAFAA#define FIOLETOWY 0x9E3DFFAA#define COLOR_LIGHTBLUE 0x0000FFAA#define BEZOWY 0xFFFFADAA#define BIALY 0xFFFFFFAA#define BLEKITNY 0x00FFFFAA#define BORDOWY 0x99001FAA#define BRAZOWY 0x997A00AA#define CIEMNY_ZIELONY 0x336633AA#define CZARNY 0x000000AA#define CZERWONY 0xFF0000AA#define FIOLETOWY 0x9E3DFFAA#define NIEBIESKI 0x0000FFAA#define POMARANCZOWY 0xFF8000AA#define ROZOWY 0xFF66CCAA#define SZARY 0xB0B0B0AA#define ZIELONY 0x00CC00AA#define ZOLTY 0xFFFF00AA#define MAX_SAVE 64new savedNames[MAX_SAVE][1];new savedMoney[MAX_SAVE][1];new savedScore[MAX_SAVE][1];////-----------------------------------------------------------------------------main(){	print("\n----------------------------------");	print("  LS Gang War Beta        "            );	print("----------------------------------\n");}public OnGameModeInit(){	print("GameModeInit(LS Gang war 0.1)");	SetGameModeText("LS Gang War 0.1");SetTimer("GameModeExitFunc", gRoundTime, 0);//Skiny//plaerys AddPlayerClass(107,2495.2207,-1687.3169,13.5152,351.7600,0,0,29,650,22,260); // Grove	AddPlayerClass(106,2495.2207,-1687.3169,13.5152,351.7600,0,0,29,650,22,260); // Grove	AddPlayerClass(105,2495.2207,-1687.3169,13.5152,351.7600,0,0,29,650,22,260); // Grove	AddPlayerClass(195,2495.2207,-1687.3169,13.5152,351.7600,0,0,29,650,22,260); // Grove	AddPlayerClass(102,832.2958,-1080.4476,24.2969,184.2249,4,0,25,320,32,550); // Ballas 1	AddPlayerClass(103,832.2958,-1080.4476,24.2969,184.2249,4,0,25,320,32,550); // Ballas 2	AddPlayerClass(104,832.2958,-1080.4476,24.2969,184.2249,4,0,25,320,32,550); // Ballas 3	AddPlayerClass(110,2459.0442,-949.4450,80.0800,180.7668,4,0,28,600,27,160); // Vagos	AddPlayerClass(109,2459.0442,-949.4450,80.0800,180.7668,4,0,28,600,27,160); // Vagos	AddPlayerClass(108,2459.0442,-949.4450,80.0800,180.7668,4,0,28,600,27,160); // Vagos	AddPlayerClass(114,1761.7893,-1892.7225,13.5551,269.0211,22,280,29,545,25,180); // Aztecas	AddPlayerClass(115,1761.7893,-1892.7225,13.5551,269.0211,22,280,29,545,25,180); // Aztecas	AddPlayerClass(116,1761.7893,-1892.7225,13.5551,269.0211,22,280,29,545,25,180); // Aztecas	//samochody //TEAM BALLAS	AddStaticVehicle(566,1884.9437,-1266.3868,13.2813,94.9774,95,1);AddStaticVehicle(566,1854.9448,-1210.8865,20.1397,0.8816,83,1);AddStaticVehicle(566,1967.0892,-1219.9951,24.9483,182.0590,83,1);AddStaticVehicle(481,1991.1158,-1230.2188,19.9276,130.2759,3,3); AddStaticVehicle(481,1883.8904,-1253.2983,13.0437,88.8027,6,6); 	return 1;}public OnPlayerConnect(playerid){GameTextForPlayer(playerid,"Los santos: ~r~Gang War",2500,5);SendClientMessage(playerid,ZOLTY,"Witaj na serverze LS Gang War jezeli chcesz uzyskac pomoc wpisz /pomoc");GivePlayerMoney(playerid, 1000);  SetPlayerColor(playerid, COLOR_GREY); // Color na poczatku  if(gTeam[playerid] == TEAM_GROVE) {  SetPlayerColor(playerid, SZARY);	for(new i = 0; i < MAX_SAVE; i++) {  if(isStringSame(savedNames[i], ReturnPlayerName(playerid), MAX_PLAYER_NAME))  {			StatGivePlayerMoney(playerid, savedMoney[i][0]);		      SetPlayerScore(playerid, savedScore[i][0]);      		        	     			savedScore[i][0]=0;   savedMoney[i][0]=0;     SendClientMessage(playerid, POMARANCZOWY, "Twoje pieni&#261;dze i punkty zosta&#322;y przywrócone!");		}	}	new playername[MAX_PLAYER_NAME];  GetPlayerName(playerid, playername[playerid], MAX_PLAYER_NAME);  if (dini_Exists(udb_encode(playername[playerid])))  {SendClientMessage(playerid,CZERWONY,"Twoj nick jest zarejstrowany jesli nie zalogujesz sie w ciagu 20 sekund zostaniesz wyrzucony!");  logintimeout[playerid] = SetTimer("LoginTimeout", 20000, 0);  new bmp[256];   bmp=dini_Get(udb_encode(playername),"kasa");  } else {          SendClientMessage(playerid, ZIELONY, "* Witamy, mo&#380;esz si&#281; zarejestrowa&#263; komend&#261;: /register [has&#322;o]");          logged[playerid] = 1;         }	}} public OnGameModeExit(){	print("GameModeExit()");	return 1;}public zapisz(playerid){new string[256];new playername[MAX_PLAYER_NAME];GetPlayerName(playerid, playername, MAX_PLAYER_NAME); if (dini_Exists(udb_encode(playername))) {		  dini_IntSet(udb_encode(playername),"kasa",GetPlayerMoney(playerid));			  	  	  } else {			format(string, sizeof(string), "* %s nie ma takiego konta.", playername);			SendClientMessage(playerid, CZERWONY, string);		} return 1;}//---------------------------------------------------------------------------------------//------------------------------------------------------------------------------------------------------public OnPlayerRequestClass(playerid, classid){	SetPlayerClass(playerid, classid);	SetupPlayerForClassSelection(playerid);	gPlayerClass[playerid] = classid;	switch (classid) {	    case 0,1,2:	        {   GameTextForPlayer(playerid, "~g~GROVE", 500, 3);   SetPlayerInterior(playerid,0);   SetPlayerPos(playerid,2495.2227,-1686.6245,13.5142);   SetPlayerFacingAngle(playerid, 70.0);   SetPlayerCameraPos(playerid,2494.6362,-1679.8091,13.3386);   SetPlayerCameraLookAt(playerid,2494.6362,-1579.8091,13.3386);       }  case 3,4,5:{  GameTextForPlayer(playerid, "~p~BALLAS", 500, 3);	}	case 6,7,8:	{	 GameTextForPlayer(playerid, "~y~VAGOS", 500, 3);	}	case 9,10,11:	{	GameTextForPlayer(playerid, "~b~AZTECAS", 500, 3);	} }	        return 1;}//----------------------------------------------------------------------------------------public OnPlayerDisconnect(playerid){{ format(savedNames[savePos], MAX_PLAYER_NAME, "%s",ReturnPlayerName(playerid));  savedMoney[savePos][0] = GetPlayerMoney(playerid);	 savedScore[savePos][0] = GetPlayerScore(playerid); 			savePos++;		if(savePos >= MAX_SAVE)  savePos = 0;zapisz(playerid);  } return 1; }//----------------------------------------------------------------------------------------public LoginTimeout(){   for (new i=0;i<MAX_PLAYERS;i++)   { 		 if (logged[i] == 0 && GetPlayerState(i) != PLAYER_STATE_NONE)    {     KickMsg(i, "Ochrona!", "Czas na zalogowanie si&#281; sko&#324;czy&#322;!");    }   }}//-------------------------------------------------------------------------------------------public OnPlayerSpawn(playerid)	{	SetPlayerInterior(playerid,0);	if(gTeam[playerid] == TEAM_GROVE) {	SetPlayerColor(playerid,COLOR_GREEN);// Green	 GivePlayerWeapon(playerid,26,100);		}	else if(gTeam[playerid]==TEAM_BALLAS) {		SetPlayerColor(playerid,FIOLETOWY);		}	else if (gTeam[playerid]==TEAM_VAGOS) {	SetPlayerColor(playerid,ZOLTY);	}else if (gTeam[playerid]==TEAM_VAGOS) {	SetPlayerColor(playerid,COLOR_LIGHTBLUE);		}	return 1;}//-------------------------------------------------------------------------------------------public OnPlayerDeath(playerid, killerid, reason){   new killerstate=GetPlayerState(killerid);	new killedScore=GetPlayerScore(playerid); GameTextForPlayer(playerid,"~w~WASTED",3000,2);//self kill    	  if(killerid == INVALID_PLAYER_ID)   {    SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);    ResetPlayerMoney(playerid);SetPlayerScore(playerid, killedScore-1);   	  }        else {	    // Valid kill	    SendDeathMessage(killerid,playerid,reason);            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);            GivePlayerMoney(killerid, 1000);          }//team kill if(gTeam[killerid] != gTeam[playerid]) {		new warning[256];		format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");		SendClientMessage(killerid, 0xFFFF00AA, warning);		SendDeathMessage(killerid,playerid,reason);		GivePlayerMoney(killerid, -1000);		SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);}//DBif((IsPlayerInAnyVehicle(killerid) && !IsPlayerInAnyVehicle(playerid) && killerstate == PLAYER_STATE_DRIVER && reason != WEAPON_VEHICLE)) {	new warning[256];		format(warning, sizeof(warning), "Bez DB.");		SendClientMessage(killerid, 0xFFFF00AA, warning);		SendDeathMessage(killerid,playerid,reason);		GivePlayerMoney(killerid, -1000);		SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);		}        if (dini_Exists(udb_encode(Killer(killerid))))        {        new tmp[256];         tmp = dini_Get(udb_encode(Killer(killerid)), "zabojstw");			         dini_IntSet(udb_encode(Killer(killerid)), "zabojstw", strval(tmp)+1);               if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);          tmp = dini_Get(FILE_TOTALSTAT, "zabojstwa");		           dini_IntSet(FILE_TOTALSTAT, "zabojstwa", strval(tmp)+1);}return 1;}//------------------------------------------------------------------------------public StatGivePlayerMoney(playerid, amount){new tmp[256];{if (IsPlayerConnected(playerid))if (GetPlayerMoney(playerid)+amount<=50000000){GivePlayerMoney(playerid,amount);if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);if (amount > 0)tmp=dini_Get(FILE_TOTALSTAT,"pieniadzezdobyte");dini_IntSet(FILE_TOTALSTAT,"pieniadzezdobyte",strval(tmp)+amount);} else {			          tmp = dini_Get(FILE_TOTALSTAT, "pieniadzestracone");				            dini_IntSet(FILE_TOTALSTAT, "pieniadzestracone", strval(tmp)-amount);}     else {		    SendClientMessage(playerid, CZERWONY, "* Uwaga!!! Masz maximum pieni&#281;dzy. Nie mo&#380;esz mie&#263; ich wi&#281;cej przy sobie!");		    SendClientMessage(playerid, CZERWONY, "* Udaj si&#281; do banku, aby wp&#322;aci&#263; pieni&#261;dze na konto. Banki s&#261; w sklepach 24/7");		    return 0;		}  }  return 1;  }//---------------------------------------------------------------------------------public OnVehicleSpawn(vehicleid){	printf("OnVehicleSpawn(%d)", vehicleid);	return 1;}//---------------------------------------------------------------------------------public OnVehicleDeath(vehicleid, killerid){	printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);	return 1;}//---------------------------------------------------------------------------------------------public OnPlayerText(playerid,text[]){//TEAM CHAT if(text[0] == '!') {    new name[24], string[256];    GetPlayerName(playerid, name, 24);    format(string, sizeof(string), "[TC] %s: %s", name, text[1]);    for(new i = 0; i < MAX_PLAYERS; i++)    {      if(IsPlayerConnected(i))      {        if(gTeam[i] == gTeam[playerid])        SendClientMessage(i, COLOR_LIGHTBLUE, string);      }    }  return 0; }return 1;} //------------------------------------------------------------------------------------public OnPlayerCommandText(playerid, cmdtext[]){	dcmd(register,    8, cmdtext);	dcmd(login,       5, cmdtext);	dcmd(pomoc,       5, cmdtext);	dcmd(givecash,       8, cmdtext);return SendClientMessage(playerid, CZERWONY, "SERVER: Nie ma takiej komendy!");}	dcmd_register(playerid, cmdtext[]){	{new tmp[256];new tmp2[256];new idx;new playername[MAX_PLAYERS];new string[256];	{	tmp2=dini_Get(FILE_TOTALSTAT,"Gracze");	tmp=strtok(cmdtext,idx);	    		GetPlayerName(playerid, playername, sizeof(playername));	    		if (20<strlen(tmp)||strlen(tmp)<5)	    		{ 	    		SendClientMessage(playerid,CZERWONY,"Haslo musi miec 5 liter ale nie wiecej niz 20");	return 1;		} if(!strlen(tmp)) { SendClientMessage(playerid,CZERWONY,"Wpisz:/register[haslo] aby sie zarejstrowac");}if (!dini_Exists(udb_encode(playername))){dini_Create(udb_encode(playername));dini_IntSet(udb_encode(playername), "haslo", udb_hash(tmp));if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);            tmp2 = dini_Get(FILE_TOTALSTAT, "users");                dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)+1);            				   dini_Set(FILE_TOTALSTAT, "lastuser", playername);		format(string, sizeof(string), "* %s (id: %d) utworzy&#322;e&#347;/a&#347; nowe konto. Twoje has&#322;o to: >>> %s <<< Zapami&#281;taj je!!!", playername, playerid, tmp);				SendClientMessage(playerid, ZIELONY, string);			}			else {				format(string, sizeof(string), "* %s jest ju&#380; zarejestrowany.", playername,tmp);				SendClientMessage(playerid, CZERWONY, string);			}	    return 1;	}	}	}//------------------------------------------------------------------------------	dcmd_login(playerid, cmdtext[]){new tmp[256];new tmp2[256];new idx;new playername[MAX_PLAYERS];new string[256];	tmp=strtok(cmdtext,idx);	GetPlayerName(playerid,playername,sizeof(playername));	if(!strlen(tmp))	{	SendClientMessage(playerid,CZERWONY,"Wpisz:/login [haslo]");	}	if (dini_Exists(udb_encode(playername))){if (logged[playerid]== 1){  SendClientMessage(playerid, CZERWONY, "* Jeste&#347; ju&#380; zalogowany!");				   } else {				   tmp2=dini_Get(udb_encode(playername),"haslo");				   }								   if (udb_hash(tmp) != strval(tmp2)){				        format(string, sizeof(string), "* %s (id: %d) wpisa&#322;e&#347; z&#322;e has&#322;o: %s.", playername, playerid, tmp);						         printf(string);			    	      	SendClientMessage(playerid, CZERWONY, "* Poda&#322;e&#347; z&#322;e has&#322;o.");			    	      	GameTextForPlayer(playerid, "~r~Zle haslo!", 3000, 5);  			    	 	   zlehaslo[playerid]++; 		            if (zlehaslo[playerid] >= 5) KickMsg(playerid, "Ochrona", "Za du&#380;o prób!");}	else { logged[playerid] = 1;					                 KillTimer(logintimeout[playerid]);						logged[playerid] = 1;						format(string, sizeof(string), "--- %s (id: %d) zalogowany . haslo: %s.", playername, playerid, tmp);						printf(string);						SendClientMessage(playerid, COLOR_GREEN, "* JEstes zalogowany!");					}									 }return 1;}//------------------------------------------------------------------------------dcmd_pomoc(playerid,cmdtext[])  {#pragma unused cmdtext		SendClientMessage(playerid, ZOLTY,"Witaj na LS Gang War aby zobaczyc liste komend wpisz /komendy");			return 1;	}	 dcmd_givecash(playerid, cmdtext[]){  new idx;  new string[256];  new tmp[256];  new playermoney;  new moneys;		tmp = strtok(cmdtext, idx);		if(!strlen(tmp))  {			SendClientMessage(playerid, BIALY, "* WPISZ: /givecash [idgracza] [kwota]");			return 1;		}		giveplayerid = strval(tmp);		tmp = strtok(cmdtext, idx);		if(!strlen(tmp))  {			SendClientMessage(playerid, BIALY, "* WPISZ: /givecash [idgracza] [kwota]");			return 1;		}		moneys = strval(tmp);		if (IsPlayerConnected(giveplayerid))  {			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));			GetPlayerName(playerid, sendername, sizeof(sendername));			playermoney = GetPlayerMoney(playerid);		 if (giveplayerid == playerid) {				SendClientMessage(playerid, CZERWONY, "* Nie mo&#380;esz wys&#322;a&#263; sobie pieni&#281;dzy!");				return 1;			}			if (moneys > 0 && playermoney >= moneys)   {				StatGivePlayerMoney(playerid, (0 - moneys));				StatGivePlayerMoney(giveplayerid, moneys);				format(string, sizeof(string), "* Odda&#322;e&#347;/a&#347; graczowi %s (id: %d), $%d pieni&#281;dzy.", giveplayer,giveplayerid, moneys);				SendClientMessage(playerid, ZOLTY, string);				format(string, sizeof(string), "* Otrzyma&#322;e&#347;/a&#347; $%d pieni&#281;dzy od gracza %s (id: %d).", moneys, sendername, playerid);				SendClientMessage(giveplayerid, ZIELONY, string);  	} else {	      SendClientMessage(playerid, CZERWONY, "* Nieprawid&#322;owa kwota transakcji.");   }  } else {				      format(string, sizeof(string), "* %d nie ma takiego gracza!", giveplayerid);			      	SendClientMessage(playerid, CZERWONY, string);  } return 1;}//------------------------------------------------------------------------------public KickMsg(playerid, kickername[], reason[]){new string[256];	new tmp[256];	new playername[MAX_PLAYER_NAME];		format(string, sizeof(string), "*** %s (id: %d) zosta&#322;/&#322;a wyrzucony/na przez administratora: %s. Powód: %s ***", playername, playerid, kickername, reason);GetPlayerName(playerid,playername,sizeof(playername));printf(string);	SendClientMessageToAll(CZERWONY, string);	Kick(playerid);	tmp=dini_Get(FILE_TOTALSTAT,"kicki");		dini_IntSet(FILE_TOTALSTAT, "kicki", strval(tmp)+1);return 1;}//------------------------------------------------------------------------------public SavedUpdate(){	for(new i = 0; i < MAX_SAVE; i++) {				savedScore[i][0] = 0;    savedMoney[i][0] = 0;				savedNames[i][0] = 0;	  	}}//------------------------------------------------------------------------------public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){	printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);	return 1;}public OnPlayerExitVehicle(playerid, vehicleid){	printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);	return 1;}public OnPlayerEnterCheckpoint(playerid){	printf("OnPlayerEnterCheckpoint(%d)", playerid);	return 1;}public SetupPlayerForClassSelection(playerid){	SetPlayerInterior(playerid,14);	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);	SetPlayerFacingAngle(playerid, 90.0);	SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);}//-----------------------------------------------------------------------------public OnPlayerLeaveCheckpoint(playerid){	printf("OnPlayerLeaveCheckpoint(%d)", playerid);	return 1;}public PlayerName(playerid){	new Name[MAX_PLAYER_NAME];	GetPlayerName(playerid, Name, sizeof(Name));	return Name;}public LogIn(playerid){	logged[playerid]=1;	return 1;}isStringSame(const string1[], const string2[], len) {for(new i = 0; i < len; i++) {    if(string1[i]!=string2[i])        return 0;    if(string1[i] == 0 || string1[i] == '\n')        return 1;    }    return 1;}public ReturnPlayerName(playerid) //By Alex "Y_Less" Cole{	new pname[MAX_PLAYER_NAME];	GetPlayerName(playerid, pname, sizeof (pname));	return pname;}public Killer(killerid){new killer[MAX_PLAYER_NAME];GetPlayerName(killerid, killer, sizeof(killer)); return killer;}//--------------------------------------------------------------------------------//-------------------------------------------------------------------------------SetPlayerClass(playerid, classid){	if(classid == 0) {	 gTeam[playerid] = TEAM_GROVE;	 	}else if(classid==1){gTeam[playerid] = TEAM_BALLAS;}else if(classid==2){gTeam[playerid] = TEAM_VAGOS;}else if(classid==3){gTeam[playerid] = TEAM_AZTECAS;}}