Beiträge von ISAPnP

    Hier geht's zum Pawn Code des Filterscripts.


    Schönen guten Abend liebe Leser/Innen,
    folgendes Problem beschäftigt mich schon seit 15 Uhr:


    Ich habe mir ein kleines Filterscript gebastelt, was auch geladen wird.
    Die Funktion dahinter ist, dass wenn ein Spieler mit den jeweiligen Namen auf den Server connectet,
    etwas bestimmtes 'ausgeführt' wird.


    Nur das oben beschriebende Filterscript funktioniert nicht, was für ein Wunder.
    Es lädt, es printet auch den Text aus, der unter OnFilterScriptInit zufinden ist.


    Nur wenn ich mich nun mit einem der jeweiligen Namen einlogge, passiert leider nix.
    Weder werde ich gebannt, noch printet er dort irgendetwas.


    Ich habe dann einmal das Jede-Zeile-Print-Verfahren gemacht, er hört ab Zeile 30 (Vor der Klammer) auf.


    Sollte ich jedoch, zuvor eine IP angeben, und GetPlayerIP auskommentieren, so bannt er die angegebende IP.


    Bisher habe ich mich an Hauke, dem Ersteller der Block Variante gewendet, sowie in ICQ an BloodyEric.
    Vielen Dank bisher für eure Hilfe.


    Der Compiler (Pawno) sagt mir keinerlei Errors oder Warnungen an.


    Ich hoffe, dass jemand einen Fehler erkennt, oder eine andere Lösung für mich hat.


    / Außerdem: \
    Ich habe außerdem versucht, ein neuen Callback zuerstellen, und diesen dann via. Timer aufzurufen.
    Gleiches Problem.



    mit freundlichen Grüßen
    ISAPnP
    (Ich hoffe, dass meine Problemschilderung gut ist.)


    /E: Link zum Pastebin hinzugefügt.


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    new LightOn;
    new alarm;
    new alarm2;
    new Float:x,Float:y,Float:z;
    new FahrzeugID = GetVehicleModel(GetPlayerVehicleID(playerid));


    if(newkeys & KEY_CROUCH)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(LightOn == 0) {
    if(FahrzeugID == 426) {
    alarm = CreateObject(18646,x,y,z,0,0,0,283); //die 1. neonröhre
    AttachObjectToVehicle(alarm, GetPlayerVehicleID(playerid), -0.45,-0.2,0.93,0.77,0,0); //das ist die eine seite
    LightOn = 1;
    }
    }
    else if(LightOn == 1)
    {
    DestroyObject(alarm);
    DestroyObject(alarm2);
    SendClientMessage(playerid, COLOR_GREEN, "Licht demontiert.");
    LightOn = 0;
    }
    }
    }
    return 1;
    }

    Ich schmeiß einmal diese Zeile in die Runde:
    format(string3, 256,"Level:%d\n Levelpunkte:%d/%d\n\n", PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pExp],PlayerInfo[playerid][pLevel]+1+levelexp);
    Ich versteh den Sinn bei "+1+levelexp" nicht wirklich. Entfern die "+1+levelexp" einmal.
    Wie erstellst du denn levelexp?


    if (strcmp("/Raketen", cmdtext, true, 8) == 0)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 444) return SendClientMessage(playerid, 0xFF0000FF, "es wäre klug in einem Monstertruck zu sein ;)");
    rakete = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1,250.0);
    AttachObjectToVehicle(rakete,GetPlayerVehicleID(playerid),-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
    return SendClientMessage(playerid,0xFFE600FF,"Raketenwerfer montiert");
    }


    if (strcmp("/Raketenab", cmdtext, true, 10) == 0)
    {
    DestroyObject(rakete);
    return SendClientMessage(playerid,0xFFE600FF,"Raketenwerfer demontiert");
    }


    Du darfst diese Variable nicht in einem Befehl erstellen, denn dann zählt diese Variable nur für diesen
    einen Befehl und kann bei keiner anderen Funktion aufgerufen werden.


    Die Variable solltest du unter den Callback (public) "OnPlayerCommandText" erstellen.
    ( new rakete; )



    Ich hoffe ich kann dir damit helfen, Gruß ISA

    Der Rest scheint richtig zu sein, wie lautet denn dein 'switch' ?
    Case fängt (fast) immer* 0 an, ist denn ein case 0 vorhanden?

    *Ausnahmen sind natürlich vorhanden

    ocmd:kick(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Blau,"Du bist kein Admin!");
    new pID,grund[128],string[128], SpielerName[MAX_PLAYER_NAME],spielername[MAX_PLAYER_NAME];
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,Blau,"Fehler: /kick [ID] [Grund]");
    GetPlayerName(pID,SpielerName,sizeof(SpielerName));
    GetPlayerName(playerid,spielername,sizeof(spielername));
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName,spielername,grund);
    SendClientMessageToAll(Blau,string);
    Kick(pID);
    return 1;
    }

    Ein wunderschönen Guten Tag,
    ich halt es einmal kurz - Ich hab ein Problem.


    Wenn ich bei 'zGrund' als Optimalen String angebe, so kann ich die Dauer freilassen, wenn ich es jedoch als String angebe, dann nicht.
    Außerdem macht er, wenn ich 0 Angebe die Zeit auf 48 (Minuten), 1 = 49 (Minuten), ... .


    Hier ist der Scripteil:

    dcmd_mute(playerid,params[])
    {
    new mutespieler, Dauer, zGrund[128];
    if(sscanf(params,"udz",mutespieler,Dauer,zGrund))
    {
    SendClientMessage(playerid,Orange,"Benutzung: /mute [ID] [ZEIT] >Grund<");
    SendClientMessage(playerid, Orange, "Zeit wird in Minuten angeben! - Ein Grund ist Optimal, jedoch nicht nötig.");
    return 1;
    }
    if(SpielerInfo[playerid][AdminLvL] >= 1)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerConnected(mutespieler))
    {
    return SendClientMessage(playerid,Rot,"Es existiert kein Spieler mit dieser ID!");
    }
    else
    {
    if(playerid == mutespieler)
    {
    return SendClientMessage(playerid,Rot,"Du kannst dir nicht selber ein Sprechverbot geben!");
    }
    else
    {
    new admin[MAX_PLAYER_NAME];
    new sspielername[MAX_PLAYER_NAME];
    new Nachricht[150];
    GetPlayerName(playerid, admin,sizeof(admin));
    GetPlayerName(mutespieler, sspielername, sizeof(sspielername));
    format(Nachricht,sizeof(Nachricht),"Administrator %s hat Spieler %s für %d Minuten ein Sprechverbot auferlegt, Grund: %s", admin,sspielername,Dauer,zGrund[0] ? zGrund : "Kein Grund Angegeben!");
    SendClientMessageToAll(Rot,Nachricht);
    SpielerInfo[mutespieler][Sprechverbot] = 1;
    SpielerInfo[mutespieler][Sprechverbotzeit] = Dauer * 60;
    new pNachricht[100];
    format(pNachricht,sizeof(pNachricht),"Administrator %s hat Spieler %s ein Sprechverbot auferlegt.",admin,sspielername);
    print("-----");
    print(pNachricht);
    return 1;
    }
    }
    }
    else {IstNichtAdmin return 1;}
    }


    Den sscanf Code habe ich vom Tutorial von Goldkiller.


    ich würde mich sehr über Hilfe freuen.


    mit freundlichen Grüßen
    ISAPnP

    Was sollen wir denn nun genau bewerten?
    Das Design von KittBlog, oder dein Hintergrund Bild für's WBB Design?


    Ich persönlich finde, dass die Typen(Hintergrund Bild) garnicht zum Design passen.

    Code
    [video='',left]http://www.youtube.com/watch?v=BYJA91nJ_fU&feature=player_embedded[video]


    So wird es Linksbündig.


    Information:

    Quelle


    //Edit: 'Information:' hinzugefügt.