Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- FriendSystem by 8D.
- */
- #include <a_samp>
- #define MAX_PLAYER_FRIENDS 25 // Diese Zahl bestimmt, wieviele Freunde ein Spieler haben darf.
- #define COLOR_RED 0xCC0000AA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- new Freunde[MAX_PLAYERS][MAX_PLAYER_FRIENDS][MAX_PLAYER_NAME];
- new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
- new string[256];
- stock Freund_Connect(playerid)
- {
- GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- strmid(Freunde[playerid][f],"0",0,1);
- }
- }
- stock Freund_Login(playerid)
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- if(GetIdByName(Freunde[playerid][f]) != -1)
- {
- format(string,128,"Dein Freund %s hat den Server betreten.",PlayerName[playerid]);
- SendClientMessage(GetIdByName(Freunde[playerid][f]),COLOR_LIGHTGREEN,string);
- }
- }
- }
- }
- stock Freund_Logout(playerid)
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- if(GetIdByName(Freunde[playerid][f]) != -1)
- {
- format(string,128,"Dein Freund %s hat den Server verlassen.",PlayerName[playerid]);
- SendClientMessage(GetIdByName(Freunde[playerid][f]),COLOR_LIGHTGREEN,string);
- }
- }
- }
- }
- stock AddFriend(playerid,name[])
- {
- if(!IsPlayerAlreadyAFriend(playerid,name))
- {
- if(GetIdByName(name) != -1)
- {
- if(playerid != GetIdByName(name))
- {
- if(CheckFirstFreeSlot(playerid) != -1)
- {
- strmid(Freunde[playerid][CheckFirstFreeSlot(playerid)],name,0,strlen(name));
- format(string,128,"Du hast %s zu deiner Freundesliste hinzugefügt!",name);
- SendClientMessage(playerid,COLOR_GREEN,string);
- }
- else SendClientMessage(playerid,COLOR_RED,"Du hast keinen Platz mehr für weitere Freunde!");
- }
- }
- else SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht auf dem Server!");
- }
- else SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist schon in deiner Freundesliste!");
- }
- stock DeleteFriend(playerid,name[])
- {
- if(IsPlayerAlreadyAFriend(playerid,name))
- {
- if(CheckSlotByName(playerid,name) != -1)
- {
- strmid(Freunde[playerid][CheckSlotByName(playerid,name)],"0",0,1);
- format(string,128,"Du hast %s von deiner Freundesliste gelöscht!",name);
- SendClientMessage(playerid,COLOR_GREEN,string);
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht in deiner Freundesliste!");
- }
- }
- stock DeleteAllFriends(playerid)
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- strmid(Freunde[playerid][f],"0",0,1);
- }
- SendClientMessage(playerid,COLOR_GREEN,"Freundesliste komplett gelöscht!");
- }
- stock ShowFriendListForPlayer(playerid)
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- if(GetIdByName(Freunde[playerid][f]) != -1)
- {
- format(string,128,"%s ist Online!",Freunde[playerid][f]);
- SendClientMessage(playerid,COLOR_GREEN,string);
- }
- else
- {
- format(string,128,"%s ist Offline!",Freunde[playerid][f]);
- SendClientMessage(playerid,COLOR_RED,string);
- }
- }
- }
- }
- stock SendFriendMessage(playerid,message[])
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- if(GetIdByName(Freunde[playerid][f]) != -1)
- {
- format(string,256,"(Freund: %s sagt): %s",PlayerName[playerid],message);
- SendClientMessage(GetIdByName(Freunde[playerid][f]),COLOR_LIGHTGREEN,string);
- }
- }
- }
- format(string,256,"(Freund: %s sagt): %s",PlayerName[playerid],message);
- SendClientMessage(playerid,COLOR_LIGHTGREEN,string);
- }
- stock CheckFirstFreeSlot(playerid)
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(Freunde[playerid][f],"0",true) == 0) return f;
- }
- return -1;
- }
- stock IsPlayerAlreadyAFriend(playerid,name[])
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(name,Freunde[playerid][f],true) == 0 && strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- return 1;
- }
- }
- return 0;
- }
- stock GetIdByName(name[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(strcmp(name,PlayerName[i],true) == 0)
- {
- return i;
- }
- }
- }
- return -1;
- }
- stock CheckSlotByName(playerid,name[])
- {
- if(IsPlayerAlreadyAFriend(playerid,name))
- {
- for(new f = 0; f < MAX_PLAYER_FRIENDS; f++)
- {
- if(strcmp(name,Freunde[playerid][f],true) == 0 && strcmp(Freunde[playerid][f],"0",true) != 0)
- {
- return f;
- }
- }
- }
- return -1;
- }
- stock GetFriendBySlot(playerid,slot)
- {
- new name[MAX_PLAYER_NAME];
- if(strcmp(Freunde[playerid][slot],"0",true) != 0)
- {
- return Freunde[playerid][slot];
- }
- else
- {
- format(name,MAX_PLAYER_NAME,"-1");
- return name;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement