Beiträge von Infictible

    Hallo ich habe folgendes Problem.


    Ich habe einen heal befehl gemacht aber wenn dieser ausgeführt wird steht da nicht wie es soll : Der spieler mit der ip (zb. 4) hat dich gehealt)


    Sondern da steht der spieler mit der ID 182942 hat dich gehaelt



    ocmd:heal(playerid,params[])
    {
    new pID, string[35];
    if(!IsAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht berechtigt diesen Befehl zu benutzen.");
    format(string, sizeof(string),"Du hast den Spieler mit der ID %s erfolgreich geheilt.",pID);
    if(sscanf(params,"us",pID)) return SendClientMessage(playerid,GRAU,"INFO: /heal [playerid]");
    SetPlayerHealth(pID,100.0);
    SendClientMessage(pID,GRÜN,"Du wurdest geheilt");
    SendClientMessage(playerid,GRÜN,string);
    return 1;
    }

    Hallo Ich habe mal wieder ^^ zwei Fragen.


    Meine erste wäre: also ein i=integer, s=string, aber wofür steht ein u=?


    Und ich habe einen Befehl selbst gescripted und will gerne anzeigen lassen das man den spieler mid dieser ID geheilt hat wie geht das? :)


    ocmd:heal(playerid,params[])
    {
    new pID;
    if(!IsAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht berechtigt diesen Befehl zu benutzen.");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU,"INFO: /heal [playerid]");
    SetPlayerHealth(pID,100.0);
    SendClientMessage(pID,GRÜN,"Du wurdest geheilt");
    SendClientMessage(playerid,GRÜN,"Du hast den Spieler mit der ID %u erfolgreich geheilt.");
    return 1;
    }

    Hallo ich kenne nur leichte Grundkentnisse des SAMP PAWNO scripting.


    Und es heißt ja immer learning by doing, desalb wollte ich euch fragen was könnte ich denn selbst scripten (einfache sachen-schwere sachen)


    Womit habt ihr angefangen.


    und Ob diese Tutorials auf Youtube(Mr. Monat) überhaupt etwas helfen.

    [14:43:10] Loaded.
    [14:43:10] Loading plugin: mysql
    [14:43:10] >> plugin.mysql: R34 successfully loaded.
    [14:43:10] Loaded.
    [14:43:10] Loading plugin: nativechecker
    [14:43:10] Loaded.
    [14:43:10] Loaded 3 plugins.


    [14:43:10]
    [14:43:10] Filterscripts
    [14:43:10] ---------------
    [14:43:10] Loaded 0 filterscripts.


    [14:43:10] Number of vehicle models: 0
    [14:43:35] Incoming connection: 127.0.0.1:64602
    [14:43:35] [join] [RE]Infictible has joined the server (0:127.0.0.1)
    [14:44:41] [part] [RE]Infictible has left the server (0:1)


    Hier Der ServerLog ich glaub da steht es

    Hallo Ich habe ein Accountsystem erstellt, aber wenn ich auf den Server connecten erscheint nut der Login Dialog, obwohl mein Acount garnicht in der Datenbank ist und deshalb nimmt er das PW auch nicht an.
    bitte um hilfe hier die wichtigsten stellen im Script.



    //MySql
    #define db_host "localhost"
    #define db_user "root"
    #define db_pass ""
    #define db_db "samp"


    // Dcmd
    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    // Forwards
    forward tot(playerid);
    forward OnPlayerCheck(playerid);
    forward OnPasswordResponse(playerid);


    //Enums
    enum SpielerDaten
    {
    Eingeloggt,
    Adminlevel,
    Level,
    Fraktion,
    Team,
    Geld
    };
    new sDaten[MAX_PLAYERS][SpielerDaten];


    /* GLOBALE VARIABLEN */


    //my sql
    new db_handle;


    public OnGameModeInit()
    {
    SetGameModeText("LOL 1.0.0");


    //My SQL
    db_handle = mysql_connect(db_host,db_user,db_db,db_pass);


    // MySql Account System
    new name[MAX_PLAYER_NAME], query [128];
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"SELECT ID FROM User WHERE Benutzername='%s'",name);
    mysql_function_query(db_handle,query,true,"OnPlayerCheck","i",playerid);


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == LOGIN)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,db_handle);
    format(query, sizeof(query),"SELECT * FROM USER WHERE Benutzername='%s' AND Passwort='%s'",name,passwort);
    mysql_function_query(db_handle,query,true,"OnPasswordResponse","i",playerid);
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Gib bitte ein Passwort ein.");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }

    if(dialogid == REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>4)
    {
    mysql_escape_string(inputtext,passwort,db_handle);
    format(query,sizeof(query),"INSERT INTO User(Benutzername,Passwort) VALUES('%s','%s')",name, passwort);
    mysql_function_query(db_handle,query,false,"","");
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Dein Passwort ist zu kurz. Es muss mindestens 5 Zeichen enthalten");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registration","Dein Account wurde nicht in unserer Datenkbank gefunden. Bitte gebe ein Passwort ein um dich nun auf unserem Server zu Regestrieren.","Regestrieren","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }


    public OnPlayerCheck(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,db_handle);
    if(num_rows==0)
    {
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    SendClientMessage(playerid,BLAU,"Hallo, Wilkommen zurrück auf Royal_Elite");
    }
    else
    {
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registration","Dein Account wurde nicht in unserer Datenkbank gefunden. Bitte gebe ein Passwort ein um dich nun auf unserem Server zu Regestrieren.","Regestrieren","Abbrechen");
    SendClientMessage(playerid,BLAU,"Herzlich Wilkommen auf dem Royal_Elite Samp Server");
    }

    return 1;
    }


    public OnPasswordResponse(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,db_handle);
    if(num_rows==1)
    {
    sDaten[playerid][Eingeloggt] = 1;
    sDaten[playerid][Adminlevel] = cache_get_field_content_int(0,"Adminlevel",db_handle);
    sDaten[playerid][Level] = cache_get_field_content_int(0,"Level",db_handle);
    sDaten[playerid][Fraktion] = cache_get_field_content_int(0,"Level",db_handle);
    sDaten[playerid][Geld] = cache_get_field_content_int(0,"Level",db_handle);

    }
    else
    {
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    SendClientMessage(playerid,ROT,"Das eingegebene Passwort ist inkorrekt!");
    }
    return 1;
    }



    Ich habe auch keine Errors im Script


    Mfg Infictible

    Ok Danke^^


    Aber was muss ich dann bei der 1 hinschreiben?


    Weil am Anfang des Scripts hab ich es so definiert



    // Fraktionen
    #define sFraktion "LSPD"
    #define sFraktion2 "ADAC"
    #define sFraktion3 "FBI"
    #define sFraktion4 "Yakuza"
    #define sFraktion5 "Red Soldiers"


    //Dialoge
    #define REGISTER 1
    #define LOGIN 2
    #define REGELN 3
    #define AKZEPTIERT 4
    #define NICHTAKZEPTIERT 5


    //Enums
    enum SpielerDaten
    {
    Adminlevel,
    Level,
    Fraktion,
    Team,
    sLogin
    };
    new sSpieler[MAX_PLAYERS][SpielerDaten];


    /* News */


    new db_handle;


    // Tore
    new YakuzaTor1;
    new YakuzaTor2;


    // Fahrschule
    new FsTor;


    //
    new RSTor;


    // FBI
    new FBI;


    // TaxiTor
    new TTor1;
    new TTor2;

    Also ich habe die neusten Plugins eig. (Mysql auf jedenfall SScanf weiß nicht genau)
    und im Script alle includes includiert aber was meinst du mit define? ^^

    Hallo Ich habe ein Fraktionssystem geschrieben und wollte das jeder Fraktion seine Tore öffnet.
    Doch ich habe das mit einem YT Video gemacht und er hat das gemacht wenn der spieler dieses Adminlevel ist, Aber ich würde gerne das man in der und der Fraktion sein muss um das Tor zu öffnen.



    // Fahrschule Gate
    if(strcmp("/fs", cmdtext, true, 10) == 0)
    {
    if(sSpieler[playerid][Adminlevel] >= 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.5,-2049.3999, -212.89999, 35.4))
    {
    SendClientMessage(playerid,GRÜN,"Du hast das Tor geöffnet. Es schließt sich automatisch.");
    MoveObject(FsTor, -2049.3999, -212.89999, 25.4, 2.0);
    SetTimer("TorFs",5027,false);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht berechtigt das Tor zu öffnen.");
    return 1;
    }
    }
    }


    So hat er das aber wi kann ich das ändern?

    Ich bekomme auf einmal diese Errors. Bitte um hilfe ^^


    Frage steht oben.


    Ich wollte nämlich Regeln Akzeptieren und Account Registrieren nacheinander anzeigen lassen.
    Aber so wie ich das gerade mache kommt nur der Dialog Regeln zum Vorschein.


    Kann mir jemand helfen? was mach ich falsch?