MoveObject(METor, 1789.4, -1700.1, 10.0, 1.0);
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Warum funktioniert das nicht? Also die Kamera ist da wo die eigentlich sein sollte.
public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 102,103,104:
{
InterpolateCameraPos(playerid, 2080.508300, -1770.675415, 21.305747, 2072.433349, -1770.615112, 18.449674, 2000);
InterpolateCameraLookAt(playerid, 2075.827392, -1770.689453, 19.548332, 2067.589599, -1770.685791, 17.211372, 2000);
gTeam[playerid] = TEAM_BALLAS;
}
case 105,106,107:
{
InterpolateCameraPos(playerid, 2494.229248, -1675.041625, 30.090682, 2494.307373, -1686.206054, 26.451690, 2000);
InterpolateCameraLookAt(playerid, 2494.139404, -1679.788940, 28.523782, 2494.271972, -1691.024658, 25.117563, 2000);
gTeam[playerid] = TEAM_GROVE;
}
case 108,109,110:
{
InterpolateCameraPos(playerid, 2640.679931, -1069.494873, 81.089004, 2631.218505, -1069.198364, 78.690437, 2000);
InterpolateCameraLookAt(playerid, 2635.858886, -1069.415405, 79.765930, 2626.574707, -1069.089477, 76.840423, 2000);
gTeam[playerid] = TEAM_VAGOS;
}
}
return 1;
} -
Kann mir jemand verraten wie ich anfangen muss?
Möchte mir mit einem Befehl eine Waffe geben (Rifle). Bis dahin ja ganz easy.Doch ich möchte das wenn ich mit der Rifle schieße zu der Position teleportiert oder geschleudert werde.
Jemand ne Ahnung wie ich das anstellen soll? -
-
Hat jemand einen Code für mich, mit dem man den Stadtteil des Spielers bestimmen kann? Hab schon in der SuFu geschaut, doch der Link dazu ist down.
-
Hat jemand einen Code für mich, mit dem man den Stadtteil des Spielers bestimmen kann? Hab schon in der SuFu geschaut, doch der Link dazu ist down.
-
Gibt es eine Möglichkeit mein stock kürzer bzw besser zu schreiben?
stock GetRangName(playerid)
stock GetRangName(playerid)
{
new str[35];
if(SpielerInfo[playerid][pFraktion] == 1)
{
switch(SpielerInfo[playerid][pRang])
{
case 0: str = "SAPD Rang 0";
case 1: str = "SAPD Rang 1";
case 2: str = "SAPD Rang 2";
case 3: str = "SAPD Rang 3";
case 4: str = "SAPD Rang 4";
case 5: str = "SAPD Rang 5";
case 6: str = "SAPD Rang 6";
case 7: str = "SAPD Rang 7";
case 8: str = "SAPD Rang 8";
case 9: str = "SAPD Rang 9";
case 10: str = "SAPD Rang 10";
case 11: str = "SAPD Rang 11";
case 12: str = "SAPD Rang 12";
}
}
if(SpielerInfo[playerid][pFraktion] == 2)
{
switch(SpielerInfo[playerid][pRang])
{
case 0: str = "BKA Rang 0";
case 1: str = "BKA Rang 1";
case 2: str = "BKA Rang 2";
case 3: str = "BKA Rang 3";
case 4: str = "BKA Rang 4";
case 5: str = "BKA Rang 5";
case 6: str = "BKA Rang 6";
case 7: str = "BKA Rang 7";
case 8: str = "BKA Rang 8";
case 9: str = "BKA Rang 9";
case 10: str = "BKA Rang 10";
case 11: str = "BKA Rang 11";
case 12: str = "BKA Rang 12";
}
}
if(SpielerInfo[playerid][pFraktion] == 3)
{
switch(SpielerInfo[playerid][pRang])
{
case 0: str = "BW Rang 0";
case 1: str = "BW Rang 1";
case 2: str = "BW Rang 2";
case 3: str = "BW Rang 3";
case 4: str = "BW Rang 4";
case 5: str = "BW Rang 5";
case 6: str = "BW Rang 6";
case 7: str = "BW Rang 7";
case 8: str = "BW Rang 8";
case 9: str = "BW Rang 9";
case 10: str = "BW Rang 10";
case 11: str = "BW Rang 11";
case 12: str = "BW Rang 12";
}
}
else if(SpielerInfo[playerid][pFraktion] == 0)
{
switch(SpielerInfo[playerid][pRang])
{
case 0: str = "Rang-Fehler";
}
}
return str;
}
-
stock GetRangName(playerid)
{
new str[35];
switch(SpielerInfo[playerid][pFraktion])
{
case 1: format(str, sizeof(str), "SAPD Rang %d", SpielerInfo[playerid][pRang]);
case 2: format(str, sizeof(str), "BKA Rang %d", SpielerInfo[playerid][pRang]);
case 3: format(str, sizeof(str), "BW Rang %d", SpielerInfo[playerid][pRang]);
default: str = "Rang-Fehler";
}
return str;
} -
Danke Jeffry. Aber später sollen dort Namen und nicht die Rang Zahl hin kommen.
Rang Zahlen hab ich vorerst so geschrieben.z.b Rang 1 = Recruit
Rang 2 = Sniperboy -
Dann musst du es so schreiben wie du es hattest.
Du könntest die Namen zwar in ein Array schreiben und daraus auslesen, das macht aber wenig Sinn. -
Okey trotzdem danke.
-
Hat jemand irgend 'ne Möglichkeit abzufragen, ob die Selektion eines Textdraws durch die ESC Taste abgebrochen wurde? Dieser Abbruch durch die ESC Taste ist leider von SAMP aus und ich würde gerne mit diesem Abbruch auch das zu selektierende Textdraw schließen. OnPlayerKeyStateChange() bringt nichts, da es, je nachdem ob das Callback seine Tage hat, entweder für die Taste ESC eine 0 zurückgibt oder den Keycode für die Alt Taste.
Danke im Voraus.
-
@[LnD]JustMe.77:
Für das 'Schleudern' benutze am besten 'SetPlayerVelocity'. -
Könnt ihr mir ein Beispiel zu beidem machen?
Einmal mit dem normalen Teleportieren und einmal mit dem Schleudern.Habe keine Ahnung wie ich das anfangen soll, Wiki hat mir auch nicht wirklich geholfen bzw. ich habe es nicht wirklich verstanden.
-
Ich bin gerade nur am Handy.
Aber mit dem Teleportieren sähe es im Callback drin so ungefähr aus:
SetPlayerPos(playerid, fX, fY, fZ);
So setzt du den Spieler an die Position wo er hingeschossen hat.
ACHTUNG!
Das ganze funktioniert nur bei der normalen SA Map, bei gemappten Sachen greifen die fKoordinaten. -
@Jack_Bauer: http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw_DE
INVALID_TEXT_DRAW wird als ID übergeben, wenn man ESC drückt.Funktioniert aber nicht bei PlayerTextDraws.
-
Funktioniert aber nicht bei PlayerTextDraw
Doch dann wird auch OnPlayerClickTextdraw aufgerufen. -
@Mencent:
Ich meinte damit OnPlayerClickPlayerTextDraw.OnPlayerClickTextDraw wird schon aufgerufen.
-
Hi, fange gerade mit Checkpoints an
public OnPlayerSpawn(playerid)
{
SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
CreateVehicle(520, 1982.6150, -221.0145, -0.2432, 82.2873, -1, -1, 60000);
DisablePlayerCheckpoint(playerid);
return 1;
}Wie kann ich es jetzt machen, dass beim Betreten des Checkpoints ein 2 erstellt wird usw.. ?
Und noch eine kleine Frage:
Wenn ich wie hier eine Globale Variable erstelle:
new tank[MAX_VEHICLES];
MAX_VEHICLES ist ja 2000 also
new tank[2000];Jetzt wenn ich das aber so mache:
ocmd:test(playerid,params[])
{
new tank[2000];
return 1;
}
Dann steht es ja für einen String mit einem Array von 2000Und bei der globalen werden 2000 mal tank erstellt oder?
Also tank[0] tank[1] tank[2] usw..Liege ich da richtig ?
-
Und bei der globalen werden 2000 mal tank erstellt oder?
Also tank[0] tank[1] tank[2] usw..
Es gibt in PAWN eigentlich keine Strings. Das sind auch nur Arrays, die du mit Zeichen füllst.d.h du erstellst keinen String, sondern eigentlich ein Array; in beiden Fällen.
new string[6] = "Hello";
oder
new string[6] = {'H','e','l','l','o'};
new string[6];
string[0] = "H";
string[1] = "E";
..
Ist also das selbe./edit: Es kommt lediglich darauf an, wie du dann mit dem Array umgehst.
new Tank[4];// Array, wie du es vermutlich meinst.
Tank[0] = CreateObject...
oder eben
new Tank[4] = {'H','e','y'}; // "Stringarray" -