1. wie kann ich machen, dass wenn ich den server aus mache bzw. gmx mache das da die account daten von dem spieler gespeichert werden ?
hier mal meine OnPlayerDisconnect funktion:
stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof (name));
format (Spielerdatei, sizeof (Spielerdatei), "/Accounts/%s.ini", name);
dini_IntSet(Spielerdatei, "Geld", (GetPlayerMoney(playerid)));
dini_IntSet(Spielerdatei, "Skin", (GetPlayerSkin(playerid)));
dini_IntSet(Spielerdatei, "muted", 0);
return 1;
}
//Player verlässt Server
public OnPlayerDisconnect(playerid,reason)
{
if (GetPVarInt(playerid, "eingeloggt") == 1)
{
SpielerSpeichern(playerid);
return 1;
}
return 1;
}
2. passiert folgendes bin ich im server drinne:
registriert sich dann ein neuer kann ich ja auswählen ob ich tut machen will oder nich:
klick ich auf nein ist ja alles ok
bei ja wechselt er ja mit der camera zu verschiedenen gebäuden:
also pd un so
also wenn ich bei tut machen ? auf ja klicke, wechselt bei dem neu registrierten die camera zum ersten gebäude
und dann wenn es zum 2. wechselt, wechselt es nicht bei dem neu registrierten zum nächsten gebäude, sondern bei allen spielern die schon drinne sind
un das tut von dem registrierten friert ein.
aber das von den anderen spielern die schon drinne sind da läuft das tut bis zu ende durch
hier meine tut code:
public tut2(playerid)
{
TextDrawHideForPlayer(playerid, tut1_zeile1);
TextDrawHideForPlayer(playerid, tut1_zeile2);
TextDrawHideForPlayer(playerid, tut1_zeile3);
TextDrawShowForPlayer(playerid, tut2_zeile1);
TextDrawShowForPlayer(playerid, tut2_zeile2);
TextDrawShowForPlayer(playerid, tut2_zeile3);
SetSpawnInfo(playerid,0,26,1209.2809,-1323.8219,13.3984,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid,1209.2809,-1323.8219,13.3984);
SetPlayerCameraLookAt(playerid, 1172.0898,-1323.2286,15.4027);
SetTimer("tut3", 10000, false);
return 1;
}
public tut3(playerid)
{
TextDrawHideForPlayer(playerid, tut2_zeile1);
TextDrawHideForPlayer(playerid, tut2_zeile2);
TextDrawHideForPlayer(playerid, tut2_zeile3);
TextDrawShowForPlayer(playerid, tut3_zeile1);
TextDrawShowForPlayer(playerid, tut3_zeile2);
TextDrawShowForPlayer(playerid, tut3_zeile3);
SetSpawnInfo(playerid,0,26,1481.0909,-1166.6974,24.0891,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid,1481.0909,-1166.6974,24.0891);
SetPlayerCameraLookAt(playerid, 1458.7700,-1140.0200,24.0692);
SetTimer("tut4",10000,false);
return 1;
}
public tut4(playerid)
{
TextDrawHideForPlayer(playerid, tut3_zeile1);
TextDrawHideForPlayer(playerid, tut3_zeile2);
TextDrawHideForPlayer(playerid, tut3_zeile3);
TextDrawShowForPlayer(playerid, tut4_zeile1);
TextDrawShowForPlayer(playerid, tut4_zeile2);
TextDrawShowForPlayer(playerid, tut4_zeile3);
SetSpawnInfo(playerid,0,26,1472.6868,-1048.3533,23.8290,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid,1472.6868,-1048.3533,23.8290);
SetPlayerCameraLookAt(playerid, 1462.3735,-1010.1993,26.8438);
SetTimer("tut5",10000,false);
return 1;
}
public tut5(playerid)
{
TextDrawHideForPlayer(playerid, tut4_zeile1);
TextDrawHideForPlayer(playerid, tut4_zeile2);
TextDrawHideForPlayer(playerid, tut4_zeile3);
TextDrawShowForPlayer(playerid, tut5_zeile1);
TextDrawShowForPlayer(playerid, tut5_zeile2);
SetSpawnInfo(playerid,0,26,1204.3558,-954.0793,42.9260,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid, 1204.3558,-954.0793,42.9260);
SetPlayerCameraLookAt(playerid, 1200.7501,-927.4736,42.9671);
SetTimer("tut6",10000,false);
return 1;
}
public tut6(playerid)
{
TextDrawHideForPlayer(playerid, tut5_zeile1);
TextDrawHideForPlayer(playerid, tut5_zeile2);
TextDrawShowForPlayer(playerid, tut6_zeile1);
TextDrawShowForPlayer(playerid, tut6_zeile2);
TextDrawShowForPlayer(playerid, tut6_zeile3);
SetSpawnInfo(playerid,0,26,556.6799,-1255.1632,17.0741,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid, 556.6799,-1255.1632,17.0741);
SetPlayerCameraLookAt(playerid, 544.6072,-1293.7593,17.2422);
SetTimer("tut7",10000,false);
return 1;
}
public tut7(playerid)
{
TextDrawHideForPlayer(playerid, tut6_zeile1);
TextDrawHideForPlayer(playerid, tut6_zeile2);
TextDrawHideForPlayer(playerid, tut6_zeile3);
TextDrawShowForPlayer(playerid, tut7_zeile1);
TextDrawShowForPlayer(playerid, tut7_zeile2);
TextDrawShowForPlayer(playerid, tut7_zeile3);
SetSpawnInfo(playerid,0,26,1479.7684,-1721.1296,13.5469,1.3277,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid,26);
TogglePlayerControllable(playerid,0);
SetPlayerCameraPos(playerid, 1479.7684,-1721.1296,20.5469);
SetPlayerCameraLookAt(playerid, 1481.1078,-1770.0000,18.7958);
SetTimer("tut_end",10000,false);
return 1;
}
public tut_end(playerid)
{
TextDrawHideForPlayer(playerid, tut7_zeile1);
TextDrawHideForPlayer(playerid, tut7_zeile2);
TextDrawHideForPlayer(playerid, tut7_zeile3);
SetSpawnInfo(playerid,0,26,1484.5742,-1742.8270,13.5469,1.3277,0,0,0,0,0,0);
TogglePlayerControllable(playerid,1);
AccountLaden(playerid);
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof (name));
format (Spielerdatei, sizeof (Spielerdatei), "/Accounts/%s.ini", name);
dini_IntSet(Spielerdatei, "Tutorial", 1);
ShowPlayerDialog(playerid, DIA_TUT_END, DIALOG_STYLE_MSGBOX, "Tutorial-Ende", "Du hast nun eine Überblick über die wichtigsten Gebäude/Standorte erhalten. \nUm dich mit den Befehlen vertraut zu machen, \ngebe /help ein. \nDu beginnst mit 30000$. \nTIPP: Du solltest dir als erstes einen Skin kaufen. \nNun aber viel Spaß beim Spielen.","Play","");
return 1;
}
3. problem
wenn ich auf meinem laptop meinen spieler anguck auf meinem pc hat der einen anderen skin als der den ich auf meinem pc steuere
und das gleiche auch anders rum
wieso bloß
4. ich habe das problem das bei mir wenn ich schreibe kein text ausgegeben wird:
public OnPlayerText(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof (name));
format (Spielerdatei, sizeof (Spielerdatei), "/Accounts/%s.ini", name);
new ooc[64];
new text[64];
if (playerid, dini_Int(Spielerdatei, "Admin") == 0)
{
if (playerid, dini_Int(Spielerdatei, "muted") == 1)
{
SendClientMessage(playerid, ROT, "Du bist gemuted und kannst nicht reden.");
return 0;
}
else
{
format(ooc, sizeof(ooc), "{FFFFFF}%s: %s", name, text);
SendClientMessageToAll(CHATCOLOR, ooc);
return 0;
}
}
if (playerid, dini_Int(Spielerdatei, "Admin") == 1)
{
if (playerid, dini_Int(Spielerdatei, "muted") == 1)
{
SendClientMessage(playerid, ROT, "Du bist gemuted und kannst nicht reden.");
return 0;
}
else
{
format(ooc, sizeof(ooc), "{0099FF}Supporter {FFFFFF}%s: %s", name, text);
SendClientMessageToAll(CHATCOLOR, ooc);
return 0;
}
}
if (playerid, dini_Int(Spielerdatei, "Admin") == 2)
{
if (playerid, dini_Int(Spielerdatei, "muted") == 1)
{
SendClientMessage(playerid, ROT, "Du bist gemuted und kannst nicht reden.");
return 0;
}
else
{
format(ooc, sizeof(ooc), "{009900}Scripter {FFFFFF}%s: %s", name, text);
SendClientMessageToAll(CHATCOLOR, ooc);
return 0;
}
}
if (playerid, dini_Int(Spielerdatei, "Admin") == 3)
{
if (playerid, dini_Int(Spielerdatei, "muted") == 1)
{
SendClientMessage(playerid, ROT, "Du bist gemuted und kannst nicht reden.");
return 0;
}
else
{
format(ooc, sizeof(ooc), "{FF0000}Admin {FFFFFF}%s: %s", name, text);
SendClientMessageToAll(CHATCOLOR, ooc);
return 0;
}
}
return 1;
}
wird steht zwar dann z.b. da Admin meinname: da aber es steht dann nichts hinter dem doppelpunkt egal was ich schreibe. also ich drück normal t geb irwas ein und es steht dann nur da Admni meiname:
was is da los ?
EDIT:// keiner ne idee ?