Sry bin grad richtig müde...
ich vermute mal mit GetPVarInt..... oder SpielerInfo[playerid][pSkin]... kann mich grad garnicht konzertieren
Sry bin grad richtig müde...
ich vermute mal mit GetPVarInt..... oder SpielerInfo[playerid][pSkin]... kann mich grad garnicht konzertieren
Ja ich habe 100 % auf meiner MYSQL Datenbank ID 299 . Wie würdest du die Variable machen?
Erst
PlayerTextDrawSetPreviewModel dann PlayerTextDrawShow
Beim zweiten PlayerTextdraws, dh für jeden Player eigenes Textdraw verwenden
habe ich gemacht , aber es bleibt immernoch der CJ Skin da
//EDIT:
Eh lol, grade eben hatte ich einen Mechanicker Skin ? Also wurde angezeigt , aber eigentlich ollte ID 299 angezeigt werden.
Hallo leute,
Ich komme direkt zum Punkt: Ich habe ein Problem undzwar , ich habe mir eine Box gemacht wo direkt nach einen Timer(5 sekunden) aus der Datenbank gelesen werden soll, welchen Skin derjenige Spieler hat , und dieser Skin soll halt in der Box erscheinen! Aber jeddoch kommt nur ID 0 immer also CJ... Hier der Code:
new PlayerText:Textdraw7[MAX_PLAYERS];
Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 526.000000, 292.444458, "LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 104.500000, 131.911102);
PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 255);
PlayerTextDrawFont(playerid, Textdraw7[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
und dann beim Timer:
public loginregistertextdraws(playerid)
{
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
TextDrawShowForPlayer(playerid, Textdraw4);
TextDrawShowForPlayer(playerid, Textdraw5);
TextDrawShowForPlayer(playerid, Textdraw6);
PlayerTextDrawShow(playerid, Textdraw7[playerid]);//hier ist der
PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], GetPlayerSkin(playerid));
print("Anfangstimer für Login/RegisterTextDraw's wurde beendet!(3 Sekunden)");
return 1;
}
//Ist halt mit meinen Login register textdraws zsm.
Ich bitte um hilfe !!!
//EDIT: KM/H ANZEIGE WURDE GEFIXXT
xSoldier:
{2757.8887, 1223.3120, 2861.1313, 1383.1230, CTFx, CTFy, CTFz}
Die drei letzen Koordinaten musst du mit noch einem /save auffüllen, wird wohl ein Checkpoint sein oder sowas, das was in der Zone irgendwo ist. Dafür nimmst du vom /save den 2., 3. und 4. Wert.
@[GeD]Max: Zeigt es den richtigen Skin an, wenn du anstatt GetPlayerSkin einfach mal 50 reinschreibst? Siehst du dann Skin 50? Wenn ja, dann nutzt du wohl GetPlayerSkin an einer Stelle im Code an der es nicht geht, oder der Timer wird nicht richtig aufgerufen, oder du siehst ein falsches Textdraw.
ich mach am besten ein neuen Thread auf..
Hast du dir auch einen Skin gesetzt?
Mache mal einen Befehl /skin mit dem du dir die Skin ID 50 setzt, und schaue dann, ob es den Skin anzeigt, wenn der Timer erneut aufgerufen wird.
Habe einen skin befehl erstellt und mir selbst mit der skin id 50 gemacht. Es geht leider nicht.. Aber in der Datenbank wird mit der SKIN ID 50 angezigt
Wird der Timer denn überhaupt ausgeführt?
Jap. als erstes kommt bei mir ein "ladebildschirm" dann kommen die textdraws mit login/register + die Skinanzeige...
Hier nochmal alle Codes:
//der timer + wo der skin normalerweise ausgewählt werden soll
public loginregistertextdraws(playerid)
{
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
TextDrawShowForPlayer(playerid, Textdraw4);
TextDrawShowForPlayer(playerid, Textdraw5);
TextDrawShowForPlayer(playerid, Textdraw6);
PlayerTextDrawShow(playerid, Textdraw7[playerid]);
//Skinanzeige
PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], GetPlayerSkin(playerid)); //hier ist das was ich eingefügt habe!
return 1;
}
//Hier derTextdraws:
Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 526.000000, 292.444458, "LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 104.500000, 131.911102);
PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 255);
PlayerTextDrawFont(playerid, Textdraw7[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
Alles anzeigenarank ist ein Integer, es muss aber ein String (=Array) sein. Da nehmen wir eine neue Variable hinzu (rankstr).
ocmd:makeadmin(playerid,params[])
{
new pID,string[256],adminname[MAX_PLAYERS],spielername[MAX_PLAYERS],arank;
GetPlayerName(playerid, adminname, sizeof(adminname));
GetPlayerName(playerid, spielername, sizeof(spielername));
if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, Rot,"[FEHLER] {FFFFFF}Die angegebende SpielerID ist nicht online!");
SpielerInfo[playerid][pAlevel] = arank;
if(arank < 0 || arank > 7) return SendClientMessage(playerid,Rot, "[FEHLER] {FFFFFF}Du kannst nur das Adminlevel von 0 - 7 vergeben!");
if(SpielerInfo[playerid][pAlevel] == 8)
{
if(SpielerInfo[playerid][pAlevel] == 0)
{
format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich aus dem Team entfernt!",adminname);
format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s aus dem Team entfernt!",adminname,spielername);
SendClientMessage(playerid,Rot,string);
SendAdminMessage(Rot,string);
SpielerInfo[pID][pAlevel] = 0;
SavePlayer(playerid);
}
else if(SpielerInfo[playerid][pAlevel] >= 1)
{
new rankstr[64];
if(SpielerInfo[playerid][pAlevel] == 1)
{
rankstr = "Supporter";
}
else if(SpielerInfo[playerid][pAlevel] == 2)
{
rankstr = "Administrator Level 1";
}
else if(SpielerInfo[playerid][pAlevel] == 3)
{
rankstr = "Administrator Level 2";
}
else if(SpielerInfo[playerid][pAlevel] == 4)
{
rankstr = "Administrator Level 3";
}
else if(SpielerInfo[playerid][pAlevel] == 5)
{
rankstr = "High Administrator";
}
else if(SpielerInfo[playerid][pAlevel] == 6)
{
rankstr = "Entwickler";
}
else if(SpielerInfo[playerid][pAlevel] == 7)
{
rankstr = "Stelv. Serverleiter";
}
format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich zum %s befördert!",adminname,rankstr);
format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s zum %s befördert!",adminname,spielername,rankstr);
SendClientMessage(playerid,Rot,string);
SendAdminMessage(Rot,string);
SpielerInfo[pID][pAlevel] = arank;
SavePlayer(playerid);
}
return 1;
}
return 1;
}
alles klar danke es geht nun, aber jetzt zur Box: Es wird zwar wieder ein Skin angezeigt , aber nicht der den ich will... nur wieder CJ
PlayerTextDrawFont(playerid, Textdraw7[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
Alles klar ich probier es gleich.. aber ich komm einfach nicht an diese Errors weiter:
ocmd:makeadmin(playerid,params[])
{
new pID,string[256],adminname[MAX_PLAYERS],spielername[MAX_PLAYERS],arank;
GetPlayerName(playerid, adminname, sizeof(adminname));
GetPlayerName(playerid, spielername, sizeof(spielername));
if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, Rot,"[FEHLER] {FFFFFF}Die angegebende SpielerID ist nicht online!");
SpielerInfo[playerid][pAlevel] = arank;
if(arank < 0 || arank > 7) return SendClientMessage(playerid,Rot, "[FEHLER] {FFFFFF}Du kannst nur das Adminlevel von 0 - 7 vergeben!");
if(SpielerInfo[playerid][pAlevel] == 8)
{
if(SpielerInfo[playerid][pAlevel] == 0)
{
format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich aus dem Team entfernt!",adminname);
format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s aus dem Team entfernt!",adminname,spielername);
SendClientMessage(playerid,Rot,string);
SendAdminMessage(Rot,string);
SpielerInfo[pID][pAlevel] = 0;
SavePlayer(playerid);
}
else if(SpielerInfo[playerid][pAlevel] >= 1)
{
if(SpielerInfo[playerid][pAlevel] == 1) { arank = "Supporter"; }
else if(SpielerInfo[playerid][pAlevel] == 2) { arank = "Administrator Level 1"; }//ab hier sind die errors: " error 006: must be assigned to an array "
else if(SpielerInfo[playerid][pAlevel] == 3) { arank = "Administrator Level 2"; }
else if(SpielerInfo[playerid][pAlevel] == 4) { arank = "Administrator Level 3"; }
else if(SpielerInfo[playerid][pAlevel] == 5) { arank = "High Administrator"; }
else if(SpielerInfo[playerid][pAlevel] == 6) { arank = "Entwickler"; }
else if(SpielerInfo[playerid][pAlevel] == 7) { arank = "Stelv. Serverleiter"; }
format(string, sizeof string, "[INFO] {FFFFFF}Serverleiter %s hat dich zum %s befördert!",adminname,arank);
format(string, sizeof string, "[A-INFO] {FFFFFF}Serverleiter %s hat %s zum %s befördert!",adminname,spielername,arank);
SendClientMessage(playerid,Rot,string);
SendAdminMessage(Rot,string);
SpielerInfo[pID][pAlevel] = arank;
SavePlayer(playerid);
}
return 1;
}
return 1;
}
Zeig uns mal bitte deinen bisherigen Code.
//SkinboxTextdraw
Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 526.000000, 292.444458, "LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 104.500000, 131.911102);
PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 255);
PlayerTextDrawFont(playerid, Textdraw7[playerid], 4);
//und das halt unter einen Timer, weil ich dass nach einer Bestimmten Zeit haben möchte:
//Skinanzeige
PlayerTextDrawSetPreviewModel(playerid,Textdraw7[playerid], GetPlayerSkin(playerid));
PlayerTextDrawShow(playerid, Textdraw7[playerid]);
Irgendwie nicht
Einfach so:
TextDrawSetPreviewModel(Textdraw7, GetPlayerSkin(playerid));
Habe ich gemacht, aber jetzt kommt garnichts mehr außer ein Weiser Kasten..
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewModel
Dort dann die SkinID![]()
zb. GetPlayerSkin oder aus einer Variable
Ich vermute mal, du musst den Textdraw danach noch einmal verstecken und wieder anzeigen.
Steht da alles^^
Aber der Code ist richtig?
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewModel
Dort dann die SkinID
zb. GetPlayerSkin oder aus einer Variable
Ich versteh es einfach irgendwie nicht... Es wird zwar ein Skin angezeigt , aber nur immer den CJ Skin also ID 0
new skinID;
GetPVarInt(playerid, SpielerInfo[playerid][pSkin]);
skinID = GetPlayerSkin(playerid);
TextDrawSetPreviewModel(Textdraw7, skinID);
Wie frage ich nochmal etwas aus der Datenbank ? Um dann hinterher dann den Skin , aus der Datenbank(mysql) , auch spawnen zu lassen ?
Nein ich meine halt in als Model ID
Hier ist noch ein Screen: http://www.fotos-hochladen.net/uploads/samp005bpewu2z7jr.png
Und die nächste Frage... : ich habe bei meinen Login /Register Vorgang halt Textdraws.. Ist ja schön und gut, aber etwas weiter unten habe ich noch eine " Kiste " erstellt extra für Skins, die er beim ablesen reinmachen soll. Also z.b.: Spieler A hat Skin ID 0 , So wird es in der Kiste angezeigt. Wie macht man das ? Oder geht sowas überhaupt?
danke!
Hallo leute,
Wie ihr in der Überschrift lesen könnt , suche ich den R5 Windows Plugin.. Da bei mir , wie immer, die Seite nicht Funkoniert , frage ich euch ob es mir einer hochladen kann.(mit den include..)
Danke.. es geht aber jetzt habe ich so ein Bug , wenn ich mich eingeloggt habe , dann werde sofort nach oben "geslapt..."
Liegt an den Spawnbotten , weil ich den weggemacht .. Aber wenn ich hier " TogglePlayerSpectating(playerid, 1); " auf 0 stelle geht es , aber der Spawnbotten wird angezeigt , und das halt andersum... Bild:
http://www.fotos-hochladen.net/uploads/samp003ury0ns38o1.png
danke es geht.