Beiträge von Andosius

    Ich persönlich arbeite sehr gerne mit Pawno als Standardeditor.
    Wenn ich jedoch mal keine Lust darauf habe, wechsel ich auf Sublime 3, da ich finde, dass man mit dem Editor mehr Übersicht hat und ich finde das Design einfach schick. hehe

    Also, wenn du die Daten in deine Variable speichern willst, musst du vor die Variable folgendes anhängen _: und die Daten als Integer ausgeben, nicht als Float.


    Dann dürfte das funktionieren.


    LG

    Beim Laden der Accounts wurde eine zweite Variante einer Hauptfunktion erstellt und returnt ihren eigenen Wert.


    Sprich:
    z.B. SetPlayerPosEx returnt SetPlayerPosEx anstatt SetPlayerPos.


    Aber wie du sicherlich bereits weißt, hat ja einer das Script für 60€ Echtgeld gekauft, woraufhin das Script für paar IG Dollar im RPG-Forum weiterverkauft wurde.
    Also verübels mir nicht, dass ich dir nicht genau sage, an welcher Funktion es hakt.
    Hast aber wenigstens einen Anhaltspunkt. :)

    Weil 65535 folgendes ist: INVALID_PLAYER_ID :)
    Du musst den sscanf Parameter auch dem Script anpassen.
    Da du einen geraden Bertrag (Integer) abfragst, musst du das "u" mit "d" oder "i" ersetzen.


    LG


    CMD:carkey(playerid)
    CMD:carkey(playerid)
    {
    if(!IsLoggedIn(playerid)) return 1;
    new string[128];
    if(GetPlayerVehicleCount(playerid) == 0)return SendClientMessage(playerid, COLOR_GREY, "Du besitzt keine Autoschlüssel.");
    for( new i = 0; i < 4; i++) {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] >= 611) {
    new funcmodel = (PrivateVehicle[playerid][i][modelid]-400);
    format(string, sizeof(string), "{FFFFFF}%s\n", VehicleName[funcmodel]);
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehDestroyed] == true) {
    new pos = (8 + strlen(VehicleName[PrivateVehicle[playerid][i][modelid]-400]) +1);
    strins(string, "(Verwahrstelle)", pos);
    }
    } else {
    string = "{FFFFFF}-\n";
    }
    if( i == 0 ) {
    DialogString = "";
    }
    format(DialogString, sizeof(DialogString), "%s%s", DialogString, string);
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Deine Autoschlüssel", DialogString, "Orten", "Schließen");
    return 1;
    }


    Jetzt aber! :)

    Sorry für die späte Antwort, hatte noch etwas zu tun.
    Ich schätze der Fehler kommt dadurch, dass im VehicleName zu viele eckige Klammern sind.


    Probiere das mal:
    [pwn
    CMD:carkey(playerid)
    {
    if(!IsLoggedIn(playerid)) return 1;
    new string[4][64];
    if(GetPlayerVehicleCount(playerid) == 0)return SendClientMessage(playerid, COLOR_GREY, "Du besitzt keine Autoschlüssel.");
    for( new i = 0; i < 4; i++) {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] >= 611) {
    new funcmodel = (PrivateVehicle[playerid][0][modelid]-400);
    format(string[i], sizeof(string[i]), "{FFFFFF}%s\n", VehicleName[funcmodel]);
    if(Vehicle[PrivateVehicle[i][slot][vehID]][vehDestroyed] == true) {
    new pos = (8 + strlen(VehicleName[PrivateVehicle[playerid][0][modelid]-400]));
    strins(string[i], "(Verwahrstelle)", pos);
    }
    } else {
    string[i] = "{FFFFFF}-\n";
    }
    if( i == 0 ) {
    DialogString = "";
    }
    format(DialogString, sizeof(DialogString), "%s%s", DialogString, string[i]);
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Deine Autoschlüssel", DialogString, "Orten", "Schließen");
    return 1;
    }
    [/pwn]
    E: Zeichen vergessen =)

    Hey, habe den Code "etwas angepasst" und dir das eben geschrieben. Schau mal bitte, ob das Errors ausspuckt (bin mir aber sicher, dass es korrekt sein sollte (?!)).



    CMD:carkey(playerid)
    {
    if(!IsLoggedIn(playerid)) return 1;
    new string[4][64];
    if(GetPlayerVehicleCount(playerid) == 0)return SendClientMessage(playerid, COLOR_GREY, "Du besitzt keine Autoschlüssel.");
    for( new i = 0; i < 4; i++) {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] >= 611) {
    format(string[i], sizeof(string[i]), "{FFFFFF}%s\n", VehicleName[PrivateVehicle[playerid][0][modelid]-400]);
    if(Vehicle[PrivateVehicle[i][slot][vehID]][vehDestroyed] == true) {
    new pos = (8 + strlen(VehicleName[PrivateVehicle[playerid][0][modelid]-400]));
    strins(string[i], "(Verwahrstelle)", pos);
    }
    } else {
    string[i] = "{FFFFFF}-\n";
    }
    if( i == 0 ) {
    DialogString = "";
    }
    format(DialogString, sizeof(DialogString), "%s%s", DialogString, string[i]);
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Deine Autoschlüssel", DialogString, "Orten", "Schließen");
    return 1;
    }


    Hoffe mal, dass dich die etwas irritierende Schreibweise nicht stört, hab's gerne kompliziert. x)
    //E: Fehler behoben

    okay, also du kannst es so lösen:
    IsValidVehicle MUSST du entfernen, da du das Fahrzeug löschst -> nicht mehr valid.
    Du musst der Fahrzeug ID einen spezifischen Wert zuordnen (z.B. -1) und diesen abfragen, da das Fahrzeug ansonsten nicht existiert.


    LG

    Ah okay, der Fehler ist, dass du "IsValidVehicle" abfragst.
    Du lässt das Fahrzeug ja löschen -> invalid


    Du solltest zu Scriptbeginn die vehID auf INVALID_VEHICLE_ID setzen und diese sich selbst beim erstellen ändern lassen. Wenn das Fahrzeug "deaktiviert" ist, würde ich vehID auf -1 setzen, damit es zu keinen Verwechslungen kommt.


    Theoretisch kannst du die Zeile dazu umändern:
    if(IsValidVehicle(XYZ) || XYZ == -1)


    (sorry für die Faulheit, schreibe via Handy. :))

    Hey,


    ich möchte eine Abfrage für ein UCP einfügen, ob man eine bestimmte Aktion wirklich ausführen will und bin beim Grundgerüst gelandet.
    Also ich möchte so ziemlich ein Fenster via JS hinzufügen, um die Interaktion zu bestätigen und daraufhin die Handlung auch auszuführen.
    Soweit so gut. Das letzte wird hierbei nicht das Problem sein, eher der Umgang mit JavaScript selbst...


    Ich habe mir jetzt ca. zwei Stunden lang auf irgendwelchen Seiten paar Sachen durchgelesen und ausprobiert und irgendwie klappt bei mir nichts.. :rolleyes:


    JavaScript
    function surePlayerEdit( id , name , action) {
    	return confirm("An Spieler mit der ID"+id+" ("+name+") wirklich folgende Option ausführen: "+action+"?");
    }


    PHP
    echo "<a href='' data-toggle='tooltip' title='Spieler sperren'><span class='glyphicon glyphicon-lock' /></a>";


    Meine Frage ist jetzt: Wie verbinde ich meine Knöpfchen mit dem Javascript und kann man den Wert von confirm abfragen?


    LG

    Dann bleibt uns ja nichts anderes übrig, als das Gedöns manuell zu debugen. :)


    Versuch mal dein Script komplett ohne das Laden deines Job-Systems zu starten und schau dann nochmal in dein Serverlog, ob auch alles andere korrekt funktioniert.
    Wenn das der Fall ist, liegt der Fehler beim Laden der Jobs und wir bräuchten paar Zeilen, um dir effektiv weiter helfen zu können.


    LG

    Das ist mir auch mal passiert.
    Bei mir lag es daran, dass ich angefangen habe mein AntiCheat zu bauen und in der Funktion SetPlayerPosEx die selbe Funktion returnt habe anstatt von SetPlayerPos.


    Ich würde sämtliche Funktionen, die du gestern eingefügt hast, nochmal checken.
    Würde an deiner Stelle auch mal connecten und darauf hoffen, dass der Server crasht, damit du mit crashdetect mit paar mehr Informationen der Spur nachgehen kannst.


    LG