Guten Morgen liebe Community,
ja, ich bin es schon wieder tut mir leid wenn in letzter Zeit ein paar Systeme von mir kommen ![]()
Hier also ein Clan System, was auf Wunsch von PinguinLP gescriptet wurde ![]()
[tabmenu]
[tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
[subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
Also, kommen wir nur zu ein paar Funktionen, ich will diese auch ein wenig erklären, also wird der Text ein wenig länger:
CreateClan(clanname[])
So die Funktion CreateClan erstellt eine Clan mit einem bestimmten Namen !
Dort wird noch keine Person hinzugefügt und nichts !
PS: Maximale Länge des Clan Namens 24
AddPlayerClan(playerid, clanname[], bool:var)
So, ich erkläre mal kurz wie man diese Funktion nutzen könnte anhand von einem Beispiel:
AddPlayerClan(playerid, "Kaliber_ist_cool", true); //Hier wäre playerid jetzt Leader dieses Clans wegen dem true am ende !
AddPlayerClan(playerid, "Kaliber_ist_cool", false); //Hier wäre playerid jetzt ein ganz normaler Member dieses Clans wegen false !
GetClanName(playerid)
Diese Funktion gibt den ClanNamen von dem Spieler wieder.
DeleteClan(name[])
Löscht einen Clan und alle Leute die in diesem Clan sind, fliegen raus.
/////////////////////////////////////////////////////////
In diesem System gibt es auch ein Punkte System, also man kann gegen andere Clans Krieg führen !
Deshalb folgende Befehle:
/clanranglist
Zeigt die 5 besten Clans mit Punktzahl an.
/war
Mit dem Befehl kann der Leader eines Clans gegen einen anderen Clan kämpfen und man kann einstellen wie lange der Krieg gehen soll (max. 60 Minuten).
/aKrieg
Der andere Clan kann den Krieg aktzeptieren und dann kann man folgendes machen:
public OnClanWarStart(clanname1[], clanname2[])
Dieser Callback wird im GameMode aufgerufen und ich gebe mal ein Beispiel, was man da machen könnte:
//So sollte das im GameMode aussehen:
forward OnClanWarStart(clanname1[], clanname2[]);
public OnClanWarStart(clanname1[], clanname2[])
{
for(new i; i<MAX_PLAYERS; i++)
{
if(!strcmp(clanname1, GetClanName(i), false))
{
//Hier wissen wir jetzt, dass sich i in dem Clan 1 befindet
SetPlayerPos(i, 0, 0, 0); //So alle die in Clan 1 sind, werden jetzt zum 0 Punkt teleportiert !
}
}
return 1;
}
Der Punkt ist nämlich der, sobald ein Clan Mitglied während eines Krieges ein generisches Clan Mitglied tötet, bekommt der Clan 1nen Punkt ![]()
Genauso funktioniert der Callback:
public OnClanWarEnd(clanname1[], clanname2[])
[subtab='Wichtig','http://www.rezepte-guru.de/template/images/icon_stern.gif']
Falls ihr in eurem Script strtok nutzt, kann es zu einen Fehler kommen, wenn ihr folgendes nicht macht:
//Nur für die die strtok nutzen
#define USE_STRTOK 1 //vor der Include definieren
#include <clanwar> //Hier erst includen
[subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
Pastebin: Pastebin
Mediafire: Download
[/tabmenu]
So ich würde mich über ein kleines Feedback freuen ![]()
PS: Falls Bugs auftreten sollten, bitte sofort melden.
mfg.
//Edit:
-
Spoiler anzeigen Text
-
Spoiler anzeigen Neue Pastebin Datei, hatte einen Fehler
-
Spoiler anzeigen OnClanWarEnd hinzugefügt (ganz vergessen)