Beiträge von LeonMrBonnie

    Hallo,
    ich biete hiermit meine Dienste als Scripter für kleinere Systeme an.
    Das ganze werde ich in meiner Freizeit machen und grundsätzlich verlange ich als Gegenleistung nichts, außer eine Weiterempfehlung.
    Wichtig ist hier aber das grundsätzlich; Ich bin auch bereit größere Systeme zu scripten, wobei ich dort dann eine Gegenleistung erwarte.
    Als Gegenleistung ist aber kein Geld gemeint! Man wird bestimmt irgendwas finden als Gegenleistung, ich möchte aber kein Geld.
    Ich habe 2,5 Jahre SAMP Scripting Erfahrung, und kann mit MySQL, SQLite sowie DINI oder Y_INI arbeiten.
    Nach Fertigstellung eines Systems, übergebe ich die kompletten Rechte daran an euch.


    Die Dauer für die Fertigstellung ist variabel, und hängt von der Größe des Systems ab.


    Wichtig ist noch: Ich möchte wenn ein System gefordert ist, so viele Informationen wie möglich dazu haben, ich möchte nämlich nichts scripten was euch dann am Ende nicht gefällt.
    Bevor ihr mich also anfragt; überlegt euch ein Konzept zu eurem System und versucht mir so viele Infos wie möglich zu geben.


    Alles weitere wird dann gerne per Konversation besprochen.


    Letzter Stand: Der Service ist nichtmehr aktuell und ich nehme keine Aufträge mehr entgegen, da ich mich dem SA:MP Scripting abgewendet habe.

    Du machst einfach eine Query wie diese (musst du an deine Werte anpassen):

    //OnPlayerConnect
    mysql_format(handle,Query,sizeof(Query),"SELECT adminlevel FROM users WHERE Name = '%s'",GetName(playerid));
    mysql_pquery(handle,Query,"OnCheckAdmin","d",playerid);


    forward OnCheckAdmin(playerid);
    public OnCheckAdmin(playerid)
    {
    new alevel;
    cache_get_value_name_int(0,"adminleven",alevel);


    if(alevel > 0) return 1;
    else if(alevel == 0)
    {
    SendClientMessage(playerid, 0xFFFF00, "Der Login wurde administrativ deaktiviert.");
    Kick(playerid);
    }
    }

    Das ist der falsche Bereich.


    Wenn du so ein Script suchst und schon so viele ausprobiert hast, wirst du wahrscheinlich keins finden was dir gefällt, außer du lässt dir ein Selfmade schreiben oder schreibst selbst eins.

    Du kannst erstmal mit Notepad++ dein Script öffnen und dann jeweils mit STRG+F nach { und nach } suchen, und gucken ob die Anzahl unterschiedlich ist; Wenn Ja, ist ein Klammerfehler vorhanden.


    Aber wenn das Script vorher compiled hat, dann musst du dir einfach angucken wo du zuletzt dran gearbeitet hast, dort ist dann wahrscheinlich irgendwo der Klammerfehler.

    Das passiert wenn das Script nicht richtig compilet wurde oder der Server gestartet wurde während das Script compiled.


    Guck mal ob du einen Klammerfehler im Script hast, das kann oft für Crashes sorgen.

    Ich habe mir eine Funktion UpdateSpectate gemacht, um den Spectate Status immer zu aktualisieren, wenn sich der Status von einem Spieler ändert, aber sobald dieser stirbt oder ein Interior betritt bewegt sich die Kamera einfach nicht zu der Person hin. Der Gametext, wenn die Person tot ist wird übrigens auch warum auch immer nicht angezeigt. Die Variable pSpecID verändert sich nicht, ist also die richtige.

    UpdateSpectate(playerid)
    {
    new target = pInfo[playerid][pSpecID];
    if(pInfo[playerid][pSpecID] == -1) return 0;
    if(pInfo[target][pSpecing]) return 0;
    if(GetPlayerState(target) == PLAYER_STATE_WASTED) return GameTextForPlayer(playerid, "Warte einen Moment...", 1500, 6);

    SetPlayerInterior(playerid, GetPlayerInterior(target));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(target));
    TogglePlayerSpectating(playerid, 1);



    if(IsPlayerInAnyVehicle(target)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(target));
    else PlayerSpectatePlayer(playerid, target);



    return 1;
    }

    Ich führe die Funktion bei OnPlayerDeath, bei OnPlayerInteriorChange, OnPlayerSpawn, OnPlayerEnterVehicle, OnPlayerExitVehicle und bei OnPlayerStateChange aus.
    Überall so:

    foreach(new i : Player)
    {
    if(pInfo[i][pSpecID] == playerid)
    {
    UpdateSpectate(i);
    }
    }


    Es funktioniert aber einfach nicht, woran liegt das?