Also wird eine falsche Nachricht gesendet oder wie?
Beiträge von DialogHD
-
-
schau dir Youtube Tutorials an
-
versuch es mal so:
SetPVarInt(pID,"Fraktion",GetPVarInt(playerid,"Fraktion"));
-
Es kann sein das ich etwas durcheinander bringe, aber:
du sagst er soll "Fraktion" von pID auf den Wert der variable fID setzen.
Aber er bekommt nirgendwo den Wert für die variable fID -
schau mal hier
-
du setzt Fraktion auf fID
Aber woher kommt das fID?SetPVarInt(pID,"Fraktion",fID);
-
Zitat
ich will das er Leader abfragt oder ob er bei rank 11 hat warum < das
wen man es mit == abfragen kann ? weil das egal ob ob man da abragt ob
er drüber ist oder gleich istnur er fragt nur leader ab wen ich kein leader bin und nur rank 11 habe lässt er mich net
So sollte es gehen:
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] >= 11 && PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] >= 11)
-
bezweifel ich, ich habe aus
if(PlayerInfo[playerid][pLeader] 1 || PlayerInfo[playerid][pRank] 11)
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] == 11)
//Edit ReborN: Das wollte er doch auch?
-
if(strcmp(cmd, "/invite", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /invite [playerid/Name]");
return 1;
}
new leader = PlayerInfo[playerid][pLeader];
new para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] == 11)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
{
if(PlayerInfo[para1][pFrakSperre] == 0)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("Adminmeldung: %s hat %s in die Fraktion %s eingeladen.", sendername, giveplayer,Fracs[leader-1]);
format(string, sizeof(string), "Du wurdest in die Fraktion %s von Leader %s eingeladen.",Fracs[leader-1], sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
ShowPlayerDialog(para1,DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Du wurdes Eingeladen","Ein leader möchte dich gerne Einladen\nMöchtes du Invitet werden?","Ja","Nein");
format(string, sizeof(string), "Du hast %s in die Fraktion %s eingeladen.", giveplayer,Fracs[leader-1]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(playerid, COLOR_GRAD2, " Der Spieler muss nun deine Einladung annehmen oder ablehnen.");
new iyear, imonth,iday;
getdate(iyear, imonth, iday);
format(string, sizeof(string), "%s[Level:%d] wurde von %s in die Fraktion %s eingeladen (%d-%d-%d)", giveplayer,PlayerInfo[para1][pLevel],sendername,Fracs[leader-1],imonth,iday,iyear);
Eingeladen[para1] = leader;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler hat eine Fraktions-Sperre");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einer anderen Fraktion oder bereits ein Fraktionsmitglied.");
return 1;
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Nur der Leader kann diesen Befehl nutzen!");
return 1;
}
return 1;
} -
Zitat
if(PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][pRank] == 11)
So ein blödsinn, hier fragst du ab ob er Leader und Rang 11 hat.
mit
sagst du oder
da du sagen möchtest Leader == 1 oder Rang == 11 must du mitarbeiten.
zeig mal den gesamten Code, vielleicht liegt ja garnicht hier der Fehler.
(Ich denke man das da eigendlich eine Klammer dran ist, oder??... wenn nicht fehlt da eine)
und wo genau liegt dein problem? -
if(strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/ah", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
{
new str[2048];
strcat(str,""#COL_ORANGE"Supporter:\n/kick - Jemanden Kicken\n/unfreeze - Jemanden vom Freeze befreihen\n");
strcat(str,"/goto - Sich zu einem Spieler Teleportieren\n/aws - \n");
strcat(str,"/aduty - Sich als Supporter anmelden\n/supmobil - Ein Supporter Fahrzeug Spawnen\n");
strcat(str,"/gethere - Jemand zu sich Teleportieren\n/bigears - Den Chat lauschen\n\n");
strcat(str,""#COL_RED"Adminlevel 1:\n/prison - Die Gefängniszeit von jemanden bearbeiten\n/");
strcat(str,"/ar - Den report von jemanden annehmen\n/cr - Den Report von jemanden schließen\n");
strcat(str,"/tr - Den Report von jemanden verweigern\n/cleartext - Den Chatverlauf löschen\n");
strcat(str,"/checkwarns - Von jemanden die Warnsanzahl überprüfen\n/check - Die Statistiken von jemanden anzeigen\n");
strcat(str,"/setint - Das Interrior von jemanden setzen\n/mute - Jemanden Muten(Stummschalten)\n");
strcat(str,"/kickres - Reservierte Plätze kicken\n/warn - Jemanden Warnen\n/sban - Jemand ohne Nachricht Bannen\n");
strcat(str,"/ban - Jemand Bannen mit Nachricht an alle Spieler\n");
ShowPlayerDialog(playerid,DIALOG_ADMINHELP,DIALOG_STYLE_MSGBOX,"Hi",str,"Nächste Seite","Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Du bist kein Supporter / Admin.");
return 1;
}
}
return 1;
}Teste es mal
-
-
Jop, ist möglich
Arbeite mit AttachObjectToVehicle und einem Timer^^
Mehr kann ich dir leider auch nicht dazu sagen xD
-
über dem
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
} -
bau eine Abfrage rein:
if(GetPlayerInterior(playerid) != GetPlayerInterior(plo))
{
SetPlayerInterior(playerid,GetPlayerInterior(plo));
}Dort fragst du ab ob der, der sich Teleportiert im selben Interrior ist wie der, zu dem man sich portet.
Wenn nicht wird der Interior auf den selben gesetzt. -
Ich denke mir mal das deine FraktionsID's mit den Namen der Dateien übereinstimmen.
Wenn ja könntest du vielleicht mit folgendem arbeiten:fDaten[Spieler[playerid][Fraktion]][Spieler[playerid][Rang]] //Ich hoffe das konnte dir einen kleinen denk anschub geben;
-
Ja, glaube eine neue Zeile ging mit \n
-
Wichtig ist das du die Variable unter OnPlayerDisconnect auch wieder auf 0 stellst
-
ohne Code können wir da wohl auch nichts machen.
-
Ich empfehle dir das Textdraw nicht mit einem Timer zu Updaten sondern immer wenn er sich einloggt oder
sein Job kündigt bzw einen neuen Job annimmt.unter OnGameModeInit definierst du wie vorher dein Textdraw, jedoch diesmal mit einer Schleife da dein
Textdraw Spielerbezogen sein muss.
Textdraw1[playerid] = TextDrawCreate(497.000000, 388.000000, ""); //Das kann ruhig leer bleiben
TextDrawBackgroundColor(Textdraw1[playerid], 255);
TextDrawFont(Textdraw1[playerid], 1);
TextDrawLetterSize(Textdraw1[playerid], 0.390000, 1.000000);
TextDrawColor(Textdraw1[playerid], 65535);
TextDrawSetOutline(Textdraw1[playerid], 0);
TextDrawSetProportional(Textdraw1[playerid], 1);
TextDrawSetShadow(Textdraw1[playerid], 1);unter OnPlayerSpawn aktualisiert du anschließend das Textdraw:
new jtext[20];
if(Spieler[playerid][Job] == 0)
{
new TextString[20];
format(TextString, sizeof(TextString), "Du bist derzeit Arbeitslos");
TextDrawSetString(Textdraw1[playerid], TextString);
TextDrawShowForPlayer(i, Tacho[playerid]);
}
else
{
if(Spieler[playerid][Job] == 1) { jtext = Job1)
else if(Spieler[playerid][Job] == 2) { jtext = Job2)
new TextString[20];
format(TextString, sizeof(TextString), "Du arbeitest derzeit als %s", jtext); //Wie das Textdraw heißen soll
TextDrawSetString(Textdraw1[playerid], TextString);
TextDrawShowForPlayer(i, Tacho[playerid]);
}Das selbe machst du da wo er sein Job Kündigt bzw einen neuen Job annimmt.
Zu deinem Fehler: Das Spieler must du natürlich an dein Account System anpassen.