Wie kann ich die random Farben von spielern abschalten?
Indem du z.B. unter OnPlayerConnect SetPlayerColor(playerid,-1); schreibst ![]()
mfg. ![]()
Wie kann ich die random Farben von spielern abschalten?
Indem du z.B. unter OnPlayerConnect SetPlayerColor(playerid,-1); schreibst ![]()
mfg. ![]()
Schreib das so:
ocmd@2:o,ooc(playerid,params[])
{
if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
if(!params[0]) return SCM(playerid,COLOR_GRAU,"Info: /o oder /OOC [text]");
format(params,128,"[OOC]: %s: %s",SpielerName(i),params);
SendClientMessageToAll(-1,params);
return 1;
}
mfg. ![]()
Da ich eben versucht habe mit OCMD ein Godmode für Admins zu erstellen und es nicht klappte frage ich euch.
Mach es so:
//Schreib das oben ins Skript
#define FLOAT_INFINITY (Float:0x7F800000)
//Und das schreib im Befehl
SetPlayerHealth(playerid, FLOAT_INFINITY);
mfg. ![]()
Schreib das mal so:
ocmd:blitzer(playerid, params[])
{
if(!isPlayerInFrakt(playerid, 2)) return SendClientMessage(playerid, Rot, "Du bist nicht berechtigt einen Blitzer aufzubauen.");
if(isPlayerFRang(playerid, 3)) return SendClientMessage(playerid, Rot, "Du musst mindestens Geselle sein um einen Blitzer aufzubauen.");
new speed, funktion[16];
if(sscanf(params, "s[16]D(0)", funktion, speed)) return SendClientMessage(playerid, Rot, "Benutzung: /blitzer [add] [Geschwindigkeit] / [remove] / [removeall]");
if(!strcmp(funktion, "add", true))
{
if(!speed) return SendClientMessage(playerid, Rot, "Benutzung: /blitzer [add] [Geschwindigkeit] / [remove] / [removeall]");
if(speed <= 29 || speed > 151) return SendClientMessage(playerid, Rot, "Die Geschwindigkeit muss zwischen 30 und 150 km/h sein.");
AddBlitzer(playerid, speed, 25);
new string[64],string1[128];
format(string1, sizeof(string1), "HQ: Ordnungshüter %s hat einen Blitzer aufgebaut. Geschwindigkeit: %dkm/h.", SpielerName(playerid), speed);
format(string, sizeof(string), "HQ: An alle Einheiten: Das System meldet:");
for(new i; i < MAX_PLAYERS; i++) {
if(isPlayerInFrakt(i, 1) || isPlayerInFrakt(i, 2)) {
SendClientMessage(i, Meldung, string),SendClientMessage(i, Meldung, string1);
}
}
return 1;
} else if(!strcmp(funktion, "remove", true)) {
SendClientMessage(playerid, Gelb, "Moin hier alle");
return 1;
}
return SendClientMessage(playerid, Rot, "Die Funktionen für den Blitzer sind [add] / [remove] / [removeall]");
}
mfg. ![]()
if(method == "add")
In Pawn muss man Strings mit strcmp vergleichen ![]()
Sprich
if(!strcmp(method,"add",true))
format(str2,sizeof(string),
Das musst du so schreiben:
format(str2,sizeof str2,
mfg. ![]()
So ist der Index leer, dann hätte er doch eine Länge von Null, oder nicht?
Nein Nein.
new Test[10][MAX_PLAYER_NAME];
sizeof(Test) //= 10
sizeof(Test[]) //= MAX_PLAYER_NAME = 24
mfg. ![]()
Bei einem eindimensionalen Array geht das, aber darüber nicht mehr.
Doch das geht, nur der index muss leer sein ![]()
Sprich so schreiben:
format(LastKilledPlayer[playerid], sizeof(LastKilledPlayer[]), "%s", kID);
mfg. ![]()
ocmd:Blitzer(playerid, params[])
{
if(!strcmp(params,"add",true))
{
CreateObject...
}
else if(!strcmp(params,"remove",true))
{
DestroyObject...
}
return SendClientMessage(playerid,-1,"Es gibt nur add oder remove!");
}
mfg. ![]()
Aber wenn ich das ganze zurücklaufen lassen will?
Dann musst du es so schreiben:
static x = sizeof(SKINS_ZIVI)-1;
if(x == -1) x=sizeof(SKINS_ZIVI)-1;
SetPlayerSkin(playerid,SKINS_ZIVI[x]),x--;
mfg. ![]()
jetzt so als Beispiel.
Schreib das mal so:
//Oben im Skript
stock const skins[] = {
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
};
//In deinem Callback
static x;
if(x == sizeof(skins)) x=0;
SetPlayerSkin(skins[x]),x++;
mfg. ![]()
Bin gerade an einem Tut Textdraw und wollte fragen ob es eine andere Möglichekit gibt ein Große flächte mit Text zufüllen als mit 20 Textdraws.
Ja, du kannst mit ~n~ einen Zeilenumbruch in deinem TextDraw machen und somit über mehrere Zeilen schreiben ![]()
mfg. ![]()
Schreib mal deine Makros so:
#define givePlayerMoney(%0,%1) pInfo[%0][pGeld]+=%1,GivePlayerMoney(%0,%1)
#define setPlayerMoney(%0,%1) ResetPlayerMoney(%0),pInfo[%0][pGeld]=%1,GivePlayerMoney(%0,%1)
mfg. ![]()
Schade, dass es hier keinen Facepalm Smiley gibt für die Antwort von Kaliber...
Wieso? ![]()
Wenn du die GangZone beliebig verschiebst, dann ist sie doch nicht mehr über dem Gebiet, welches sie eingrenzen soll.
Das ist doch der Sinn einer "Zone" (normalerweise), dass sie halt eben einen exakten Bereich markiert und nicht beliebig mal so sich verschiebt.
//Edit:
Schreib die Funktion mal so:
stock FraktionsNamen(fID)
{
new rankname[32];
switch(fID)
{
case 0: rankname="Zivilist";
case 1: rankname="LSPD";
case 2: rankname="FBI";
case 3: rankname="Army";
case 4: rankname="Medic";
case 5: rankname="News Reporter";
case 6: rankname="T-GmbH";
case 7: rankname="Abfallwirtschaft";
case 8: rankname="Hitman";
case 9: rankname="Grove Street";
case 10: rankname="Al-Qaida";
case 11: rankname="Ballas";
case 12: rankname="Fahrschule";
case 13: rankname="La Cosa Nostra";
case 14: rankname="Taxi";
case 15: rankname="Yakuza";
case 16: rankname="Staatsverwaltung";
case 17: rankname="SAPD";
case 18: rankname="Aztecas";
case 19: rankname="Rifas";
case 20: rankname="RS";
case 21: rankname="Cripz";
case 22: rankname="Russische Mafia";
case 23: rankname="SFBC";
case 24: rankname="Vagos";
case 25: rankname="Wheelmen";
}
return rankname;
}
mfg. ![]()
da lohnt sich er Aufwand nicht, wenn man es in Relation zu den Fehlern sieht, wie man hier wunderschön sieht.
Zu deiner Information die Fehler entstanden nicht durch das packen der Variablen, sondern durch das const...was als Beispiel dienen sollte.
FraktionsNamen
Zeig mal wie du diese Funktion geschrieben hast ![]()
Ähm, wie schafft man es das die Gangzone die man dann erstellt sich nicht überlappt like this
...einfach auf deine Koordinaten achten die du speicherst, dass diese sich nicht überlappen ![]()
SpielerName(playerid)
Es wäre gut zu wissen, wo und wie du GetPlayerName nutzt...
Aber anhand deiner Variable musst du es so schreiben:
format(string,sizeof(string),"* HQ: Officer %s hat die S.W.A.T erlaubnis entzogen.",SpielerName);
mfg. ![]()