Beiträge von Kempfer

    Hey ich habe in meinem script errors. Hoffe ihr könnt mir helfen sie zu entfernen:


    dcmd_print(playerid, params[])
    {
    new Inputtext;
    if(sscanf(params,"s[64]",Inputtext)) return SendClientMessage(playerid, ROT,"Verwendung: /print [nachricht]");
    {
    if(SpielerD[playerid][Adminlevel]==2) return SendClientMessage(playerid, ROT,"Du bist kein Admin");
    {
    new nachricht[64];
    format(nachricht, sizeof nachricht,"~n~~n~~n~~n~~n~~n~~B~Supporter: ~W~%s",Inputtext);
    GameTextForPlayer(nachricht, 2000, 5);
    }
    if(SpielerD[playerid][Adminlevel]==3) return SendClientMessage(playerid, ROT,"Du bist kein Admin");
    {
    new nachricht[64];
    format(nachricht, sizeof nachricht,"~n~~n~~n~~n~~n~~n~~B~Moderator: ~W~%s",Inputtext);
    GameTextForPlayer(nachricht, 2000, 5);
    }
    if(SpielerD[playerid][Adminlevel]==4) return SendClientMessage(playerid, ROT,"Du bist kein Admin");
    {
    new nachricht[64];
    format(nachricht, sizeof nachricht,"~n~~n~~n~~n~~n~~n~~B~Super-Moderator: ~W~%s",Inputtext);
    GameTextForPlayer(nachricht, 2000, 5);
    }
    if(SpielerD[playerid][Adminlevel]==5) return SendClientMessage(playerid, ROT,"Du bist kein Admin");
    {
    new nachricht[64];
    format(nachricht, sizeof nachricht,"~n~~n~~n~~n~~n~~n~~B~stelv. Projektleitung: ~W~%s",Inputtext);
    GameTextForPlayer(nachricht, 2000, 5);
    }
    if(SpielerD[playerid][Adminlevel]>=6) return SendClientMessage(playerid, ROT,"Du bist kein Admin");
    {
    new nachricht[64];
    format(nachricht, sizeof nachricht,"~n~~n~~n~~n~~n~~n~~B~Projektleiter: ~W~%s",Inputtext);
    GameTextForPlayer(nachricht, 2000, 5);
    }
    }
    return 1;
    }


    Errors:

    Spoiler anzeigen
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(778) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(784) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(790) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(796) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(802) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    5 Errors.


    Danke im vorraus!
    MFG
    Kempfer

    Ich kann dir jetzt hier keinen genau vorgescripteten code geben, aber eine idee, wie man es machen könnte. Also ich habe den Login vorgang so in meinem script:


    if(dialogid == DIALOG_LOGIN)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, ROT, "Du hast den Login vorgang abgebrochen");
    Kick(playerid);
    return 1;
    }


    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, ROT,"Du musst dein Passwort eingeben!");
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Herzlich Willkommen zurück!\nGebe dein Passwort ein, um dich einzuloggen.","Login","Abbrechen");
    }
    else
    {
    Login(playerid, inputtext);
    }
    return 1;
    }
    return 1;
    }


    So nun wirst du also in den stock Login geleitet. Der sieht bei mir so aus:


    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"),true))
    {
    SendClientMessage(playerid, GRÜN, "Du hast dich erfolgreich eingeloggt");
    SpielerLaden(playerid);
    SpawnPlayer(playerid);
    new Willkommennachricht[64];
    format(Willkommennachricht, sizeof Willkommennachricht,"Willkommen zurueck ~n~~w~%s!",getPlayerName(playerid));
    GameTextForPlayer(playerid,Willkommennachricht,5000, 1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast dein Passwort flasch eingegeben!");
    Kick(playerid);
    return 1;
    }
    }


    Du kannst ja einfach bei "else" statt SendClientMessage(playerid,ROT,"Du hast dein Passwort flasch eingegeben!");
    Kick(playerid);
    return 1;


    Den Spieler in einen neuen stock Leiten, der genau das oben, abspielt, nur das du ihn bei falsch eingabe kickst. Sprich du machst es so:


    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"),true))
    {
    SendClientMessage(playerid, GRÜN, "Du hast dich erfolgreich eingeloggt");
    SpielerLaden(playerid);
    SpawnPlayer(playerid);
    new Willkommennachricht[64];
    format(Willkommennachricht, sizeof Willkommennachricht,"Willkommen zurueck ~n~~w~%s!",getPlayerName(playerid));
    GameTextForPlayer(playerid,Willkommennachricht,5000, 1);
    return 1;
    }
    else
    {
    Login2(playerid, Inputtext);
    }
    }


    du musst nun einfach den stock erstellen. Dazu nimmst du diesen stock:


    stock Login2 (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"),true))
    {
    SendClientMessage(playerid, GRÜN, "Du hast dich erfolgreich eingeloggt");
    SpielerLaden(playerid);
    SpawnPlayer(playerid);
    new Willkommennachricht[64];
    format(Willkommennachricht, sizeof Willkommennachricht,"Willkommen zurueck ~n~~w~%s!",getPlayerName(playerid));
    GameTextForPlayer(playerid,Willkommennachricht,5000, 1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast dein Passwort flasch eingegeben!");
    Kick(playerid);
    return 1;
    }
    }


    Ab da weiß ich nicht weiter wie man es lösen kann, aber vlt, einfach den Dialog von oben kopieren, und ihn mit "DIALOG_LOGIN2 ausstauschen, und es anpassen. Man müsste dem Spieler nur wieder den Dialog anzeigen. Das könnte man vlt. so machen, aber ich weiß nicht sicher ob es funktioniert:
    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"),true))
    {
    SendClientMessage(playerid, GRÜN, "Du hast dich erfolgreich eingeloggt");
    SpielerLaden(playerid);
    SpawnPlayer(playerid);
    new Willkommennachricht[64];
    format(Willkommennachricht, sizeof Willkommennachricht,"Willkommen zurueck ~n~~w~%s!",getPlayerName(playerid));
    GameTextForPlayer(playerid,Willkommennachricht,5000, 1);
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN2, DIALOG_STYLE_PASSWORT,"überschrift","willkommens nachricht und warnung","Weiter,"abbrechen");
    Login2(playerid, Inputtext);
    }
    }


    So dann kopierst du einfach die DIalog anwort von oben, unf fügst alles ein, das es in den neuen stock geleitet wird.
    if(dialogid == DIALOG_LOGIN2)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, ROT, "Du hast den Login vorgang abgebrochen");
    Kick(playerid);
    return 1;
    }


    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, ROT,"Du musst dein Passwort eingeben!");


    ShowPlayerDialog(playerid, DIALOG_LOGIN2, DIALOG_STYLE_PASSWORD, "Login","Herzlich Willkommen zurück!\nGebe dein Passwort ein, um dich einzuloggen.","Login","Abbrechen"); // den dialog so anpassen wie du möchtext!
    }
    else
    {
    Login2(playerid, inputtext);
    }
    return 1;
    }
    return 1;
    }


    Du musst jetzt oben im script nur noch den DIALOG_LOGIN2 definen:


    #define DIALOG_LOGIN2 2 // Die 2 anpassen.


    Ich denke so müsste es funktionieren und ich hoffe ich konnte dir helfen. Wenn grobe fehler drin sind, sind es flüchtigkeits fehler aus zeitgründen!


    Es ist vielleicht nicht richtig eingerückt, das müsstest man dann selber machen!


    MFG
    Kempfer

    Ich habe es jetzt nach der Nachricht von XeroX es so ins script gepackt:


    if(!IstSpielerInFrak(playerid, 4) && (!IstSpielerAdmin(playerid, 4))return SendClientMessage(playerid, ROT, "Du bist kein Fahrlehrer.");


    Aber ich bekomme immer noch diesen error
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(679) : error 001: expected token: ")", but found "return"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Wenn ich die Klammer aber zumachen, dann kommen 2 neue errors!


    MFG
    Kempfer

    Ich habe da diese errors
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp
    Server\gamemodes\GermanHideReallife.pwn(677) : error 029: invalid
    expression, assumed zero
    C:\Dokumente und
    Einstellungen\bzz\Desktop\Samp
    Server\gamemodes\GermanHideReallife.pwn(677) : warning 215: expression
    has no effect
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp
    Server\gamemodes\GermanHideReallife.pwn(677) : error 001: expected
    token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Das ist in dieser Line:
    if(!IstSpielerInFrak(playerid,4)) && !if(IstSpielerAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    Allerdings habe ich das !if(IstSpielerAdmin(playerid,4)) zu if(!IstSpielerAdmin(playerid,4))
    geändert.
    Wie bekomme ich die errors da weg?


    MFG
    Kempfer

    Also die abfrage, ob der Spieler der den command eingibt conencted ist, ist gar nicht so abwigig.
    Stell dir vor:
    Es ist ein Admin da der sich selber den Waffenschein geben möchte, da der Server gerade erst gestartet ist, aus testgründen, etc.
    Dann kann er es sich nicht geben.
    Außerdem, hätte ich noch eine frage zu deiner Lösung.
    Kann es überhaupt funktionieren, das du schreibst:
    if(!IstSpielerInFrak(playerid,4)) && !if(IstSpielerAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    Ich bin relativ neu in dem gebiet, aber ist es überhaupt möglich das man vor das if ein "!" schreibt?
    Außerdem müsste doch ein return hinter if(!IstSpieler in Frak(playerid,4)) und hinter if(IstSpielerAdmin(playerid,4)) oder sehe ich das flasch. Das return steht ja nur für eine if abrfrage oder nicht?
    Wäre cool, wenn du es mir nochmal erklären könntest.


    MFG
    Kempfer

    Hallo. Ich habe versucht ein befehl zu erstellen, mit dem man anderen einen waffenschein geben kann.
    Es funktioniert aber nicht. Währe net wenn mal einer drüber gucken könnte!


    Pawn Code:

    Spoiler anzeigen
    dcmd_waffenschein(playerid,params[])
    {
    new sID;
    if(sscanf(params,"us",sID)) return SendClientMessage(playerid, ROT,"Verwendung: /waffenschein [playerid]");
    {
    if(IsPlayerConnected(sID && playerid))
    {
    if(IstSpielerInFrak(playerid,4)) if(IstSpielerAdmin(playerid,4))
    {
    if(!HatSpielerWaffenschein(sID,1))
    {
    new Spielerdatei[64];
    new Name [MAX_PLAYER_NAME];
    format (Spielerdatei, sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    dini_IntSet(Spielerdatei,"Waffenschein", 1);
    new string[128];
    new string2[128];
    format (string, sizeof string,"%s hat dir den Waffenschein übergeben. Dies kostet 30000€",getPlayerName(playerid));
    SendClientMessage(playerid, GRÜN,string);
    format(string2, sizeof string2,"Du hast %s den Waffenschein übergeben, und dir 30000€ verdient!",getPlayerName(sID));
    SendClientMessage(playerid, GRÜN, string2);
    GivePlayerMoney(playerid, 30000);
    GivePlayerMoney(sID, -30000);
    }
    else
    {
    new string[64];
    format(string, sizeof string, "%s besizt bereits den Waffenschein!",sID);
    return SendClientMessage(playerid, ROT,string);
    }
    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    }
    }
    else
    {
    return SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht Connected!");
    }
    }
    return 1;
    }



    Danke im vorraus
    MFG
    Kempfer

    Hey. Ich habe ein Adminchat versucht zu scripten. Aber als text kommt immer nur "y" raus. Wäre cool wenn einer mal drüber guckt und mit helfen könnte!


    Hier ist der Pawn Code:

    Spoiler anzeigen
    dcmd_a(playerid,params[])
    {
    new Input[128];
    new sID;
    if(sscanf(params,"us",Input)) return SendClientMessage(playerid, ROT,"Verwendung: /a [TEXT]");
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,ROT,"***MELDUNG: Du bist kein Admin/Supporter.****");
    format(Input,sizeof(Input),"*AC*%s: %s",getPlayerName(playerid),Input);
    for(new i = 0; i < GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(sID && playerid))
    {
    SendClientMessage(i,GELB,Input);
    }
    else
    {
    return SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht Connected!");
    }
    }
    }
    return 1;
    }


    Ich hoffe es kann mir jemand helfen!


    MFG
    Kempfer

    Hey.
    Ich habe heute versucht zu scripten, dass man ein Auto mit /motor an und ausstellen kann. Aber wenn man sich in das Auto setzt, dann ist es automatisch an, also vom spiel her. Wie kann ich es ausstellen, also das ich, wenn ich einsteige den motor anmachen muss.


    Ich packe hier nochmal den Script-Code rein:



    if(strcmp("/motor",cmdtext, true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    return 1;
    }
    return 1;
    }
    Danke im vorraus
    MFG
    Kempfer

    Hey. Ich habe errors in meinem script, aber ich kann mir nicht erklären warum...
    Ich hoffe ihr könnt mir helfen.


    Errors:

    Spoiler anzeigen
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(904) : error 055: start of function body without function header
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(905) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\bzz\Desktop\Samp Server\gamemodes\GermanHideReallife.pwn(906) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    3 Errors.


    Im Script:

    Spoiler anzeigen
    stock IstSpielerInFrak(playerid, fraktionsid);
    {
    if(SpielerD[playerid][Fraktion] == fraktionsid) return 1;
    return 0;
    }



    Ich hoffe ihr wisst da weiter.


    Danke im vorraus.
    MFG
    Kempfer

    Hey. Wenn ich jemanden von meinem Server kicke steht da nur. " wurde von vom server gekickt (Grund:"
    Ich weiß nicht wie ich das behebe, da ich denke, das ich alles richtig gemacht habe, Ich packe den Code einmal unten rein.



    dcmd_kick(playerid, params[])
    {
    new sID;
    new Grund [64];
    if(sscanf(params, "us", sID,Grund))
    {
    return SendClientMessage(playerid, ROT, "Verwendung: /kick [playerid] [Grund]");
    }
    else
    {
    if(IstSpielerAdmin(playerid, 2))
    {
    new Spielerkicken[128];
    format(Spielerkicken,sizeof(Spielerkicken), "Du hast %s gekickt! Grund: %s", getPlayerName(sID),Grund);
    SendClientMessage(playerid, GRÜN, Spielerkicken);
    new Spielerkickennachricht[128];
    format(Spielerkickennachricht, sizeof(Spielerkickennachricht), "%s wurde von %s vom Server gekickt! (Grund: %s"), getPlayerName(playerid),getPlayerName(sID);
    SendClientMessageToAll( ROT, Spielerkickennachricht);
    Kick(sID);
    return 1;
    }
    else
    {
    return SendClientMessage(playerid, ROT, "Du bist kein Admin, oder hast nicht die benötigten Rechte!");
    }
    }
    }


    Danke im Vorraus


    MFG
    Kempfer

    seid ich sscanf2 in dem pluginsstehen habe, startet der server und er crasht. Wenn ich nur sscanf in die cfg schreibe, dann öffnet sich noch ein fenster wo steht : Die anwendung konnte nicht gestartet werden, weil MSVCR100.dll nicht gefunden wurde. Wenn ich sscanf2 in die cfg schreibe, kommt es nicht


    MFG
    Kempfer

    Hallo.
    Ich habe auf meinem Server das Plugin sscanf installiert, und damit kick und ban befehle gescriptet. Ich wollte gerade den server das erste mal starten und es kam das problem "run timer error 19." Ich habe in meinem Server ordner den ordner "sscanf", in meinen includes "sscanf2" und in meinen plugins "sscanf.dll". Ich weiß nicht wo dran es liegen könnte. Hier sind einmal die einstellungen die ich in meiner server.cfg habe:


    echo Executing Server Config...
    lanmode 0
    rcon_password Selfmade
    maxplayers 2
    port 7777
    hostname German Hide Reallife
    gamemode0 GermanHideReallife 1
    filterscripts
    Plugins sscanf2
    announce 0
    query 1
    chatlogging 0
    weburl www.sa-mp.com
    onfoot_rate 40
    incar_rate 40
    weapon_rate 40
    stream_distance 300.0
    stream_rate 1000
    maxnpc 0
    logtimeformat [%H:%M:%S]


    Und dann packe ich hier nochmal den Server log von der letzten startung des servers:



    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team


    [18:15:23] filterscripts = "" (string)
    [18:15:23]
    [18:15:23] Server Plugins
    [18:15:23] --------------
    [18:15:23] Loading plugin: sscanf2
    [18:15:23] Failed.
    [18:15:23] Loaded 0 plugins.


    [18:15:23]
    [18:15:23] Filterscripts
    [18:15:23] ---------------
    [18:15:23] Loaded 0 filterscripts.


    [18:15:23] Script[gamemodes/GermanHideReallife.amx]: Run time error 19: "File or function is not found"
    [18:15:23] Number of vehicle models: 0
    [18:15:27] --- Server Shutting Down.


    Ich weiß nicht weiter und habe im internet auch schon ein paar treaths dazzu angeguckt.
    Ich hoffe das ihr mir weiter helfen könnt


    Danke im vorraus.
    MFG
    Kempfer