[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
  • Ochman dass das so einfach ist hätte ich nicht gedacht aber es funktioniert perfekt.
    Aber eine Frage am rande, ich habe in dem thema hier den query gefunden:

    SQL
    SELECT SUM(Geld+Kontoguthaben) as `summe` FROM `accounts`


    Was hat dann das "as" zu sagen ? Deswegen war ich verwirrt.


    Danke :)

  • Meine animation wird nicht ausgeführt... habe auch schon mit sendclientmessage überprüft, ob der timer überhaupt ausgeführt wird,
    dieser wird aber ausgeführt.

    ApplyAnimation(i,"PED","DEALER_DEAL",2.0, 0, 0, 0, 0, 3000, 1);

  • 2. Mal einen Print-Debug gemacht, dass i auch deiner playerid entspricht?


    bei der funktion ist mehr wie die animation


    Funktioniert alles auser die Animation

    forward TonnenTimer();
    public TonnenTimer(){
    for(new i; i<MAX_PLAYERS; i++){
    for(new tonnes; tonnes<sizeof(iTonne); tonnes++){
    if(IsPlayerInRangeOfPoint(i,3,iTonne[tonnes][tX],iTonne[tonnes][tY],iTonne[tonnes][tZ])){
    if(ByTonne[i] == 3 && TonnenAbkling[tonnes] == 1) return SendClientMessage(i,ROT,"Diese Tonne wurde gerade eben schonmal durchsucht."),ByTonne[i] = 0;
    if(ByTonne[i] == 3) {
    ApplyAnimation(i,"PED","DEALER_DEAL",2.0,0,0,0,0,0,3000);
    SetTimerEx("BecamePfand",3000,false,"ii",i,tonnes);
    GameTextForPlayer(i, "Suche nach Pfandflaschen...", 3000, 3);
    ByTonne[i] = 4;
    return 1;
    }
    if(ByTonne[i] == 4) return 1;
    ByTonne[i] ++;
    }
    }
    }
    return 1;
    }

  • Ok danke ich habe mich bloss gewundert, weil bei mir unter RequestClass mehr als nur die CamerPosition ist.
    Siehe hier:
    public OnPlayerRequestClass(playerid, classid)
    {
    if(GetPVarInt(playerid, "loggedin") == 0)
    {
    SetPlayerCameraPos(playerid,360,-2028.6090,9);
    SetPlayerCameraLookAt(playerid,360,-2028.6090,9);
    SetTimerEx("SpawnThePlayer", 50, 0, "i", playerid);
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte dein Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Regestrierung","Herzlich Willkommen auf dem Server Oldschool 1808! Gib bitte dein gewünschtes Passwort ein:","Fertig","Abbrechen");
    return 1;
    }
    }
    return 1;
    }


    Und wenn ich jetzt die Funktion: ForceClassSelection(playerid); unter dem Stock Login oder Register reinmach dann klappt es trotzdem nicht.


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    if(LoadAcoount(playerid) != 2)
    {
    ForceClassSelection(playerid);
    SendClientMessage(playerid,0x00C3FFFF,"Erfolgreich eingeloggt, das Team von Oldschool 1808 wünscht dir viel Spielspaß auf unserm Server!");
    FailPW[playerid] = 0;
    TogglePlayerControllable(playerid, true);
    SetPlayerVirtualWorld(playerid, 0);
    SetCameraBehindPlayer(playerid);
    SetTimerEx("LerreChat", 10000, 0, "i", playerid);
    }
    return 1;
    }

  • Wie bewege ich meine Camera hinter meinen Spieler? Habe schon mehrer Möglichkeiten versucht aber komme nicht auf die Lösung. Mein Problem ist das ich nicht mit
    SetCameraBehindPlayer(playerid);
    Arbeiten möchte, da die Camera sich dorthin bewegen soll. Mit SetPlayerCameraLookAt(playerid, X, Y, Z, CAMERA_MOVE);
    Bekomme ich sie schon mal hinter den Spieler. Doch liegt die dann so blöd darum und bewegt sich nicht mehr hintern dem Spieler her. Ich hoffe ihr versteht was ich meine.
    Wenn mir jemand sagen könnte wie ich die Camera mit CAMERA_MOVE an den Spieler bekomme, bitte meldet euch.


    MFG

  • Hey,
    habe ein Problem bei einer Waffenabfrage.
    Will abfragen, ob ein Spieler eine bestimmte Waffe besitzt, egal ob er die in der Hand hält oder nicht..


    Code:
    new Weaps[13][2],_w = 0,w = 0;
    for (; _w < 13; _w++)
    {
    GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
    if(Weaps[_w][0] <= 0)continue;
    for(; w < 47; w++)if(Weaps[_w][0] == 24)return SendClientMessage(playerid,Rot,"Du besitzt eine Deagle!");
    }
    Nur mal so als Test..
    Es klappt leider nicht, kann mir jemand helfen?


    //E
    Die Nachricht kommt nicht, obwohl ich die Waffe besitze

  • Die Nachricht kommt nicht, obwohl ich die Waffe besitze


    Warum machst du es nicht einfach so?


    new Waffen[13][2];
    for (new i; i < 13; i++) {
    GetPlayerWeaponData(playerid, i, Waffen[i][0], Waffen[i][1]);
    if(Waffen[i][0] == 24) return SendClientMessage(playerid,Rot,"Du besitzt eine Deagle!");
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Wie könnte man das machen, wenn man alle Waffen abfragen will?
    Halt wenn man irgendeine Waffe hat, dass dann irgendeine Nachricht kommt.

  • Wie könnte man das machen, wenn man alle Waffen abfragen will?
    Halt wenn man irgendeine Waffe hat, dass dann irgendeine Nachricht kommt?


    So könntest du das machen:


    new Waffen[13][2],tmp[27 + 32];
    for (new i; i<13; i++) {
    GetPlayerWeaponData(playerid, i, Waffen[i][0], Waffen[i][1]);
    if(Waffen[i][0] <= 0) continue;
    GetWeaponName(Waffen[i][0],tmp,32);
    format(tmp,sizeof tmp,"Der Spieler besitzt eine %s!",tmp);
    SendClientMessage(playerid,Rot,tmp);
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hmm..
    Ich gebe mal einfach meinen richtigen Code:
    new Weaps[13][2],_w = 0, w = 0;
    for (; _w < 13; _w++)
    {
    GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
    for(; w < 47; w++)
    {
    if(Weaps[_w][0] == w && Waffe[i][w] == 1)continue;
    else if(Weaps[_w][0] != w && Waffe[i][w] == 1){Waffe[i][w] = 0; continue;}
    else if(Weaps[_w][0] == w && Waffe[i][w] != 1)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Waffenhack!",SName),Kicks(i);
    }
    }
    Wie könnte ich das hier machen?
    Hätte gleich mit dem Code kommen sollen :rolleyes: