Hier mal ein wenig besser: COMMAND:createclan(playerid, params[]){ new name[32],tag[8],rank[32][6]; SendClientMessage(playerid,-1,"Der Clan-Name sowie die Rank-Namen können 32 Zeichen enthalten! Der Clan-Tag allerdings nur 8!"); if(sscanf(params,"ssssssss",name,tag,rank[0],rank[1],rank[2],rank[3],rank[4],rank[5]))return SendClientMessage(playerid, COLOR_RED, "Benutze /createclan [Clan-Name] [Clan-Tag] [Rank-Name1] [Rank-Name2] [Rank-Name3] [Rank-Name4] [Rank-Name5] [Rank-Name6]"); if(PlayerInfo[playerid][pGeld] < 100000)return SendClientMessage(playerid, COLOR_RED, "Du brauchst $100.000 !"); for(new i = 0; i<6; i++)if(strlen(name) > 32 || strlen(tag) > 8 || strlen(rank[i]) > 32)return SendClientMessage(playerid,-1,"Der Clan-Name sowie die Rank-Namen können 32 Zeichen enthalten! Der Clan-Tag allerdings nur 8!"); CreateClan(name, tag, rank[0],rank[1],rank[2],rank[3],rank[4],rank[5]); return SaveClans(); }
Debugge doch alles, dann findest du den Fehler sicherlich.. Wenn man einen Befehl falsch scriptet ( iein Fehler im Code ist ), dann zeigt er an, dass der Code nicht existiert..
tobialvarez: @Post unten: Änder mal das: stock CreateClan(name[], Tag[], CRank1[], CRank2[], CRank3[], CRank4[], CRank5[], CRank6[]) zu stock CreateClan(name[32], Tag[8], CRank1[32], CRank2[32], CRank3[32], CRank4[32], CRank5[32], CRank6[32]) ... Du verschwendest so unnötige Ressourcen, falls ich nicht falsch informiert bin..
Schon, aber ich wollt halt nicht, dass man bei jedem Filterscript von mir, dass auch was bei einem Spieler speichern muss, dass das dann extra Dateien / bzw eine Datei erstellt, wo dann alles gesaved ist.. Dachte mir, es gefällt euch so besser ..
Ich würde dir raten, es mit 2 Integern zu machen, da es bei den Floats, wie du bereits gehört und gesehen hast, zu ungenau ist..
Und das Ganze mit 2 Integern zu berechnen ist nun auch nicht so schwer.. Mach dir einfach eine Funktion, beispielsweise "GiveCash", womit du dem Spieler immer das Geld gibst, und in der Funktion wird das Geld immer umberechnet... Variable Cent >= 100 ? 》Euro ++ & Cent - 100
Hey, hier mal ein weiteres System aus meinem Script..
Beschreibung Es handelt sich um ein dynamisches Clansystem. Man kann als RCON-Admin Clans erstellen, die dann von Spielern belegt werden können. Die Admins müssen ebenfalls einen Clanleader festlegen, der kann dann wiederum einige Member einladen. Beim Erstellen eines Clans muss der Admin den Clannamen und den Clantag festlegen. Alle Clans können von allen Spielern per '/clans' angeguckt werden. In der Liste stehen dann die Clan-IDs, der Clanname & der Clantag. Ist ein Spieler in einem Clan, wird ihm automatisch hinter dem Namen ein Clantag gesetzt. Mehr dazu -> Selber testen!
Einstellungen im Script /* Settings */ #define MAX_CLANS 50 //Maximale Clans #define C_FILE "/Clans.ini" //Wo die Clans gespeichert werden
#define GetClanID(%0) GetPVarInt(%0,"ClanID") #define GetClanRank(%0) GetPVarInt(%0,"ClanRank") #define SetClanID(%0,%1) SetPVarInt(%0,"ClanID",%1) #define SetClanRank(%0,%1) SetPVarInt(%0,"ClanRank",%1) /* Settings */ Die Funktionen GetClanID / GetClanRank & SetClanID / SetClanRank sind wichtig, denn damit speichert ihr in der Datei des Spielers seinen Clan und den Rank.
Befehle Als Admin '/cclan' -> Damit könnt ihr einen Clan erstellen '/dclan' -> Damit könnt ihr einen Clan löschen '/makecleader' -> Damit könnt ihr jemanden als Leader eines Clans setzen (Clan-ID '0' = Clan-Kick)
Als Clan-Leader '/cinvite' -> Damit kann der Leader einen Spieler in den Clan einladen '/cuninvite' -> Damit kann der Leader einen Spieler aus seinem Clan - aus den Clan kicken
Als Clan-Mitglied / Clan-Leader '/c' bzw '/clan' -> Damit können die Clan-Mitglieder und die Clan-Leader mit ihrem Clan kommunizieren.
Was ihr benötigt Ihr benötigt die Include OCMD & Dini.
Hey, da ich an meinem Selfmade nicht mehr weitermache, habe ich mir gedacht, dass ich einige gute Systeme hier releasen werde, da ich die ja eh nicht benötige.
Beschreibung Es handelt sich um ein dynamisches Gangfightsystem, indem ihr als RCON-Admin - Gangzonen erstellen / löschen könnt. Die Zonen werden auf der Map in der Farbe der Fraktion angezeigt, die ihr der Fraktion im Filterscript zugeteilt habt. Wenn jemand dann in die Zone reingeht, wird ihm angezeigt, wer der Besitzer der Zone ist ( Fraktionsname - ebenfalls im Filterscript anpassen ), außerdem steht vor dem Fraktionsnamen die Zonenid. Die Zonen werden natürlich auch gespeichert, in welcher Datei, das könnt ihr natürlich auch im Filterscript festlegen. Wird ein Gangfight gestartet, werden den beiden Gangs die Punkte der beiden Gangs und die Zeit des Gangfightes angezeigt. Wann ein Gangfight zu Ende ist, das könnt ihr auch im Filterscript festlegen, ebenfalls, ab wie vielen Punkten er zu Ende ist. Die Eroberer können auch die Flagge (versuchen zu) erobern, dafür bekommen sie 3 Punkte. Für jeden Kill, der in der Gangzone passiert, bekommt die jeweilige Gang 1 Punkt. Die Besitzer der Zone können während des Gangfightes die Flagge nicht erobern, da es ja ihre ist.. Wenn die Gang versucht, die Flagge zu erobern, muss sie die angegebene 'Eroberungs-Zeit' in der Nähe der Zone warten, bis sie sie eingenommen hat. Um mehr zu erfahren, testet es doch mal aus
v2 -> Nun wird im Gangfight eine Box angezeigt, wo die Punkte beider Gangs und die Zeit des Gangfights drinsteht. Außerdem wird, wenn die Flagge erobert wird, die Zeit angezeigt, wie lange die Flagge noch erobert werden muss. Man kann nun mit Y / Z die Flagge erobern. Einige / Bekannte Bugs wurden ebenfalls gefixxt! Nun sollten keine Bugs mehr vorhanden sein..
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
In dem Video sieht man bei der Einnahme eines Gebietes ( bei dem Gangfight, welches ich im Video aufgab ), dass die Zone rot, aber die Schrift grau war.. Dies habe ich nach dem Video dann gefixxt!
Leider konnte ich den Gangfight nicht mit einer anderen Person zeigen.. Da ich einfach keine Person mehr hatte
Einstellungen im Script /* Settings */ #define MAX_GZ 40 //Maximale Gangzonen festlegen #define MaxPoints 100 //Wie viel Punkte eine Fraktion haben muss, um den Gangfight gewinnen zu können #define GFTime 60 //Wie lange ein Gangfight dauert #define GFRuhe 30 //Wie lange die Zone nach einem Gangfight nicht mehr angegriffen werden darf #define FlaggeZeit 30 //Wie viel Sekunden es dauert, eine Flagge zu erobern #define MAX_FRAKTIONEN 21 //Anzahl der Fraktionen festlegen [+1] #define G_FILE "/Gangzonen.ini" //Wo die Gangzonen gespeichert werden sollen
stock FrakColor(fid){ new color; switch(fid) { case 0:color = 0x000000FF; case 1:color = 0xE10000FF; case 2:color = 0x646464FF; //... default:color = 0xFFFFFFFF; } return color; }
stock FrakName(fid){ new name[16]; switch(fid){ case 0:name = "No-one"; case 1:name = "Frak_01"; case 2:name = "Frak_02"; //... default:name = "Unnamed"; } return name; } /* Settings */ Passt dort bitte alles an, damit auch alles wie gewollt funktioniert!
Befehle Als Admin '/creategangzone' -> Gangzone erstellen '/zoneende' -> Gangzone erstellen - Punkt 2 '/cflagge' -> Flagge der Gangzone erstellen - Punkt 3 | Ende '/destroyzone' -> Zone löschen
Als Gangmitglied '/angriff' -> Zone angreifen '/flagge' -> Flagge erobern ( Taste Y / Z ) '/aufgeben' -> Gangfight aufgeben | Andere Gang erhält die Zone dann
Ja, wollte das Update eigentlich schon lange rausbringen, jedoch habe ich in letzter Zeit irgendwie keine Lust mehr..
PS:
Zitat
Ein paar kleine Vorschläge: 1- Vielleicht irgendwie ein Vorschau vor dem Haus im Dialog oder irgendwie so? 2- Bei /chaus ein Pickup auf die Map setzen mit dem grünen Haus Symbole, welcher wiederum veränder wenn das Haus gekauft wird. 3- /seelhaus sollte nur an Spieler verkauft werden können. 4- Jeder sollte nur ein Haus kaufen können.
1. [Wird im Update dabei sein] 2. Ist bereits drin 3. Werde es einbauen! [Wird im Update dabei sein] 4. {Wird wahrscheinlich im Update dabei sein} >> Jeder will es anders, aber werde eine Definition setzen, und jeder, der will, dass man so viele Häuser haben kann, wie man möchte, kann es "entdefinieren".
Machs mal so: if(dialogid == DIALOG_LINIEN){ if(response){ switch(listitem){ case 0:{ // LINIE 1 - LS STADTLINIE I TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, COLOR_GREY, "[LS-PT]: Die Buslinie wird vorbereitet - bitte warte einen Moment."); return SetTimerEx("Linie1Timer", 6500, false, "i", playerid); } case 1:return SendClientMessage(playerid, COLOR_RED, "[LS-PT]: Das Unternehmen hat diese Linie noch nicht freigeschaltet."); case 2:return SendClientMessage(playerid, COLOR_RED, "[LS-PT]: Das Unternehmen hat diese Linie noch nicht freigeschaltet."); } } else{ new veh = GetPlayerVehicleID(playerid); SendClientMessage(playerid, COLOR_GREY, "[LS-PT]: Linienauswahl abgebrochen."); SetVehicleToRespawn(veh); return TogglePlayerControllable(playerid, 1); } return 1; }
Ungetestet und aus dem Kopf geschrieben ( paar Erklärungen stehen dahinter ) stock CrewCreate(playerid, name[]){ new Crewdatei[64]; for(new crewid=1;crewid<MAX_CREWS;crewid++){ format(Crewdatei,50,"/Crews/%s.ini",name); if(dini_Exists(Crewdatei))return printf("Fehler beim Erstellen der Crew '%s'. Datei existiert bereits!",name); dini_Create(Crewdatei); //dini_Set(Crewdatei,"Crewname",name); -> Unnötig, da die Datei bereits den Crewnamen beinhaltet dini_Set(Crewdatei,"Crewleiter", SpielerName(playerid)); if(AvailableNR(randnr))dini_IntSet(Crewdatei,"CrewNR", randnr); //Checkt ob die Zahl verfügbar ist ( sehe Funktion unten ) else //Neue Nummer generieren und abfragen return LoadCrew(crewid, name); } return 1; }
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen.Weitere InformationenSchließen