Alles anzeigenHi!
ich würde gerne wissen, wie man alle Befehle loggt, die man eingibt!
Ich habe im moment das:
public OnPlayerCommandText(playerid, cmdtext[])
{
return printf("Spieler %s [%d] => Command: %s", getName(playerid), playerid, cmdtext);
}
Doch in der Konsole steht nur etwas, wenn der Spieler einen Command eingibt, den es nicht gibt.
((Ich benutze OCMD))
Jeffry er benutzt ocmd daher, sollte er die Include etwas abändern oder er nutzt noch eine zusätzliche hooking Methode über state.
Nun gut zum eigentlichen Problem , füg einfach oben bevor du die Include einbindest
#define OCMD_COMMAND_LOG
ein.
Fall du ein anderes format haben willst musst du das define in der include ändern
#define OCMD_COMMAND_LOG_FORMAT "[cmd] [%s]: %s"
oder du definierst es neu Beispiel:
#undef OCMD_COMMAND_LOG_FORMAT
#define OCMD_COMMAND_LOG_FORMAT "[%s]: %s"
Als falls du das ganze nur umbennen möchtest das geht wie Jeffry schon gepostet hat auch via einem define
#define SCM(%0,%1,%2) SendClientMessage(%0,%1,%2)
hooken kannst du die Funktionen auch hier mal ein beispiel:
native __SetPlayerArmour(playerid, Float:armour) = SetPlayerArmour;
stock _SetPlayerArmour(playerid, Float:armour) {
AntiCheat[playerid][aArmour] = armour;
return __SetPlayerArmour(playerid,armour);
}
#if defined _ALS_SetPlayerArmour
#undef SetPlayerArmour
#else
#define _ALS_SetPlayerArmour
#endif
#define SetPlayerArmour _SetPlayerArmour
Das was du machen möchtest würde eigentlich nur mit dem Audioplugin funktionieren, jedoch weiß ich nicht ob er die Sequenz nochmal neu abspielt, falls du auch musik einbinden willst.
Bei PlayAudioStreamForPlayer brauchst du nur ein stream der keine werbung enthält
http://forum.sa-mp.com/showthread.php?t=82162