Danke,das funktioniert jetzt.
Und wie kann ich eine gewisse Anzahl nur an Wanteds erlauben? Also man sollte nur 69 Wanteds erhalten können. auch wenn man z.B einmal 50 Wanteds gibt und einmal 30 es sollte dann automatisch auf 69 gesetzt werden.
Und wenn ich /Wanted id Anzahl Grund eingebe funktioniert es aber wenn ich dann /wanted 0 5 test eingebe dann kommt:
"<<Gesuchter:Smiley Wantedpunkte: 5 Gesamt: 0 Reporter: Smiley Grund:test>>"
Jeffry
Wanted System mit Textdraws problem
- [PeL]Smiley
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Dann musst du es so schreiben:
ocmd:wanted(playerid,params[])
{
new string[128], pID, wantedlevel,reason[64];
if(sscanf(params, "ids", pID, wantedlevel,reason))return SendClientMessage(playerid, Rot, "Benutze: /wanted [ID] [Wanteds] [Grund]");
if(IsPlayerConnected(pID))
{
if(!IsPlayerNPC(pID))
{
SetWantedLevel(pID,GetWantedLevel(pID)+wantedlevel);
if(GetWantedLevel(pID) > 69) SetWantedLevel(pID, 69);
format(string,sizeof(string),"<<Gesuchter:%s Wantedpunkte: %d Gesamt: %d Reporter: %s Grund:%s>>",GetName(pID),wantedlevel,GetWantedLevel(pID),GetName(playerid),reason);
SendClientMessageToAll(Rot,string);
UpdateWantedDraw(pID);
return 1;
}
else return SendClientMessage(playerid,Rot,"Du kannst einem NPC keine Wanteds geben.");
}
else return SendClientMessage(playerid,Rot,"Spieler ist nicht connected.");
} -
Ok danke,wie kann ich nun jetzt die Wanteds auch bei jedem Connect von dem jenigen Spieler wieder geben? also die TExtdraws automatisch anzeigen lassen?
-
Nach dem gleichen Prinzip wie du auch die Kills oder das Geld des Spielers speicherst und lädst.
Wenn du nicht weißt wie, poste bitte den LoginPlayer und dein SavePlayer. -
So sind meine beiden Sachen:
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
SpielerInfo[playerid][ pLevel] = mysql_GetInt(Tabelle_Spieler, "Level","Name", GetName(playerid));
SpielerInfo[playerid][ pAdminlevel] = mysql_GetInt(Tabelle_Spieler, "Adminlevel","Name", GetName(playerid));
SpielerInfo[playerid][ pSkin] = mysql_GetInt(Tabelle_Spieler, "Skin","Name", GetName(playerid));
SpielerInfo[playerid][ pGeld] = mysql_GetInt(Tabelle_Spieler, "Geld","Name", GetName(playerid));
SpielerInfo[playerid][ pBan] = mysql_GetInt(Tabelle_Spieler, "Ban","Name", GetName(playerid));
SpielerInfo[playerid][ pLeader] = mysql_GetInt(Tabelle_Spieler, "Leader","Name", GetName(playerid));
SpielerInfo[playerid][ pRang] = mysql_GetInt(Tabelle_Spieler, "Rang","Name", GetName(playerid));
SpielerInfo[playerid][ pFraktion] = mysql_GetInt(Tabelle_Spieler, "Fraktion","Name", GetName(playerid));
SpielerInfo[playerid][ pBan] = mysql_GetInt(Tabelle_Spieler, "Ban","Name", GetName(playerid));
SpielerInfo[playerid][ pPerso] = mysql_GetInt(Tabelle_Spieler, "Perso","Name", GetName(playerid));
SpielerInfo[playerid][ pWarns] = mysql_GetInt(Tabelle_Spieler, "Warns","Name", GetName(playerid));
SpielerInfo[playerid][ pTimeBan] = mysql_GetInt(Tabelle_Spieler, "TimeBan","Name", GetName(playerid));
SpielerInfo[playerid][ pMute] = mysql_GetInt(Tabelle_Spieler, "Mutetime","Name", GetName(playerid));
SpielerInfo[playerid][ pReportAktiv] = mysql_GetInt(Tabelle_Spieler, "ReportAktiv","Name", GetName(playerid));
SpielerInfo[playerid][ pWanteds] = mysql_GetInt(Tabelle_Spieler, "Wanteds","Name", GetName(playerid));
format(SpielerInfo[playerid][pRegDate],32,"%s", mysql_GetString(Tabelle_Spieler, "Registrierungsdatum","Name", GetName(playerid)));
//Sachen werden gegeben
GivePlayerMoney(playerid, SpielerInfo[playerid][ pGeld ]);
SetPlayerScore (playerid, SpielerInfo[playerid][ pLevel ]);
SetPlayerSkin (playerid, SpielerInfo[playerid][ pSkin ]);
}
return 1;
}stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
SpielerInfo[playerid][ pGeld ] = GetPlayerMoney(playerid);
SpielerInfo[playerid][ pLevel ] = GetPlayerScore(playerid);
SpielerInfo[playerid][ pSkin ] = GetPlayerSkin(playerid);
mysql_SetInt(Tabelle_Spieler,"Level",SpielerInfo[playerid][pLevel],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Adminlevel",SpielerInfo[playerid][pAdminlevel],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Skin",SpielerInfo[playerid][pSkin],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Geld",SpielerInfo[playerid][pGeld],"Name",GetName(playerid));
mysql_SetString(Tabelle_Spieler,"Registrierungsdatum",SpielerInfo[playerid][ pRegDate], "Name", GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Leader",SpielerInfo[playerid][pLeader],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Fraktion",SpielerInfo[playerid][pFraktion],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Rang",SpielerInfo[playerid][pRang],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Perso",SpielerInfo[playerid][pPerso],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Ban",SpielerInfo[playerid][pBan],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"TimeBan",SpielerInfo[playerid][pTimeBan],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Mutetime",SpielerInfo[playerid][pMute],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Warns",SpielerInfo[playerid][pWarns],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"ReportAktiv",SpielerInfo[playerid][pReportAktiv],"Name",GetName(playerid));
mysql_SetInt(Tabelle_Spieler,"Wanteds",SpielerInfo[playerid][pWanteds],"Name",GetName(playerid));
}
return 1;
} -
Da ist es doch sogar schon drin. Füge einfach noch beim Login das hier unten hinzu (bei Sachen werden gegeben):
UpdateWantedDraw(playerid); -
Ok und wie mache ich beim ocmd:wanted ein Limit von Wantedeingabe rein?
Also wenn er 70 WPS geben will soll kommen: "Maximal 69 Wantes!" -
ocmd:wanted(playerid,params[])
{
new string[128], pID, wantedlevel,reason[64];
if(sscanf(params, "ids", pID, wantedlevel,reason))return SendClientMessage(playerid, Rot, "Benutze: /wanted [ID] [Wanteds] [Grund]");
if(IsPlayerConnected(pID))
{
if(!IsPlayerNPC(pID))
{
if(GetWantedLevel(pID)+wantedlevel > 69) return SendClientMessage(playerid, Rot,"Nicht mehr als 69 möglich.");
SetWantedLevel(pID,GetWantedLevel(pID)+wantedlevel);
format(string,sizeof(string),"<<Gesuchter:%s Wantedpunkte: %d Gesamt: %d Reporter: %s Grund:%s>>",GetName(pID),wantedlevel,GetWantedLevel(pID),GetName(playerid),reason);
SendClientMessageToAll(Rot,string);
UpdateWantedDraw(pID);
return 1;
}
else return SendClientMessage(playerid,Rot,"Du kannst einem NPC keine Wanteds geben.");
}
else return SendClientMessage(playerid,Rot,"Spieler ist nicht connected.");
} -
Ok,danke
Wie muss ich das hier machen?
ocmd:fhelp(playerid,params[])
{
new string[128];
format(string,sizeof(string),""COLO" FraktionsBefehle:\n");
if(SpielerInfo[playerid][pFraktion]==1)
ShowPlayerDialog(playerid,DIALOG_FHELP,DIALOG_STYLE_MSGBOX,""COLO"Fraktionshilfe",string,"OK","");
return 1;
} -
Was willst du denn überhaupt machen? Dem Code kann ich gar nichts von deinem Vorhaben entnehmen.
-
Fraktionshilfliste erstellen,das für die jeweilige Fraktion die Befehle in einem DIALOG_STYLE_MSGBOX stehene.
-
So zum Beispiel:
ocmd:fhelp(playerid,params[])
{
new string[512];
format(string,sizeof(string),""COLO" FraktionsBefehle:\n");
switch(SpielerInfo[playerid][pFraktion])
{
case 1:
{
format(string,sizeof(string),"%s/befehl 1\n", string);
format(string,sizeof(string),"%s/befehl 2\n", string);
format(string,sizeof(string),"%s/befehl 3\n", string);
}
case 2:
{
format(string,sizeof(string),"%s/befehl x\n", string);
format(string,sizeof(string),"%s/befehl y\n", string);
format(string,sizeof(string),"%s/befehl z\n", string);
}
}
ShowPlayerDialog(playerid,DIALOG_FHELP,DIALOG_STYLE_MSGBOX,""COLO"Fraktionshilfe",string,"OK","");
return 1;
} -
breadfish.de
Hat das Thema geschlossen.