Ich nehme alle Tiere dann bleibt das hier ein samp Forum.
Beiträge von ZeroTheHero
-
-
Was genau meinst du?
Also das sich jeder PD'ler gegenseitig auf der Minimap sieht?Ja, das meine ich
Also in deiner Spawn Funktion sollst du dies reinmache in deine Fraktions Funktion:
for(new xi=0; xi<sizeof(MAX_PLAYERS); xi++)
{
SetPlayerMarkerForPlayer(playerid, xi, DEINE FARBE);
}Dies Sollte es sein was du suchst.
LG,
SkoamFunktioniert leider nicht
Könnte es daran liegen (unter OnGamemodeInit)
ShowPlayerMarkers(0); -
Hallo!
Ich versuche derzeit ein "PDGps" zu scripten. Dies soll die Polizisten gegenseitig auf der Map markieren. Ich komme allerdings nicht dahinter, wie ich das machen soll. Vielleicht kann mir jemand helfen.
Mfg!
-
Schau im Startbeitrag. Dort ist eine Seite verlinkt, wo das Objekt aufgeführt ist. Alternativ einfach mal hier ein paar Seiten zurück schauen. Das würde schon sehr oft gesucht und auch gezeigt.
Tut mir leid, jedoch bin ich auf keiner der Seiten wirklich fündig geworden -
Hallo!
Ich bräuchte die ID von dem "Samt" Band, dass man meistens um Autos in Autohäusern oder so drum rum macht (im echten Leben oft als Absperrung um Ausstellungsgegenstände).MfG!
-
Ok, dann mach mal:
format(string, sizeof(string), "%s%s || %i Schuss",string,GetWeaponNameEx(sInfo[playerid][weapons][i]), sInfo[playerid][ammo][i]);
zu:
format(string, sizeof(string), "%s%s || %i Schuss",string,"Test", sInfo[playerid][ammo][i]);Zeigt es dir dann etwas an?
Nope, ändert nichts -
weapons[11]
zu:
weapons[12]Ebenso bei der Ammo.
Hab ich gemacht, jetzt passiert aber ganr nichts mehr
-
Wie hast du "weapons" in sInfo deklariert (im enum)?
Hast du eine mehrzeilige Meldung mit vielen Zahlen im Compiler?
weapons ist im Enum so definiert:
weapons[11]Nein, ich bekomme keinen komischen Code im Kompiler.
GetWeaponNameEx sieht so aus:
stock GetWeaponNameEx(weaponid)
{
new weapon[40], len = sizeof(weapon);
switch(weaponid)
{
case 0: return strcat(weapon, "Keine Waffe", len);
case 1: return strcat(weapon, "Schlagring", len);
case 2: return strcat(weapon, "Golfschläger", len);
case 3: return strcat(weapon, "Schlagstock", len);
case 4: return strcat(weapon, "Messer", len);
case 5: return strcat(weapon, "Baseball Schläger", len);
case 6: return strcat(weapon, "Schaufel", len);
case 7: return strcat(weapon, "Billiard Kö", len);
case 8: return strcat(weapon, "Katana", len);
case 9: return strcat(weapon, "Kettensäge", len);
case 10: return strcat(weapon, "Lila Dildo", len);
case 11: return strcat(weapon, "Dildo", len);
case 12: return strcat(weapon, "Vibrator", len);
case 13: return strcat(weapon, "Silberner Vibrator", len);
case 14: return strcat(weapon, "Blumenstrauß", len);
case 15: return strcat(weapon, "Gehstock", len);
case 16: return strcat(weapon, "Granate", len);
case 17: return strcat(weapon, "Tränen Gas", len);
case 18: return strcat(weapon, "Molotov Cocktail", len);
case 22: return strcat(weapon, "Pistole (9mm)", len);
case 23: return strcat(weapon, "Silenced Pistole (9mm)", len);
case 24: return strcat(weapon, "Desert Eagle", len);
case 25: return strcat(weapon, "Shotgun", len);
case 26: return strcat(weapon, "Abgesägte Shotgun", len);
case 27: return strcat(weapon, "Combat Shotgun", len);
case 28: return strcat(weapon, "Uzi", len);
case 29: return strcat(weapon, "MP5", len);
case 30: return strcat(weapon, "AK-47", len);
case 31: return strcat(weapon, "M4", len);
case 32: return strcat(weapon, "Tec-9", len);
case 33: return strcat(weapon, "Country Rifle", len);
case 34: return strcat(weapon, "Sniper Rifle", len);
case 35: return strcat(weapon, "RPG", len);
case 36: return strcat(weapon, "Wäresuch-RPG", len);
case 37: return strcat(weapon, "Flammenwerfer", len);
case 38: return strcat(weapon, "Minigun", len);
case 39: return strcat(weapon, "Rucksack-Bombe", len);
case 40: return strcat(weapon, "Zünder", len);
case 41: return strcat(weapon, "Pefferspray", len);
case 42: return strcat(weapon, "Feuerlöscher", len);
case 43: return strcat(weapon, "Kamera", len);
case 44: return strcat(weapon, "Night Vision Goggles", len);
case 45: return strcat(weapon, "Thermal Goggles", len);
case 46: return strcat(weapon, "Fallschirm", len);
default: return strcat(weapon, "Keine Waffe", len);
}
return 1;
}den Befehl habe ich mittlerweile abgeändert, er sieht nun so aus:
CMD:search(playerid, params[])
{
if(sInfo[playerid][frak] == 1)
{
if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein, um diesen Befehl zu nutzen!");
new uID;
if(sscanf(params, "u", uID)) return SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Verwende:"cBlue" /search [Spielername/ID]");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "[Info] Der Spieler ist nicht connected!");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(uID, X, Y, Z);
if(!IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) return SendClientMessage(playerid, COLOR_RED, "[Info] Du bist nicht in der Nähe des Spielers!");
new string[1500];
for(new i=0; i<12; i++)
{
format(string, sizeof(string), "%s%s || %i Schuss",string,GetWeaponNameEx(sInfo[playerid][weapons][i]), sInfo[playerid][ammo][i]);
}
new string2[128];
format(string, sizeof(string), ""cBlue"[SAPD]"cWhite" Durchsuchung: %s", GetName(uID));
ShowPlayerDialog(playerid, DIALOG_SEARCH, DIALOG_STYLE_MSGBOX, string2, string, "Schliessen", "");
return 1;
}
else
{
return 0;
}
} -
Hallo und zwar habe ich folgendes Problem:
Wenn ich den Befehl eingeben kommt "Befehl nicht gefunden".
Ich habe den Fehler bereits debuggt, der Fehler liegt irgendwo hinter der 5 aber ich kann mir leider nicht vorstellen, wo er sein soll, vielleicht kann mir ja einer von euch helfenMfG!
CMD:search(playerid, params[])
{
if(sInfo[playerid][frak] == 1)
{
if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein, um diesen Befehl zu nutzen!");
new uID;
SendClientMessage(playerid, COLOR_WHITE, "1");
if(sscanf(params, "u", uID)) return SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Verwende:"cBlue" /search [Spielername/ID]");
SendClientMessage(playerid, COLOR_WHITE, "2");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "[Info] Der Spieler ist nicht connected!");
SendClientMessage(playerid, COLOR_WHITE, "3");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(uID, X, Y, Z);
SendClientMessage(playerid, COLOR_WHITE, "4");
if(!IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) return SendClientMessage(playerid, COLOR_RED, "[Info] Du bist nicht in der Nähe des Spielers!");
SendClientMessage(playerid, COLOR_WHITE, "5");
new string[1500], gunname[32];
for(new i=0; i<12; i++)
{
GetWeaponNameEx(sInfo[playerid][weapons][i], gunname);
format(string, sizeof(string), ""cWhite"%s%s || %i Schuss\n",string,gunname,sInfo[playerid][ammo][i]);
}
SendClientMessage(playerid, COLOR_WHITE, "6");
new string2[128];
format(string, sizeof(string), ""cBlue"[SAPD]"cWhite" Durchsuchung: %s", GetName(uID));
SendClientMessage(playerid, COLOR_WHITE, "7");
ShowPlayerDialog(playerid, DIALOG_SEARCH, DIALOG_STYLE_MSGBOX, string2, string, "Schliessen", "");
SendClientMessage(playerid, COLOR_WHITE, "8");
return 1;
}
else
{
return 0;
}
}//Edit Rechtsschreibefehl
Jeffry: -
-
Kann man die Lizenz auch einzeln erhalten?
-
Ok, dann mach das mit den Prints und poste dann wieder hier. Nur so (oder mit dem crashdetect Plugin) kannst du genau erkennen an welcher Zeile der Fehler ist.
Danke!
Habe mit diesen nützlichen Tipps den Fehler gefunden und behoben! -
Die Nachricht gibt es in dem Befehl gar nicht.
Hast du das mit den Prints gemacht? Wenn ja, was kommt da raus und wie sieht der Befehl dann mit den ganzen prints aus?
Huch, was laber ich denn, ich meinte die Nachricht "Du erhältst für das Behandeln..."
Das mit den Prints mach ich sobald ich wieder am PC bin (wahrscheinlich erst morgen) -
Setze mal zwischen jede Zeile einen print mit einer Zahl.
Also so:
//Code
print("1");
//Code
print("2");
//Code
...Welches ist die höchste Zahl die noch angezeigt wird?
Poste dann bitte den Befehl mit den ganzen prints wie du ihn hast.Kommt denn das Unknown Command auch, wenn du nicht in Fraktion 2 bist und den Befehl verwendest?
Nein, es kommt immer nach dem "Du hast... wiederbelebt" -
Der Befehl funktioniert komplett es werden auch alle Nachrichten angezeigt, die Befehl nicht gefunden Nachricht kommt zusätzlich.
Und der Spieler kommt nicht an die richtige Position sondern an den Zivi Spawn -
Hallo, ich habe der Zeit ein Problem mit meinem /revive Befehl, der Spieler wird nicht an der gewünschten Position gespawnt und es kommt immer "Server unknown" command, ich poste einfach mal den Code
CMD:revive(playerid, params[])
{
if(sInfo[playerid][frak] == 2)
{
if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein um diesen Befehl zu nutzen.");
if(GetNearest_Death(playerid, 8.0) == -1) return SendClientMessage(playerid, COLOR_RED, "[Info] Es ist kein Toter in deiner Nähe!");
new target = GetNearest_Death(playerid, 8.0);
if(target == playerid) return 1;
KillTimer(PlayerDeath[target][timer]);
DestroyDynamicPickup(PlayerDeath[target][dpickupid]);
sInfo[target][gestorben] = 0;
sInfo[target][revived] = 0;
TogglePlayerSpectating(target, 0);
SetCameraBehindPlayer(target);
new money2=200, value, string[128];
value = random(99);
money2 += value;
format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
SendClientMessage(target, COLOR_BLUE, string);
format(string, sizeof(string), "[Info] Du erhälst für das Behandeln von %s %i€",GetName(target), money2-100);
SendClientMessage(playerid, COLOR_BLUE, string);
sInfo[target][money] -= money2;
sInfo[playerid][money] += money2-100;
SetPlayerMoney(target);
SetPlayerMoney(playerid);
for(new j=0; j<sizeof(PlayerDeath); j++)
{
PlayerDeath[target][deathInfo:j] = 0;
}
}
else
{
return SendClientMessage(playerid, COLOR_RED, "[Info] Du darfst diesen Befehl nicht nutzen!");
}
return 1;
}Vielen dank im vor raus!
MfG! -
Du solltest erstmal
SpawnPlayer(playerid); // OnPlayerDeath
entfernen, du möchtest ihn eine Kamerafahrt geben stoppst aber sofort wieder.
(Du spawnst ihn direkt und setzt die Kamera wieder hinter den Spieler)Jetzt habe ich noch eine Frage, warum sendest du 250x eine Nachricht aus um den Chat zu löschen? (10x reicht)
Du solltest den Spieler übrigens noch in das Krankenhaus porten damit auch alles dort gestreamed wird.
Einfach wo davor das SpawnPlayer bei OnPlayerDeath war die Position in das Krankenhaus setzen.Jetzt zählt der die Zeit runter und spawnt dann richtig.
Habe es überall raus genommen, die Kamerafahrt funktioniert nun auch. Allerdings spawnt man immernoch am Spawn
Aktueller Code
public KHTimer(playerid)
{
TogglePlayerSpectating(playerid, 0);
DestroyDynamicPickup(KrankenPickup[playerid]);
SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
SetPlayerFacingAngle(playerid,180.5842);
new money2=300, value, string[128];
value = random(99);
money2 += value;
format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
SendClientMessage(playerid, COLOR_BLUE, string);
sInfo[playerid][money] -= money2;
SetPlayerMoney(playerid);
SetCameraBehindPlayer(playerid);
sInfo[playerid][gestorben] =0;
return 1;
}Aktueller Code public OnPlayerDeath(playerid, killerid, reason)
{
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, 1726.174072, -1268.656860, 31.427850, 1848.518188, -1249.270507, 30.470912, 180000);
InterpolateCameraLookAt(playerid, 1727.962158, -1264.103759, 30.392429, 1844.484863, -1246.447753, 29.596525, 180000);
SetPlayerHealth(playerid, 100.0);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
KrankenPickup[playerid]=CreateDynamicPickup(1254, 1, X, Y, Z);
sInfo[playerid][gestorben] = 1;
for(new i=0; i<10; i++)
{
SendClientMessage(playerid, COLOR_WHITE, " ");
}
KrankenTimer[playerid]=SetTimerEx("KHTimer", 180000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE, "[Info] Die Behandlung wird ca. 3 Minuten dauern!");
return 1;
}
//Edit Problem behoben /close
-
Hallo!
Ich habe folgendes Problem:
Ich möchte, dass man ins Krankenhaus kommt wenn man stirbt, da soll dann eine Kamerafahrt sein und danach soll man vor dem Krankenhaus gespawnt werden.
Das ganze funktioniert aber nicht richtig.
Wenn man stirbt, beginnt keine Kamera fahrt und man wird am standart Spawn gespawnt.Außerdem soll ein Pickup erstellt werden, dass wieder gelöscht werden Soll, wenn der Spieler lebt, das wird dann aber nicht mehr gelöscht.BehobenCode
//OnPlayerDeath
SetPlayerHealth(playerid, 100.0);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
KrankenPickup[playerid]=CreateDynamicPickup(1254, 1, X, Y, Z);
sInfo[playerid][gestorben] = 1;
for(new i=0; i<250; i++)
{
SendClientMessage(playerid, COLOR_WHITE, " ");
}
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, 1726.174072, -1268.656860, 31.427850, 1848.518188, -1249.270507, 30.470912, 180000);
InterpolateCameraLookAt(playerid, 1727.962158, -1264.103759, 30.392429, 1844.484863, -1246.447753, 29.596525, 180000);
KrankenTimer[playerid]=SetTimerEx("KHTimer", 180000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE, "[Info] Die Behandlung wird ca. 3 Minuten dauern!");Code public KHTimer(playerid)
{
SpawnPlayer(playerid);
new money2=300, value, string[128];
value = random(99);
money2 += value;
format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
SendClientMessage(playerid, COLOR_BLUE, string);
sInfo[playerid][money] -= money2;
SetPlayerMoney(playerid);
sInfo[playerid][gestorben] =0;
return 1;
}Code //OnPlayerSpawn
if(sInfo[playerid][gestorben] == 0)
{
switch(sInfo[playerid][spawnchange])
{
case 0:
{
SetPlayerPos(playerid, 475.2139,-1768.3831,14.1287);
SetPlayerFacingAngle(playerid, 139.3004);
SetCameraBehindPlayer(playerid);
}
}
StopAudioStreamForPlayer(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("Login", 888*3, 0, "i", playerid);
TogglePlayerSpectating(playerid, 0);
}
else
{
SetCameraBehindPlayer(playerid);
DestroyDynamicPickup(KrankenPickup[playerid]);
SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
SetPlayerFacingAngle(playerid,180.5842);
}//Ein Problem Behoben
-
Wirklich deine allererste Map?
Sieht an sich Okay aus, eniges könnte man verbessern - z.B. den schrecklichen Parkplatz.Ja, dafür habe ich auch am längsten gebraucht und war auch bis ans Ende nicht damit zu frieden, ich denke allerdings, dass Änderungen folgen werden.
@TVPikachu: Gibt es schon, hinter dem Tor
-
Hallo!
Ich versuche derzeit den Motor über ein 3 Sekündiges Halten der Taste "W" zu starten, allerdings komme ich nicht ganz dahinter wie das funktionieren sollte.
Nun meine Frage: Wäre jemand so freundlich und würde mir einen Denkanstoß geben?Mit freundlichen Grüßen!