Beiträge von SAB0h

    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder Skin auswahl uns neu Einloggen müssen.
    {
    if(mysql_CheckAccount(playerid) == 0)//Wür überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");
    }
    else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
    }
    }
    return 1;
    }

    Hab gestern mal mit Msql angefangen das als Login etc einzufügen , doch bei den Login kommt Dein Account wurde gefunden , obwohl ich noch keinen habe.Danach wird man gekickt ,wenn man was eingibt.


    {
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext); //Account wird erstellt
    SetPVarInt(playerid,"Eingeloggt",1); //Die variable wird auf 1 gesetzt, damit wir nun die Skin Auswahl benutzen können ohne wieder nach unserem Passwort gefragt zu werden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
    LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    else
    {
    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    }
    return 1;
    }

    so ?


    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    new Float:x,Float:y,Float:z;
    new pnamez[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pnamez,sizeof pnamez);
    GetPlayerPos(i,x,y,z);
    if(!IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) return SendClientMessage(playerid,ROT,"Spieler ist nicht in der Nähe");
    format(accFormat,sizeof accFormat,"%s.datei",pnamez);
    if(dini_Int(accFormat, "Job") != 1) return SendClientMessage(playerid,rot,"Du kein Artzt!");
    if(medicdienst[playerid] == 0)return SendClientMessage(playerid,rot,"Du bist nicht im Dienst!");
    for(new i=0;i<MAX_PLAYERS;i++)


    new Float:x;
    for(new i=0;i<MAX_PLAYERS;i++)
    if(GetPlayerHealth(i,x) == 100)return SendClientMessage(playerid,rot,"Der Spieler hat bereits volles Leben!");
    for(new i=0;i<MAX_PLAYERS;i++)
    SetPlayerHealth(i,100);
    return 1;
    }


    EDIT : GetPlayerPos

    Dort kommt immer , Du hast kein Hanf ,aber in den Spieler Datein hat er welche



    ocmd:usehanf(playerid,params[])
    {
    if(havePlayerHanf(playerid,2)) return SendClientMessage(playerid,ROT,"Du hast kein Hanf");
    new name[MAX_PLAYER_NAME],string[50];
    format(string,sizeof(string),"** %s hat Hanf geraucht!",name);
    SendClientMessageToAll(grau,string);
    GivePlayerHanf(playerid,-2);
    GivePlayerHealth(playerid,50);
    GivePlayerArmour(playerid,50);


    return 1;


    }


    stock havePlayerHanf(playerid,anzahl)
    {
    if(GetPVarInt(playerid,"Hanf")>=anzahl)return 1;
    return 0;
    }

    Bei Usehanf können die Spieler das auch ohne Hanf zu haben.
    Bei der 2. Ihn wird das Heal bei Usehanf aufgerechnet d.H sind könnten 400hp haben..
    3. Bei GiveHanf wird angezeigt das der Spieler nicht Online ist


    ocmd:usehanf(playerid,params[])
    {
    if(havePlayerHanf(playerid,2)) return SendClientMessage(playerid,ROT,"Du hast kein Hanf");
    new name[MAX_PLAYER_NAME],string[50];
    format(string,sizeof(string),"** %s hat Hanf geraucht!",name);
    SendClientMessageToAll(grau,string);
    GivePlayerHanf(playerid,-2);
    GivePlayerHealth(playerid,50);
    GivePlayerArmour(playerid,50);


    return 1;


    }


    stock havePlayerHanf(playerid,anzahl)
    {
    if(GetPVarInt(playerid,"Hanf")==anzahl)return 1;
    return 0;
    }


    stock GivePlayerHealth(playerid,Float:health)
    {
    new Float:hp;
    GetPlayerHealth(playerid,hp);
    SetPlayerHealth(playerid,hp+health);
    return 1;
    }


    ocmd:GiveHanf(playerid,params[])
    {
    new anzahl,pID,name[MAX_PLAYER_NAME],string[90],aname[MAX_PLAYER_NAME],Float:x, Float:y, Float:z;
    if(sscanf(params,"ui",pID,anzahl))return SendClientMessage(playerid,ROT,"INFO: /GiveHanf id anzahl");
    GetPlayerPos(pID,x,y,z);
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler ist nicht Online");
    if(IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) return SendClientMessage(playerid,ROT,"Spieler ist nicht in der Nähe");
    if(havePlayerHanf(playerid,anzahl)) return SendClientMessage(playerid,ROT,"Du hast kein Hanf");
    GivePlayerHanf(pID,anzahl);
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,aname,sizeof(aname));
    format(string,sizeof(string),"** %s hat %s Hanf gegeben! ",aname,name);
    SendClientMessageToAll(grau,string);
    SpielerSpeichern(pID);
    SpielerSpeichern(playerid);
    return 1;


    }

    Kann schon ;) s
    ocmd:usehanf(playerid,params[])
    {
    if(!havePlayerHanf(playerid,2)) return SendClientMessage(playerid,ROT,"Du hast kein Hanf");
    new name[MAX_PLAYER_NAME]
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"** %s hat Hanf geraucht!",name);
    givePlayerHanf(playerid,-2);
    SetPlayerHealth(playerid,50);
    SetPlayerArmour(playerid,50);



    return 1;


    }

    ne der soll ja Fragen ob der Spieler z.B 2 Gramm Hanf hat & wegen Armour : so setze ich ihm das ja auf Hundert möchte das er z.B 50% Heal und Armour bekommt.

    Habs mal als Test gemacht kommt : error 076: syntax error in the expression, or invalid function call
    Zeile ist mit dem : if(!havePlayerHanf,(playerid,2));


    & noch eine Frage , wie gebe ich dem Spieler Heal & Armour?



    ocmd:usehanf(playerid,params[])
    {
    if(!havePlayerHanf,(playerid,2)) return SendClientMessage(playerid,ROT,"Du hast kein Hanf");
    SetPlayerDrunkLevel(playerid,4);
    return 1;


    }

    Nun möchte ich gerne wissen , wie ich dem Spieler mit einem Stock , Hanf gebe.


    stock havePlayerHanf(playerid,anzahl)
    {
    if(GetPVarInt(playerid,"Hanf")==anzahl)return 1;
    return 0;
    }

    Mein Fehler ist hier , fals eine Person das macht die z.B 1000 Dollar hat wird das Return angezeigt : Nicht genug Geld...



    {
    new color1, color2, carid, pID;
    new name[MAX_PLAYER_NAME];
    if(sscanf(params,"ii",color1,color2))return SendClientMessage(playerid,hellblau,"INFO: /color 1 2");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"Fehler: Du bist in keinem Auto!");
    pID = GetPlayerName(pID,name,sizeof(name));
    GivePlayerMoney(playerid,-500); return SendClientMessage(pID,ROT,"Fehler: Zu wenig Geld!");
    carid = GetPlayerVehicleID(playerid);
    ChangeVehicleColor(carid,color1,color2);
    SendClientMessage(playerid,Grün,"Farbe erfolgreich geändert");
    return 1;
    }