Also wenn mich nicht alles täuscht, musst du das so nutzen:
sscanf(Data, "p<|>e<ds[64]s[128]dddddddddddds[128]s[128]s[16]dd>",PlayerInfo[playerid]);
mfg. ![]()
Also wenn mich nicht alles täuscht, musst du das so nutzen:
sscanf(Data, "p<|>e<ds[64]s[128]dddddddddddds[128]s[128]s[16]dd>",PlayerInfo[playerid]);
mfg. ![]()
Asoo sorry das ich nerve aber ich will es benutzen und es scheint gut zu sein
Freut mich, dass du es nutzen willst ![]()
mfg. ![]()
Passt das noch ein Leadersystem rein
Gibt es ja schon:
if(GetRang(playerid) == MAX_RANG)
{
//Hier ist der Spieler Leader einer Fraktion
}
else
{
//Hier nicht
}
//Jemanden Leader machen
SetPlayerRang(playerid, MAX_RANG);
mfg. ![]()
Fraktions autohaus
Das kann man ja jetzt durch die Funktionen ganz einfach selber erstellen ![]()
Aber ich kann das nicht in die Include packen, da es um mehr Variable Sachen geht, die pro Script anders sind ![]()
mfg. ![]()
80% Selber gescriptet
Nach den Funktionen her zu urteilen ist das script nur 0.5% selbst gescriptet, da 99.5% schon im standard GF drinnen ist ![]()
PS: Schlechte Anfrage & GF Edits dürfen nicht verkauft werden.
mfg. ![]()
Jetzt hör mal auf dieses Forum zuzuspammen !!!
Das ist jetzt schon dein 4. Thread !
Es reicht, der findet die M-Bot.inc nicht, warum auch immer ![]()
Entweder bist du zu blöd die richtige pawno.exe zu öffnen oder einfach unfähig eine Include in den Pfad pawno/includes zu kopieren ![]()
Mehr Möglichkeiten gibt es nicht !
mfg. ![]()
Du könntest noch einen /invite befehl machenHab kp wie das gehen würde-..
Also...das sollte nun wirklich kein Problem sein, hier mal ein Beispiel:
ocmd:invite(playerid, params[]) //ich hoffe du nutzt ocmd
{
//if(!IsPlayerAdmin(playerid)) return 1; //Man sollte für diesen Befehl Admin sein, ich lasse es mal weg...
new pID, frakid;
if(sscanf(params,"ui",pID,frakid)) return SendClientMessage(playerid,rot,"Verwendung: /invite [spielerid] [frakid]");
SetPlayerFraktion(pID, frakid);
SetPlayerRang(pID, 1);
SetPlayerSkin(playerid, 299); //halt irgendein neuer Fraktions Skin
return 1;
}
mfg. ![]()
Éine frage noch wie kann ich ein Dialog machen wo man alle Rang Namen sieht wie z.b.
Rang: 1 Name: blabla
Rang: 2 Name: kakaka
.....
So:
//der Command
ocmd:rangnamen(playerid, params[])
{
show_rang_dialog(playerid, frakid);
return 1;
}
//Die Funktion
stock show_rang_dialog(playerid, frakid)
{
new v = 1, string[128], buffer[32];
for(; v<MAX_RANG; v++)
{
format(buffer, sizeof buffer, "Rang %d: %s",v,Rang_Name[frakid][v]);
strcat(string, buffer, sizeof string);
}
ShowPlayerDialog(playerid,-1,DIALOG_STYLE_MSGBOX,"{FF0000}Rang Info",string,"Bestätigen","");
}
mfg. ![]()
nene ich brauch ne SetRangeName und Getrangename
Erkläre mal etwas genauer was du jetzt von mir willst ![]()
An alle, die noch Ideen zur Verbesserung haben, könnt ihr gerne posten ![]()
mfg. ![]()
Wo muss SetFraktionSpawn und SetFraktionColor hin?
Dafür habe ich einen Beispiel Tab gemacht, klick diesen doch auch bitte an ![]()
mfg. ![]()
Zuerstmal, die neue Version mit den Fraktion Cars ist draußen ![]()
//Edit²:
Man kann die Fraktion Cars nur benutzen, wenn man zu der Fraktion gehört, sie sind durch SetVehicleParams abgeschlossen !
//Edit:
Achso jetzt hab ich deine Frage verstanden du willst meine Include außeinander nehmen und nur einzelne Teile verwenden ![]()
Ehm...ja schau doch einfach wie ich es gemacht habe, dafür ist der Source Code da ![]()
mfg. ![]()
Wie mach ich den den Frakname?oben new Fraktionsname bla ?
Momentan, brauchst du keine Variable dazu, da der Name statisch ist, hier ein jetziges Beispiel:
//In einem command
if(GetFraktion(playerid) == 1) SendClientMessage(playerid,blau,"Du bist ein Yakuza Mitglied !"); //so irgendwie
mfg. ![]()
Ja das wäre noch besser
Okay, also ich dachte da an sowas:
AddFraktionsCar(frakid, modelid,X,Y,Z,A,c1,c2,respawn); //habe mal die Variablentypen weggelassen
SetDoorsLocked(frakid, var); /*
Wenn var = false, dann sind die Türen durch SetVehicleParamsEx abgeschlossen
wenn var = true, dann kommt man in das Auto aber da ist es mit RemovePlayerFromVehicle
*/
So okay, oder habt ihr da noch eine bessere Idee ?
kann man die Fraktion Namen
Eine extra Funktion gibts dafür nicht, aber wenn du die haben willst mach ich eine ![]()
Skin´s festlegen?
Ja, das ist so eine Sache, wenn man z.B. mehrere Fraktionsskins haben soll wird das problematisch, deshalb dachte ich das man das manuell festlegt...mhm, aber wenn du da eine Idee für eine Funktion hast, poste mal eine Beispiel Funktion ![]()
mfg. ![]()
Sieht gut aus , tolle Arbeit
Dankeschön ![]()
Hast du noch Verbesserungsvorschläge für die Funktionen ?
Also ich dachte evtl noch an FraktionsCars, sollte ich sowas noch mit reinnehmen ?
mfg. ![]()
Guten Morgen,
tut mir leid, wenn ich in letzter Zeit immer so Sachen veröffentliche, mir ist aber total langweilig ![]()
Also heute ist es ein Fraktionstool, welches ich gerade geschrieben habe und dies hilft Leuten die gerade ein Selmfade schreiben wollen ![]()
[tabmenu]
[tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
[subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
SetPlayerFraktion(playerid, frakid); //Fügt einen Spieler in eine Fraktion
SetPlayerRang(playerid, rangid); //Setzt den Rang des Spielers
IsOnline(frakid); //Listet in einem Dialog auf, wer aus der Fraktion online ist + Titel, quasi Member: Kaliber (Rang: Rangname)
GetFraktion(playerid); //returnt frakid
GetRang(playerid); //returnt den Rang des Spielers
SetFraktionsColor(frakid, hexcode); //Hier kann man farben für die einzelnen Fraktionen setzen
SetFraktionsSpawn(frakid, Float:X,Float:Y,Float:Z, (optional)Float:A); //ja, setzt halt den Spawnpunkt für die Spieler (an einer Base)
SetRangName(frakid, rangid, name[]); //Setzt den Rangnamen für die bestimmte Fraktion
GetRangName(playerid); //returnt (nach Beispiel) "Laufbursche"
AddFrakCar(frakid,modelid,Float:X,Float:Y,Float:Z,Float:A,color1,color2,respawn); //Fügt ein Car der Fraktion hinzu
GetFrakCar(vehicleid); //returnt zu welcher Frakid dieser Wagen gehört
SetFraktionArt(frakid, art); //Setzt die Fraktions Art (ob Gang...) siehe Beispiel Tab (V3.0)
GetFraktionArt(frakid); //Returnt die Fraktionsart als String (V3.0)
CreateGangZone(frakid, Float:minx, Float:miny, Float:maxx, Float:maxy); //Erstellt eine Fraktions Gangzone (V3.0)
GetGangZoneOwner(GangZoneID); //Returnt die frakid von dem Owner der Gangzone (V3.0)
SetGangZoneOwner(GangZoneID,frakid); //Setzt den Owner der Gangzone (V3.0)
[subtab='Wichtig','http://www.rezepte-guru.de/template/images/icon_stern.gif']
Man kann den MAX_RANG setzen:
#define MAX_RANG 10 //Hier setzen wir den "Leader Rang" auf 10
#define MAX_FRAKTIONS 30 //Hier könnte man die Anzahl der Fraktionen erhöhen
//Das muss man nicht machen mit MAX_RANG oder MAX_FRAKTIONS
//Da MAX_RANG (ohne verändern) den Wert 6 hätte und MAX_FRAKTIONS (ohne verändern) 20
#include <frakhelp> //Wichtig, erst unter dem #define stehen !
PS: Wer den Leader Rang hat, ist automatisch Leader der Fraktion.
PS²: Es gibt keine Fraktion 0 = keine Fraktion !!!
[subtab='Beispiele','http://www.damen-eishockey.de/images/lampe.gif']
//Unter OnGameModeInit
SetFraktionsColor(1, 0xFFFFFFFF); //Die Fraktion 1 hätte jetzt die Farbe weiß
SetFraktionsSpawn(1, 0.0, 0.0, 0.0); //Die Fraktion 1 würde jetzt an den Koordinaten 0,0,0 spawnen
SetRangName(1, 1, "Laufbursche"); //In der Fraktion 1, wenn man Rang 1 ist heißt man Laufbursche
//Ein Beispiel Invite Befehl
ocmd:invite(playerid, params[]) //ich hoffe du nutzt ocmd
{
//if(!IsPlayerAdmin(playerid)) return 1; //Man sollte für diesen Befehl Admin sein, ich lasse es mal weg...
new pID, frakid;
if(sscanf(params,"ui",pID,frakid)) return SendClientMessage(playerid,rot,"Verwendung: /invite [spielerid] [frakid]");
SetPlayerFraktion(pID, frakid);
SetPlayerRang(pID, 1);
SetPlayerSkin(playerid, 299); //halt irgendein neuer Fraktions Skin
return 1;
}
Hier ein Beispiel zu der Verwendung vom Leadersystem: Leader Beispiel
[subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
Pastebin: Pastebin (V.3.0)
Mediafire: Download Mediafire (V.3.0)
[/tabmenu]
Zu den Fraktionscars:
ZitatMan kann die Fraktion Cars nur benutzen, wenn man zu der Fraktion gehört, sie sind durch SetVehicleParams abgeschlossen !
Hier nun die Version 3.0, Viel Spaß ![]()
mfg.
//Edit:
Besser Erklärt mit dem eigenen Directive.
Da hatte ich noch einen Fehler...
Neuer Pastebin Link, habe da noch was verbessert.
Wichtige Info hinzugefügt.
Hatte noch den Array bei n_name vergessen...editiert neuer pastebin Link...
Version 1.1 mit FraktionsCars
Information ergänzt
Version 2.0 rausgebracht
Beispiel mit Leader hinzugefügt
Version 3.0 ist draußen mit neuen Funktionen
In Mysql brauch ich auch keine 2STD's
Natürlich und in 1nem Tag hast du dann dein Selfmade fertig ![]()
Kannst aber nichtmal einen Timer richtig machen ![]()
//Oben in dein Script
new werbung_var;
//Unter OnGameModeInit
SetTimer("Werbung_Timer", 1000*60, 1);
//Die Funktion
forward Werbung_Timer();
public Werbung_Timer()
{
switch(werbung_var)
{
case 0: SendClientMessageToAll(0xFF4800FF,"Besucht doch mal unser Forum: http://www.samp-Pi.de und kommt mal auf denn TeamSpeak3: Ts ip"),werbung_var = 1;
case 1: SendClientMessageToAll(0xFF4800FF,"Du brauchst Hilfe die Supporten stehen dir gerne zu Verfügung du kannst aber auch /FAQ nutzen"),werbung_var = 2;
case 2: SendClientMessageToAll(0xFF4800FF,"..."),werbung_var = 0;// wenn du = 0 machst startet das wieder von vorne !
}
return 1;
}
mfg. ![]()
Nicht richtig, bzw wenn man das so machen würde, wäre das sehr suboptimal, da der Luftballon auch dann durch Wände etc fliegen würde ![]()
Du musst ihn erstmal hoch fliegen lassen, dann über den BSN (auf der selben Höhe) und dann langsam runter, damit er nirgends anstößt...
mfg. ![]()
AMX? Sicher? Naja, dir kann man ja vertrauen, aber wenn das jeder so macht, dann kommen wieder die 1337 Scriptkiddies und bauen SendRconCommand("password xyz"); ein, oder sowas (geht das überhaupt?)..
Ja, man könnte sich über das Filterscript oder eine Include das Rcon_Passwort hooken, aber nur, wenn sich ein Admin während dieses Script geladen ist, damit einloggt. Außerdem könnte man alle Passwörter etc mit loggen lassen, sprich man könnte da einen schönen Trojaner schreiben ![]()
Deshalb bin ich für so einfach nur die .amx Datei übergeben auch nicht dafür (für Rocky würde ich eine Ausnahme machen) ![]()
mfg. ![]()
Schau dir das mal an: http://wiki.sa-mp.com/wiki/ShowPlayerNameTagForPlayer
Da kannst du das deaktivieren ![]()
mfg. ![]()
Wäre dies möglich?
Du könntest es so ausprobieren:
new test[MAX_PLAYERS];
//In deinem cmd um ihm in einem Auto festzuhalten
test[playerid] = 1;
//Unter dem Callback OnPlayerKeyStateChange
if(newkeys & KEY_SECONDARY_ATTACK)
{
if(test[playerid]) ClearAnimations(playerid);
}
Wäre einen Versuch wert ![]()
mfg. ![]()