Hallo zusammen,
ich bin gerade dran ein Script zuerstellen und hänge gerade an dem Problem mit den Kills & Deaths abspeichern. Im prinzip funktioniert es, aber wenn ich Sterbe geht bei Kills +1 und bei Deaths +1. Ich poste am besten mal meinen Code:
Erstmal SpielerSpeichern:
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.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Kills",GetPVarInt(playerid,"Kills"));
dini_IntSet(Spielerdatei,"Deaths",GetPVarInt(playerid,"Deaths"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
}
return 1;
}
LoadAccount:
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
SetPVarInt(playerid,"Deaths",dini_Int(Spielerdatei,"Deaths"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
Zu dem /stats Befehl:
if(strcmp(cmdtext,"/stats",true)==0)
{
new string[128];
new fraktname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname=fraktname1;}
case 2:{fraktname=fraktname2;}
case 3:{fraktname=fraktname3;}
}
//1 reihe
SendClientMessage(playerid,HELLBLAU,"|________________Statistik________________|");
format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
SendClientMessage(playerid,HELLBLAU,string);
//2 reihe
format(string,sizeof(string),"[Kills: %i] [Deaths: %i]",GetPVarInt(playerid,"Kills"),GetPVarInt(playerid,"Deaths"));
SendClientMessage(playerid,HELLBLAU,string);
return 1;
}
Und jetzt zu meinem Hauptproblem dem public OnPlayerDeath:
public OnPlayerDeath(playerid, killerid, reason)
{
//Killerid
GivePlayerMoney(killerid,150);
{
SetPlayerScore(killerid,(GetPlayerScore(killerid)+1));
SetPVarInt(killerid,"Level", GetPVarInt (killerid, "Level") + 1);
SetPVarInt(killerid,"Kills", GetPVarInt (killerid, "Kills") + 1);
}
GivePlayerMoney(playerid,-100);
{
SetPVarInt(playerid,"Deaths", GetPVarInt (playerid, "Deaths") + 1);
}
//Message
SendDeathMessage(killerid, playerid, reason);
GameTextForPlayer(playerid,"~w~Death",1000,3);
GameTextForPlayer(killerid,"~w~Kill",1000,3);
return 1;
}
ich hoffe mir kann jemannd helfen. Da ich mit dem Scripten noch recht am Anfang stehe.
MfG Brand