Danke erstmal für die Hilfe,
aber ich hatte eher nach einer Möglichkeit gesucht um das einzelne Aufzählen der Fraktionen zu vermeiden,
z.B.: mit einer for-Schleife oder ähnlichem.
Ich denke schon, dass es eine Möglichkeit geben muss.
Mfg
Jokertime
Danke erstmal für die Hilfe,
aber ich hatte eher nach einer Möglichkeit gesucht um das einzelne Aufzählen der Fraktionen zu vermeiden,
z.B.: mit einer for-Schleife oder ähnlichem.
Ich denke schon, dass es eine Möglichkeit geben muss.
Mfg
Jokertime
Guten Tag,
ich habe vor einen /setfrakt [ID] [Fraktion] Befehl zu erstellen.
Aber als kleines Extra wollte, dass wenn man nur /setfrakt eingibt, dass einmal angezeigt wird:
BENUTZE: /setfrakt [ID] [Fraktion]
und direkt unten drunter eine Info zu den Fraktionen, zum Beispiel:
1 = LSPD
2 = Medic
3 = ...
usw.
mein Befehl sieht bis jetzt so aus:
ocmd:setfrakt(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,3)) return SendClientMessage(playerid,WARN_ROT,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Super Moderator.");
new string[128], string2[128], pID, fraktid;
if(sscanf(params,"ui",pID,fraktid))
{
SendClientMessage(playerid,WEISS,"BENUTZE: /setfrakt [ID] [Fraktion]");
for(new i = 0; i >= 8; i++)
{
new fraktname[64];
new info[128];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Zivilist";}
case 1:{fraktname="Los Santos Police Department";}
case 2:{fraktname="Rettungsdienst";}
case 3:{fraktname="Hitman";}
case 4:{fraktname="Wheelman";}
case 5:{fraktname="Ordnungsamt";}
case 6:{fraktname="Fahrschule";}
case 7:{fraktname="Staat Los Santos";}
}
format(info,sizeof(info),"Fraktionen: %i. %s",i,fraktname);
SendClientMessage(playerid,BLAU,info);
}
}
return 1;
}
Mif freundlichen Grüßen
Jokertime
So das ist dein Befehl vorher:
ocmd:su(playerid,params[])
{
if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In der Fraktion!");
new player,string[128],reason[64],amount;
if(sscanf(params,"uds",player,amount,reason))return SendClientMessage(playerid,Blau,"[Benutzung:] /su [ID] [Wanteds] [Grund]");
if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist nicht Online!");
SetPVarInt(player,"Wanteds",GetPlayerWantedLevel(player)+1);
format(string,sizeof(string),"Beamter %s hat dir %d Wanteds gegeben. Grund: %s",SpielerName(player),amount,reason);
SendClientMessage(player,Rot,string);
format(string,sizeof(string),"Du hast %s %d Wanteds gegeben. Grund: %s",SpielerName(player),amount,reason);
SendClientMessage(playerid,Hellgrün,string);
return 1;
}
Und so solltest es meiner Meinung nach sein:
ocmd:su(playerid,params[])
{
if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In der Fraktion!");
new player,string[128],reason[64],amount;
if(sscanf(params,"uds",player,amount,reason))return SendClientMessage(playerid,Blau,"[Benutzung:] /su [ID] [Wanteds] [Grund]");
if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist nicht Online!");
SetPlayerWantedLevel(player,GetPlayerWantedLevel(player)+amount);//diese Zeile muss hinzu und du musst das +1 mit + amount ersetzen
SetPVarInt(player,"Wanteds",GetPlayerWantedLevel(player)+amount); //hier das selbe
format(string,sizeof(string),"Beamter %s hat dir %d Wanteds gegeben. Grund: %s",SpielerName(playerid),amount,reason);//und hier "SpielerName(playerid) und nicht SpielerName(player)
SendClientMessage(player,Rot,string);
format(string,sizeof(string),"Du hast %s %d Wanteds gegeben. Grund: %s",SpielerName(player),amount,reason);
SendClientMessage(playerid,Hellgrün,string);
return 1;
}
Ich denke so müsste es jetzt funktionieren.
Mfg
Jokertime
Hallo Smoker,
du musst einfach statt:
SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+1);
SetPVarInt(playerid,"Wanteds",GetPVarInt(playerid)+1);
es so schreiben:
SetPlayerWantedLevel(otherid,GetPlayerWantedLevel(otherid)+amount);
SetPVarInt(otherid,"Wanteds",GetPVarInt(otherid)+amount);
Also einmal das "+1" mit "amount" ersetzen, das du die Menge der Wanteds erst in deinem Befehl angibst.
Und 2. Warum "playerid" ?? Du willst die Wanteds doch einem anderen Spieler geben.
Ich hoffe ich konnte helfen.
Mfg
Jokertime
Hallo Eova933,
deine Errors sage nichts anderes aus außer, dass die genannten Wörter, wie : Time und StripNewLine nicht definiert wurden.
Wenn du dein Vorhaben vielleicht noch ein wenig mehr erläuters, könnte man dir auch helfen.
Aber ich denke, dass du einfach in deinem Skript an einer dazu passenden Stelle einmal:
new Time;
und einmal :
new StripNewLine;
so definieren solltest.
Wie schon gesagt, man braucht auch bisschen mehr Informationen über dein Vorhaben und über deine Callbacks, also wo was drin steht.
Mfg
Jokertime
Das hab ich schon!
Ich hab schon 7 andere Befehle oder so, alle funktionieren außer dieses xDDD
Aber danke für die schnelle Anwort!!
Hallo Leute^^
und zwar, mein Pawno stürtz ab, aber erst seit ich den /eject command erstellen wollte!
Hier ist der Befehl: /eject
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(eject,5,cmdtext);
return 0;
}
dcmd_eject(playerid,params[]);
{
if(!strlen(params))
{
return SendClientMessage(playerid,WHITE,"USAGE: /eject [playerid]");
}
new pID=strval(params);
if(!IsPlayerConnected(pID))
{
return SendClientMessage(playerid,WHITE,"Kein Spieler mit angegebener ID online.");
}
if(!IsPlayerInAnyVehicle(playerid))
{
return SendClientMessage(playerid,WHITE,"Du sitzt in keinem Auto!");
}
new vehicleid = GetPlayerVehicleID(playerid);
if(!IsPlayerInVehicle(pID,vehicleid))
{
return SendClientMessage(playerid,WHITE,"Dieser Spieler sitzt nicht in diesem Auto!");
}
new ThePlayer[MAX_PLAYER_NAME], GivePlayer[MAX_PLAYER_NAME], string[128], string2[128];
GetPlayerName(pID,GivePlayer,sizeof(GivePlayer));
GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),"Du wurdest von %s aus dem Auto geworfen!",ThePlayer);
SendClientMessage(pID,HELLBLUE,string);
format(string2,sizeof(string2),"Du hast %s aus dem Auto geworfen!",GivePlayer);
SendClientMessage(playerid,HELLBLUE,string2);
return 1;
}
Der zeigt keine Error oder Warnings, es stürtz einfach ab.
Ich hoffe ihr könnt mir helfen!
Mit freundlichen Grüßen
Jokertime
hmm...
Kann mir da echt niemand helfem??
Ist echt wichtig
Mit freundlichen Grüßen
Jokertime
Ich danke dir erstmal
Aufjedenfall wird der Spieler nach dem registrieren mit dem Skin ID 101 gespawnt.
Nur..
Wenn ich dann im Kleiderladen bin und /clothes eingebe, und zu Class Selection komme, meinen neuen Skin auswähle und spawnwn will, wird der Spieler wieder mit Skin ID 101 gespawnt!
Hier mal OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
new account=GetPVarInt(playerid,"SpielerRegistriert"); //Welcher Wert hat SpielerRegistriert für Spieler.
if(account!=0) //Ist Spieler "sozusagen" noch nicht eingeloggt.
{
if(account==1) LoadAccount(playerid);
else if(account==2) SetPlayerSkin(playerid,101);
return 1; //Hindert Spieler am Spawnen, oder wie man es in dem Fall nennen würde ^^...
}
GangZoneShowForPlayer(playerid,RedSoldiers,0xCD000067);
return 1;
}
Habs jetzt so gemacht. Wo ist der Fehler ?
Mit freundlichen Grüßen
Jokertime
Ich danke euch erstmal für eure Antworten.
so..
stock Register(playerid,key[])
{
new Spielerdatei[64];
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,YELLOW,"Du hast dich Erfolgreich registriert.");
SetPlayerScore(playerid,0);
return 1;
}
Das ist mein Reg-Vorgang, wenn du mir Reg... Register meinst. Wo soll und wie soll ich des jetzt einfügen.
Als ich Spieler[player][Skin]=101 eingefügt habe, gab es Errors.
Und dass ist mein OnPlayerSpawn:
public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
}
return 1;
}
Was soll ich bei OnPlayerSpawn einfügen ?
Mit freundlichen Grüßen
Jokertime
So guten Morgen
Also mein Problem ist, dass ich einen Roleplay Server erstellen will, aber nur sehr wenig über scripten bescheid weiß.
Also ich will, dass wenn man neu ist, zwar das Class Selection sehen kann. Aber egal auf welchen Skin man klickt, man als Neuling immer Skin ID 101 bekommt.
Erst wenn man in einem Kleiderladen geht und dort /clothes eingibt, dass man dann stirbt und zum Class Selection kommt und sich einen Skin aussuchen kann. Und dieser Skin soll gespeichert und immer wieder beim einloggen benutzt werden.
Register/Login System habe ich schon.
Ich weiß auch wie man Skin speichert und alles ! Aber man soll sich es halt nicht beim Class Selection am Anfang aussuchen können. Nicht Registrierte Spieler müssen Skin ID 101 nehmen bis sie im Kleiderladen waren und dort /clothes eingegeben haben.
Und Registrierte Spieler kriegen beim Einloggen den Skin, den sie sich im Kleiderladen ausgesucht haben.
Hab schon stunden ein meinem GM gehockt und rumprobiert, aber nichts erreicht....deshalb: HILFE !!
danke schon mal im vorraus.
Mit freundlichen Grüßen
Jokertime !