Beiträge von Andre_R

    Die ist immer 0, da


    GetPlayerName(pID,Pname,sizeof(Pname));
    if(sscanf(params,"us",pID,rsn)) return SendClientMessage(playerid,system, "SYSTEM: Benutze:/ban [Spieler ID] [Grund]");


    GetPlayerName(pID....


    vor der Scanf abfrage steht,..
    Und wenn du für PID keinen Wert hast, wird immer 0 gesetzt..


    Mache die Scanf-Abfrage einfach vor die GEtPlayerName sachen :)

    Probiere es mal so :)
    Den habe ich aus ieinem Standart-Script und was umgeformt:


    if(strcmp(cmd, "/heal", true) == 0)
    {
    new tmp[256],giveplayerid,amount;
    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /heal [playerid] [amount]");
    return 1;
    }
    giveplayerid = strval(tmp);


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /heal [playerid] [amount]");
    return 1;
    }
    amount = strval(tmp);


    if (IsPlayerConnected(giveplayerid))
    {
    SetPlayerHealth(giveplayerid,150.0)
    SendClientMessage(giveplayerid,Grau,"Du wurdest von einem Admin geheilt (Auf 150HP).");
    SendClientMessage(playerid,Rot,"Du hast den Spieler geheilt.");
    }
    return 1;
    }


    Du hast u.A. Bei Params ein s vergessen und den dcmd-Command nicht richtig deklariert :)


    dcmd(aheal,5, cmdtext);


    dcmd_aheal(playerid,params[])
    {
    new pID;
    if(strlen(params))
    {
    pID = strval(params);
    if(IsPlayerConnected(pID))
    {
    SetPlayerHealth(pID,150.0)
    SendClientMessage(pID,Grau,"Du wurdest von einem Admin geheilt (Auf 150HP).");
    SendClientMessage(playerid,Rot,"Du hast den Spieler geheilt.");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Der Spieler wurde nicht gefunden");
    }
    }
    return 1;
    }

    Ich finde das ganze System, wie es bisher ist ein bisschen mieß gemacht,..
    Denn wenn jetzt ein anderer ein Ticket macht, wied das alte gelöscht...
    Probiere es mit Max_Player-Arrays und lasse werte bei denen z.B. als PVarString etc. speicher und dann auslesen...

    Joa, die Lösung ist wohl was einfacher :)


    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPVarFloat(playerid,"tX",x);
    SetPVarFloat(playerid,"tY",y);
    SetPVarFloat(playerid,"tZ",z);
    SetPVarInt(playerid,"Jail",1);


    Du hattest überall die X-Koords speichern lassen ;)

    Ja schön, und was ist jetzt los?


    Der Error File or function not found zeigt an, das z.B. Du eine DAtei,.. Plugin etc. vergessen haben könntest.
    Auch könnte das Script nicht startbar sein, da dort in der .amx noch errors sind..

    Hmm, ich habe eben mal was getestet...
    Soweit wie ich es jetzt mitbekommen habe führt er den Command, während
    ein Dialog geöffnet ist auch nicht aus,..


    Tut, mir Leid..
    Aber da kann ich gerade nicht weiter helfen.

    Oh, eins übersehen :D


    CT[0] = AddPlayerClass(285,-1042.06091309,-594.9520874031,657037735,71.2724, 24, 60, 0, 0, 0, 0);
    CT[1] = AddPlayerClass(286,-1042.06091309,-594.9520874031,65703773,71.2724, 24, 60, 0, 0, 0, 0);
    CT[2] = AddPlayerClass(280,-1042.06091309,-594.9520874031,65703773,71.2724, 24, 60, 0, 0, 0, 0);

    Du solltest ein , anstatt einen . machen...


    CT[0] = AddPlayerClass(285,-1042.06091309,-594.9520874031.657037735,71.2724, 24, 60, 0, 0, 0, 0);
    CT[1] = AddPlayerClass(286,-1042.06091309,-594.9520874031.65703773,71.2724, 24, 60, 0, 0, 0, 0);
    CT[2] = AddPlayerClass(280,-1042.06091309,-594.9520874031.65703773,71.2724, 24, 60, 0, 0, 0, 0);

    Hmm, dann fällt mir gerade auch nichts konkretes ein...
    Nach dem Restart erscheint doch dann wieder der Login-Dialog, oder?


    Dann mach doch einfach bei deinem Restart-Command, eine Variable auf 0 und frage sie ab, wenn sie 0 ist, soll die camera moven

    Das mit dem Pass ist doch simpel,


    Du speicherst, jenachdem wie dein Speichersystem ist, den Namen des Spielers bei dem Partner z.B. unter Partner und beim anderen genauso...


    Zu dem zusammen wohnen, hängt das von dem System ab.

    1. Das ist doch einfacher, oder?


    http://wiki.sa-mp.com/wiki/LimitGlobalChatRadius


    2. Wenn du das so machen willst, wie du es hast, muss das return unten eine 0 senden, also:


    public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",SpielerName(playerid),text);
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,20,X,Y,Z))
    {
    SendClientMessage(i,Weis,string);
    return 0;
    }
    }
    return 0;
    }