[SAMMELTHREAD] Kleine Scripting Fragen

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
  • Hey wo liegt mein Fehler es wird iwie nie
    IsPlayerInRangeOfPoint geprintet obwohl ich direkt vor einem Car stehe

  • Hey wo liegt mein Fehler es wird iwie nie
    IsPlayerInRangeOfPoint geprintet obwohl ich direkt vor einem Car stehe

    Überprüf mal ob Jobc[ i ][v_ID] wirklich eine Fahrzeug ID ist.

  • Hab ich mal gemacht

  • Hast du mal versucht den Range etwas zu erhöhen, anstatt 5?


    Ändere außerdem:
    return 0;
    zu:
    return -1;
    Sowie
    if(i == 0) return SendClientMessage(playerid,ROT,"Du bist nicht an einem Jobfahrzeug.");
    zu:
    if(i == -1) return SendClientMessage(playerid,ROT,"Du bist nicht an einem Jobfahrzeug.");


    Da es ja einen Index mit der 0 gibt.

  • Hallo, habe folgendes Problem. Egal ob der Spieler gespawnt ist oder nicht, die Nachricht das er nicht gespawnt ist erscheint immer.



    CMD:duel(playerid, params[]) {
    new weapid1, weapid2;



    if(GetPlayerState(playerid) != PLAYER_STATE_SPAWNED)
    {
    SendClientMessage(playerid, COLOR_RED, "You need to spawn first!");
    return 1;
    }





    if(Round[r_iniciando] == true) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!");
    if(sscanf(params, "ii", weapid1, weapid2)) return SendClientMessage(playerid, COLOR_RED, "Use: /duel <gun id 1> <gun id 2>");
    if(weapid1 < 22 || weapid1 > 34 || weapid2 < 22 || weapid2 > 34) return SendClientMessage(playerid, COLOR_RED, "Invalid weapon ID.");
    if(InDuel[playerid] == true) return SendClientMessage(playerid, COLOR_RED, "You're already in a duel!");
    if(Duel[playerid] != 998) return SendClientMessage(playerid, COLOR_RED, "You're already in a duel!");
    if(CreatedDuel[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You already created a duel, type /cancelduel to leave it.");



    CreatedDuel[playerid] = 1;
    Duel[playerid] = 999;



    DuelWeapons[playerid][0] = weapid1;
    DuelWeapons[playerid][1] = weapid2;



    new dQuery[144];
    format(dQuery, sizeof(dQuery), "{FF0000}(DUEL) {%06x}%s {FFFFFF}has created a duel (%s and %s) type {FF0000}/acceptduel %d", GetPlayerColor(playerid) >>> 8, GetName(playerid), GetWeaponNameEx(weapid1), GetWeaponNameEx(weapid2), playerid);
    SendClientMessageToAll(COLOR_RED, dQuery);




    return 1;
    }


    Was habe ich falsch gemacht?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Hallo, habe folgendes Problem. Egal ob der Spieler gespawnt ist oder nicht, die Nachricht das er nicht gespawnt ist erscheint immer.


    CMD:duel(playerid, params[]) { new weapid1, weapid2; if(GetPlayerState(playerid) != PLAYER_STATE_SPAWNED) { SendClientMessage(playerid, COLOR_RED, "You need to spawn first!"); return 1; } if(Round[r_iniciando] == true) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!"); if(sscanf(params, "ii", weapid1, weapid2)) return SendClientMessage(playerid, COLOR_RED, "Use: /duel <gun id 1> <gun id 2>"); if(weapid1 < 22 || weapid1 > 34 || weapid2 < 22 || weapid2 > 34) return SendClientMessage(playerid, COLOR_RED, "Invalid weapon ID."); if(InDuel[playerid] == true) return SendClientMessage(playerid, COLOR_RED, "You're already in a duel!"); if(Duel[playerid] != 998) return SendClientMessage(playerid, COLOR_RED, "You're already in a duel!"); if(CreatedDuel[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You already created a duel, type /cancelduel to leave it."); CreatedDuel[playerid] = 1; Duel[playerid] = 999; DuelWeapons[playerid][0] = weapid1; DuelWeapons[playerid][1] = weapid2; new dQuery[144]; format(dQuery, sizeof(dQuery), "{FF0000}(DUEL) {%06x}%s {FFFFFF}has created a duel (%s and %s) type {FF0000}/acceptduel %d", GetPlayerColor(playerid) >>> 8, GetName(playerid), GetWeaponNameEx(weapid1), GetWeaponNameEx(weapid2), playerid); SendClientMessageToAll(COLOR_RED, dQuery); return 1;}


    Was habe ich falsch gemacht?

    Wenn der Spieler gespawned ist , dann ist sein Status auf PLAYER_STATE_ONFOOT oder PLAYER_STATE_DRIVER bzw. PLAYER_STATE_PASSENGER
    Keine Ahnung wofür PLAYER_STATE_SPAWNED existiert...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ne, der Befehl soll auch nicht verfügbar sein während man Fahrer/Beifahrer ist, trotzdem danke :)



    Edit:


    Habe ein weiteres kleines Problem, hoffe ihr könnt mir behilflich sein. Mit folgendem Befehl gebe ich Spielern eine bestimmte Waffe, benutze ich anstatt den Waffen Namen die ID (beispielsweise 24), taucht folgendes in der ServerLog auf.




    CMD:givegun(playerid, params[]) {
    new playerID, gun[24], cQuery[144];



    if(pData[playerid][P_Admin] < 5) return
    SendClientMessage(playerid, COLOR_RED, LV_Fail);




    if(sscanf(params,"us[24]", playerID, gun)) return
    SendClientMessage(playerid, COLOR_RED, "Use: /givegun <player> <weapon name>");



    GivePlayerWeapon(playerID, GetWeaponIdByName(gun), 999);
    new weapname = GetWeaponIdByName(gun);



    if(IsSilent[playerid] == false) {
    format(cQuery, sizeof(cQuery), "{%06x}%s gave you a weapon (%s)", GetPlayerColor(playerid) >>> 8, GetName(playerid), GetWeaponNameById(weapname));
    SendClientMessage(playerID, -1, cQuery);
    }
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • Ist es möglich in der MySQL DB nur eine Spalte für eine einzige Zeile hinzuzufügen?



    biztankeoil brauch logischerweise nur das Tankstellen Biz, die anderen nicht.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Sofern du sscanf2 benutzt kannst du k<weapon> benutzen, macht's einfacher :)

  • Alles klar, danke schön.
    Wie kann ich es lösen, dass das Script sich automatisch alle anderen Werte erschließt?
    z.B. habe ich eine Preisliste, die von 1.10 bis 2.10 gehen soll. Ich müsste ja jetzt im Array dann jede Zahl einzelnt schreiben, also quasi 1.11,1.12 usw. Gibt es da irgendeinen speziellen Befehl für?
    1.10 ... 2.10 o.Ä.? Oder lässt sich das Problem irgendwie besser lösen. Ich möchte auch nachher aus dem Array random Preise ziehen, wie das geht weiß ich, allerdings vielleicht als Info nebenbei.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Da streikt mein Compiler. ^^ Er stürzt einfach ab.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Sicher, dass du es richtig gemacht hast?
    Bei mir kompiliert der angegebene Code nämlich ohne Probleme.


    Hast du es eventuell außerhalb eines Callbacks stehen? Dann würde der Absturz passieren. Es muss dort stehen, wo der Preis ausgegeben wird.

  • Aaah, alles klar. Danke dir.


    //Edit:
    Irgendwas passt da nicht, kriege immer extrem hohe Zahlen wie z.B. 1071393014. Habe einfach nur deine Funktion übernommen und hab mir das Ergebnis printen lassen. Ich überschreibe den Wert nirgends.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

    Einmal editiert, zuletzt von #S. ()