Hey Leute ich hab bei meinem kleinen DM Script 2 kleine Fehler die ich nicht beheben kann^^
Das 1. Problem ist das wohl einfachere
Ich möchte wenn man /stats tipp die K/D(Kill/Death Quote) des Spielers ausrechen aber obwohl ich es als Float angegeben habe rundet es immer auf .0
ocmd:stats(playerid,params[])
{
#pragma unused params
new zeile1[128],zeile2[128],zeile3[128],zeile4[128],Float:kd;
kd = pInfo[playerid][Kills]/pInfo[playerid][Tode];
format(zeile1,sizeof(zeile1),"**************************************Statistik**************************************");
format(zeile2,sizeof(zeile2),"[Name: %s] [Geld: %i] [Level: %i] [Adminlevel: %i]",Spielername(playerid),GetPlayerCash(playerid),GetPlayerScore(playerid),pInfo[playerid][Adminlevel]);
format(zeile3,sizeof(zeile3),"[Kills: %i] [Tode: %i] [K/D: %f] [Wanteds: %i]",pInfo[playerid][Kills],pInfo[playerid][Tode],kd,pInfo[playerid][Wanteds]);
format(zeile4,sizeof(zeile4),"*************************************************************************************");
SCM(playerid,weiß,zeile1);
SCM(playerid,weiß,zeile2);
SCM(playerid,weiß,zeile3);
SCM(playerid,weiß,zeile4);
return 1;
}
Wenn ich zum Beispiel 28Kills und 17Tode habe würde im Spiel dastehen 1.0000000 Ich möchte aber dass 1.647 oder 1.68 oder ähnliches angezeigt wird
Das 2. Problem ist schon merkwürdiger Jedesmal wenn man sich einloggt bekommt man 115€ gutgeschrieben o_O Obwohl nichts dergleichen im Script geschrieben wurde weder beim Login noch bei OnPlayerConnect noch sonst wo
Aber hier trotzdem mal die Callbacks
public OnPlayerConnect(playerid)
{
if(fexist(getINI(playerid)))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Bitte gib dein Passwort ein.","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Dieser Account existiert nicht. Bitte gib dein gewünschtes Passwort ein","Registrieren","Abbrechen");
}
ResetPlayerCash(playerid);
//WantedZahl
TextDrawShowForPlayer(playerid,Stern);
WtdZahl[playerid] = CreatePlayerTextDraw(playerid, 528 ,98 ,"0");
PlayerTextDrawFont(playerid,WtdZahl[playerid] , 2);
PlayerTextDrawLetterSize(playerid,WtdZahl[playerid] , 0.5, 2.8);
PlayerTextDrawColor(playerid,WtdZahl[playerid] , 0xFEFEFEFF);
PlayerTextDrawSetOutline(playerid, WtdZahl[playerid] , true);
PlayerTextDrawSetProportional(playerid,WtdZahl[playerid] , true);
PlayerTextDrawSetShadow(playerid,WtdZahl[playerid] , 1);
return 1;
}
public OnPlayerSpawn(playerid)
{
new WtdAnzahl[10];
format(WtdAnzahl,sizeof(WtdAnzahl),"%i",pInfo[playerid][Wanteds]);
PlayerTextDrawShow(playerid,WtdZahl[playerid]);
PlayerTextDrawSetString(playerid,WtdZahl[playerid],WtdAnzahl);
PlayerTextDrawShow(playerid,WtdZahl[playerid]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response)return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Dieser Account existiert nicht. Bitte gib dein gewünschtes Passwort ein","Registrieren","Abbrechen");
}
if(INI_Open(getINI(playerid)))
{
INI_WriteString("Passwort",inputtext);
INI_WriteInt("Level",1);
INI_WriteInt("Geld",2000);
INI_WriteInt("Adminlevel",0);
INI_WriteInt("Kills",0);
INI_WriteInt("Tode",0);
INI_WriteInt("Wanteds",0);
INI_WriteInt("Warns",0);
INI_WriteInt("Banned",0);
INI_Save();
INI_Close();
SCM(playerid,grün,"Du hast dich erfolgreich registriert. Nun logge dich mit deinem Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Bitte gib dein Passwort ein.","Login","Abbrechen");
}
}
}
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Bitte gib dein Passwort ein.","Login","Abbrechen");
}
if(INI_Open(getINI(playerid)))
{
INI_ReadString(pInfo[playerid][Passwort],"Passwort",20);
if(strcmp(inputtext,pInfo[playerid][Passwort],false))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Bitte gib dein Passwort ein.","Login","Abbrechen");
SCM(playerid,rot,"Falsches Passwort");
}
else
{
new Nachricht[128];
format(Nachricht,sizeof(Nachricht),"%s hat den Server betreten",Spielername(playerid));
SCMTA(gelb,Nachricht);
SetPlayerScore( playerid, INI_ReadInt("Level" ) );
ResetPlayerMoney( playerid );
GivePlayerCash( playerid, INI_ReadInt( "Geld" ) );
pInfo[playerid][Adminlevel] = INI_ReadInt("Adminlevel");
pInfo[playerid][Kills] = INI_ReadInt("Kills");
pInfo[playerid][Tode] = INI_ReadInt("Tode");
pInfo[playerid][Wanteds] = INI_ReadInt("Wanteds");
pInfo[playerid][Warns] = INI_ReadInt("Warns");
pInfo[playerid][Banned] = INI_ReadInt("Banned");
INI_Close();
SCM(playerid,grün,"Erfolgreich eingeloggt");
}
}
}
}
}
return 1;
}
Ich hoffe jemand kann mir helfen
MfG
MrMonkey