Beiträge von Kinimod

    machs mal so:


    if(sscanf(params,"iii", cID, cl1, cl2))return SendClientMessage(playerid,ROT,"/command [Wert 1] [Wert 2] [Wert3]");
    //Hier jetzt das, was passieren soll, wenn alle Parameter korrekt sind

    Hör mal schätzken, der Einzige, der ekelhaft rüberkommt, bist Du.


    D.Fence hat höflich gefragt, was Du meinst und Du kommst direkt überheblich rüber.


    Aber um des zu kapieren muss man ja sein Gehirn einschalten... :thumbdown:


    //EDIT: Übrigens: google ist in Bezug auf das Wörtchen "assi" sehr hilfreich. :thumbup:

    Das Tolle ist auch, dass man sich die Funktionen von Pawno meistens erschließen kann, da diese fast alle immer im gleichen Musterf aufgebaut sind. :>


    Den Rest tut die Wiki, falls man mal nicht bescheid weiß :>


    Wo siehst Du denn in seinem Stock eine Beendung der If Schleife?
    Demnach waren return 1 und return 0 auf einer Ebene.


    Und warum ich den anderen Stock bevorzuge?


    Ganz einfach: Stell Dir mal vor, Du willst den Rang eines admins ermitteln, ohne zu wissen, welchen er hat.


    Dann kann man den Rang nicht als Parameter übergeben.


    also gibt man ihn per return aus.


    Grüße

    Nach meinem Wissen, sollte das falsch sein.


    Wenn ich mich irre, mach den Stock mal andersindem du einfach die PVar returnst
    stock padmin(pID){
    return GetPVarInt(pID,"Adminlevel");
    }
    und in der abfrage fragst:
    if(padmin(playerid)==3)// 3 = Adminlevel

    also beim ersten Versuch funktionierte es, beim zweiten nciht.


    ich habe den Code von Dir genommen und nur beim hide und show auf ein PlayerTextDraw angepasst, da sonst Tag missmatch Fehler kamen und der Fehler besteht leider immernoch.

    also muss ich den TextDraw beim Death löschen und wieder neu erstellen?


    Und jo ich setz den mal runter xD


    Ich hab's jetzt so gem.:
    stock kd(pID){
    new str[64];
    format(str,sizeof(str),"Kills: %i - Deaths: %i",mysql_GetInt("accounts","kills","name",SpielerName(pID)),mysql_GetInt("accounts","deaths","name",SpielerName(pID)));
    stats[pID]=CreatePlayerTextDraw(pID,390, 430,str);
    PlayerTextDrawUseBox(pID,stats[pID] , 1);
    PlayerTextDrawFont(pID,stats[pID] , 2);
    PlayerTextDrawBackgroundColor(pID,stats[pID] ,0x000021FF);
    PlayerTextDrawBoxColor(pID,stats[pID] ,0x000021FF);
    PlayerTextDrawShow(pID,stats[pID]);
    }


    und dann bei onplayerdeath:
    PlayerTextDrawDestroy(playerid,stats[playerid]);
    PlayerTextDrawDestroy(killerid,stats[killerid]);

    kd(playerid);
    kd(killerid);

    Moinsen,


    folgnder Code:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new oldkills=mysql_GetInt("accounts","kills","name",SpielerName(killerid));
    mysql_SetInt("accounts","kills",oldkills+1,"name",SpielerName(killerid));

    new olddeaths=mysql_GetInt("accounts","deaths","name",SpielerName(playerid));
    mysql_SetInt("accounts","deaths",olddeaths+1,"name",SpielerName(playerid));

    new str1[1000];
    format(str1,sizeof(str1),"Kills: %i - Deaths: %i",mysql_GetInt("accounts","kills","name",SpielerName(killerid)),mysql_GetInt("accounts","deaths","name",SpielerName(killerid)));
    PlayerTextDrawSetString(killerid,stats[killerid],str1);

    new str2[1000];

    format(str2,sizeof(str2),"Kills: %i - Deaths: %i",mysql_GetInt("accounts","kills","name",SpielerName(playerid)),mysql_GetInt("accounts","deaths","name",SpielerName(playerid)));
    PlayerTextDrawSetString(playerid,stats[playerid],str2);
    return 1;
    }


    Beim ersten Kill und Death, aktualisiert es sich, doch beim zweiten überlappen sich alter und neuer Textdraw.


    Ich versuche nun seit knapp 3 Stunden den Fehler zu lokalisieren, doch ich finde ihn einfach nicht.


    Was mache ich falsch?


    Grüße

    ocmd:gotothecar(playerid,params[]){
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"AdminRang zu niedrig.");
    new Float:X, Float:Y, Float:Z,vid;
    if(sscanf(params,"d",vid))return SendClientMessage(playerid,Grau,"Fehler: /gotothecar [ID]");
    GetPlayerPos(vid,X,Y,Z); //wiespo fragst Du die Position vom Spieler ab, du musst die Position vom Car abfragen und des kannste mithilfe von Dudalos Post.
    SetPlayerPos(vid,X,Y,Z);
    return 1;
    }

    alles 3 leer.


    das Einzige wäre Onplayerspawn:


    if(IsPlayerAnAdmin(playerid,1)){
    SetPVarInt(playerid,"SupOnDuty",0);
    SetPlayerPos(playerid,1123.2590,-2037.0715,69.8876);
    SetPlayerInterior(playerid,0);
    SetPlayerSkin(playerid,188);
    }

    Moinsen,


    ich stehe vor einem großen Problem:


    Ich scripte gerade einen DM Server und wenn man in einem Interior stirbt/erschossen wird, habe ich eine Lebensanzeige von Null.


    Bei dem Mörder liege ich in einer Blutlache, ich kann abernoch rumlaufen, wie ges. aber mit einer Lebensanzeige von Null.


    Ich finde den Fehler nicht und da es in einem alten Script auch war und ioch ein komnplett neue Script angef. habe, gehe ich nicht von einem Scriptfehler aus.


    Hatte jmd. einen ähnlichen Fehler und weiß, wie man den beheben kann?


    Ich weiß ehrlich ges. auich nicht, welchen Code ich posten sollte, da dies nur im Interior passiert.



    //EDIT: bei uns beiden ist dann aich die Lebensanzeige und die Waffen anzeige weg.
    Viele Grüße

    Moinsen,


    ich habe momentan folgenden Code:


    public OnPlayerText(playerid, text[])
    {
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,15,X,Y,Z))
    {
    SendClientMessage(i,White,text);
    new Log[100];
    format(Log,sizeof(Log),"[Chat] %s: %s",SpielerName(playerid),text);
    SaveToFile(Log);
    }
    }

    for(new i = 0;i<1000000;i++){
    if(strfind(text,BadWords[i],true)!=-1){
    new string[128];
    new log[100];
    format(string,sizeof(string),"%s wurde vom Anti Bad Word System gekickt.",SpielerName(playerid));
    SendClientMessageToAll(ROT,string);
    format(log,sizeof(log),"[Kick] Server ----> %s, Grund: Verbotenes Wort [%s]",SpielerName(playerid),text);
    SaveToFile(log);
    Kick(playerid);
    }
    }
    }


    Jetzt ist mir aufgefallen, dass beide Code blöcke nicht miteinander korrespondieren.


    Wenn ich etwas eingebe, ist der globale Chat noch da, aber der lokale auch. Ich möchte ja den globalen Chat weghaben und NUR den lokalen Chat beibehalten.


    Dies gelingt mir, sobald das anti bad word System weg ist.


    Wie kann ich beides zusammen in onplayertext unterbringen, sodass der globale Chat weg ist und der lokale bleibt?