Ist zwar jetzt nicht zum Thema beitragend, könnte dir aber helfen ![]()
Ich habe heute ein Fraktions Tool geschrieben, womit dir das einfacher fallen könnte, schaus dir einfach mal an:
[ INCLUDE ] Fraktionstool V.2
mfg. ![]()
Ist zwar jetzt nicht zum Thema beitragend, könnte dir aber helfen ![]()
Ich habe heute ein Fraktions Tool geschrieben, womit dir das einfacher fallen könnte, schaus dir einfach mal an:
[ INCLUDE ] Fraktionstool V.2
mfg. ![]()
Du musst es so schreiben:
if(Server1!=1 && Server2!=1)
mfg. ![]()
aber wenn dir doch soo langweilig ist, warum machst du dann nichtmal nen gamemode oder so?
Tzz
Ist ja nicht so, dass ich schon 12 Reallife Selmfades geschrieben habe in den vergangenen Jahren, aber auf sowas habe ich irgendwie nicht mehr so Lust, da das alles am ende eh irgendwie GF orientiert ist (zumindest von den Funktionen) ![]()
kannst ja meinen weiterführen
Nein, tut mir leid, will eher kleinere Dinge machen ![]()
es sei dir nochmal vergeben
aber es schaut ganz cool aus. ich werde es demnächst mal genauer unter die lupe nehmen.
Danke ![]()
mfg. ![]()
//Edit:
Leader System Beispiel nochmal in den Startpost gepackt ![]()
Doch schon, aber wofür willst du denn so einen Blödsinn machen ?
Probier es mal so:
stock Registrierung(playerid, key[])
{
new Spielerdatei[64], IP[64];
format(Spielerdatei, sizeof(Spielerdatei), "/Accounts/%s.txt", SpielerName(playerid));
dini_Create(Spielerdatei);
GetPlayerIp(playerid, IP, sizeof(IP));
new name[24];
format(name, 24, "%s ",PlayerName(playerid));
dini_Set(Spielerdatei, "Name ", name);
strins(key, " \0", strlen(key));
dini_Set(Spielerdatei, "Passwort ", key);
strins(Ip, " \0", strlen(Ip));
dini_Set(Spielerdatei, "IP-Adresse ", IP);
return 1;
}
mfg. ![]()
Herzlich Willkommen, jetzt stellen sich plötzlich alle Neulinge vor
/ironie off
Mal eine dumme Frage: "Warst du mal vor paar Jahren auf sa-rl.de Ballas Leader ?"
mfg. ![]()
Mache es so:
new i = random(sizeof(skin));
AddPlayerClass(skin[i],2120.2324,41.6246,26.3359,0.000,0,0,0,0,0,0);
SetPVarInt(playerid,"Skin",skin[i]);
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")== 1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Wanted",GetPlayerWantedLevel(playerid));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
dini_IntSet(Spielerdatei,"Namenfarbe",GetPlayerColor(playerid));
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
}
return 1;
}
mfg. ![]()
Durch SetSpawnInfo bekommt der Spieler einen bestimmten Skin gesetzt ![]()
Diesen kannst du so abfragen: GetPlayerSkin
mfg. ![]()
ich möchte es kaufen
Ich Rate dir sehr davon ab ! ![]()
Ich hatte das p<|> weggelassen, da du es ja eigentlich schon durch mysql_fetch_row trennst (denke ich)...
Aber maddin hat das auch noch n bissl anders, schreibs mal so:
sscanf(Data, "e<p<|>{i}s[64]s[128]dddddddddddds[128]s[128]s[16]dd>",PlayerInfo[playerid]);
mfg. ![]()
Dann probiers mal nur so:
sscanf(Data, "e<ds[64]s[128]dddddddddddds[128]s[128]s[16]dd>",PlayerInfo[playerid]);
mfg. ![]()
Mhm, schreibe das mal in dein Script (ist von mir könnte helfen):
stock Ini_Create(File[])
{
if(fexist(File)) return 0;
new File: f = fopen(File, io_write);
fwrite(f, "\0");
fclose(f);
return 1;
}
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. ![]()