Beiträge von Mr.DubStep

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(TimCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==TimCar[i])
    {
    if(!IsPlayerAnAdmin(playerid,3))
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ADMINWARNUNG,"Du kannst mit diesen Fahrzeug nicht fahren.");
    }
    }
    }

    So, der ausrauben Befehl funktioniert nun, das 2. Problem folgt:


    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 017: undefined symbol "PRIVATE_Last_Money"
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\pawno\include\dutils.inc(205) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Das kommt bei meinem SetMoney Befehl, ich weiß garnicht warum. 8|


    ocmd:setmoney(playerid,params[])
    {
    new pID, money, string[128],string2[128];
    if(!IstSpielerEinAdmin(playerid,3))return SCM(playerid,ROT,"Du bist kein Admin.");
    if(sscanf(params,"ui",pID,money))return SCM(playerid,HBLUE,"Benutze: /setmoney [SpielerID] [Betrag]");
    SetPlayerMoney(pID,money);
    format(string,sizeof(string),"Du hast %s das Geld auf %i gesetzt.",SpielerName(pID),money);
    SendClientMessage(playerid,msg,string);
    format(string2,sizeof(string),"%s hat dir dein Geld auf %i gesetzt.",SpielerName(playerid),money);
    SendClientMessage(pID,ROT,string2);
    return 1;
    }


    Komischerweise nur bei SetPlayerMoney. :huh:
    Nehme ich es raus sind die Errors auch weg..

    Ich wäre für Survival, das würde ein bisschen mehr Spannung einbringen, dann sollten die Spieler aber auch jemanden verfolgen und den dann bei einer guten Gelegenheit umbringen, also so ein richtig schön und spannender Ablauf, niemand sieht irgendwen auf der Map, sondern einfach nach Schüssen orientieren. ^^ (Siehe DayZ :D)

    Und jetzt noch ein Timer dazu, der mich jedoch auch hasst ...


    ocmd:ausrauben
    ocmd:ausrauben(playerid,params[])
    {
    new Float:X,Float:Y,Float:Z;
    new pID,string[128],string2[128];
    new rand = random(10000);
    GetPlayerPos(pID,X,Y,Z);
    if(!IsPlayerConnected(pID))return SCM(playerid,ROT,"Der Spieler ist nicht online.");
    if(!IsPlayerInRangeOfPoint(pID,2.0,X,Y,Z))return SCM(playerid,ROT,"Du bist nicht in der Nähe des Opfers.");
    if(sscanf(params,"u",pID))return SCM(playerid,HBLUE,"Benutze: /ausrauben [Spieler/ID]");
    if(GetPVarInt(playerid,"Job") == 5)
    {
    GivePlayerMoney(playerid,-rand);
    GivePlayerMoney(playerid,rand);
    format(string,sizeof(string),"Du hast %s beklaut, Beute: %i$.",SpielerName(pID),rand);
    format(string2,sizeof(string),"Dir wurden %i$ von einem Taschendieb geklaut.",rand);
    SendClientMessage(playerid,GOLD,string);
    SendClientMessage(pID,GOLD,string2);
    if(beraubt[playerid] != 1)return SCM(playerid,ROT,"Du musst noch warten.");
    {
    SetTimer("beraubt",180000,false);
    SendClientMessage(playerid,GOLD,"Du musst jetzt 3 Minuten warten bis du wieder jemanden ausrauben kannst.");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Taschendieb.");
    }
    return 1;
    }


    public beraubttimer(playerid)
    {
    beraubt[playerid] = 0;
    }


    forward beraubttimer(playerid);


    Ich kann weiterhin /ausrauben verwenden wie ich will, ich weiß das ein Fehler drin steckt, aber ich finde den nicht. Arbeit mit Timern die Spielerzeugs enthalten sind halt neu. :l

    Habe es nun so gemacht, mir wird aber angezeigt das "RandomMoney" nirgends verwendet wird. :huh:


    Spoiler anzeigen
    new Float:RandomMoney[][11] =
    {
    {423},
    {6976},
    {1295},
    {953},
    {3829},
    {1842},
    {2043},
    {1},
    {1329},
    {103}
    };

    Spoiler anzeigen
    ocmd:ausrauben(playerid,params[])
    {
    new pID,string[128],string2[128];
    new rand = random(sizeof(RandomMoney));
    if(GetPVarInt(playerid,"Job") == 5)
    {
    GivePlayerMoney(pID,-rand);
    GivePlayerMoney(playerid,rand);
    format(string,sizeof(string),"Du hast %s beklaut, Beute: %i$.",SpielerName(pID),rand);
    format(string2,sizeof(string),"Dir wurden %i$ von einem Taschendieb geklaut.",rand);
    SendClientMessage(playerid,GOLD,string);
    SendClientMessage(pID,GOLD,string2);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Taschendieb.");
    }
    return 1;
    }


    C:\Dokumente und Einstellungen\Administrator\Desktop\Selfmade\gamemodes\Dubstep.pwn(4749) : warning 203: symbol is never used: "RandomMoney"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

    Ich habe jetzt einfach das abgefragt:
    if(GetPVarInt(playerid,"Leader") == 1)
    if(GetPVarInt(playerid,"Fraktion") == 1 || GetPVarInt(playerid,"Fraktion") == 2 || GetPVarInt(playerid,"Fraktion") == 3)
    Oder ist deine Variante leichter mit dem "GetPVarInt(playerid,"Fraktion") !=0". (?)


    Random versuche ich kurz ...

    Ich hatte vorher es so gemacht das nicht abgefragt ob pID connectet ist, da wurde playerid einfach das Geld gegeben. 8|


    Frage 1:
    Kurze Aufklärung wie ich einem Spieler einen x beliebigen Beitrag "abziehen" kann (/ausrauben).
    Ich brauche nur den kleinen Codeschnipsel, den Rest mache ich selber. ^^


    Frage 2:
    Ich möchte nun, dass der Leader einer Fraktion im Leaderchat schreiben kann, jedoch ist man als Zivilist auch Leader und kann komischerweise schreiben und lesen was die schreiben.
    Habe einfach abgefragt ob sie in der Fraktion 1, 2 und 3 sind. - Erledigt


    //e: Frage hinzugefügt.
    //e²: weitere Frage hinzugefügt.
    //e³: Nötiges hinzugefügt.
    //e4: Frage 2 gelöst.

    Nabend, bin gerade am /pay Befehl, klappt alles schön und gut, nur wenn der User playerid /pay 1 50000 macht, dann kriegt der User pID zwar das Geld, aber der User playerid bekommt das Geld auch.
    Habe es so gemacht:
    GivePlayerMoney(playerid,-money);
    Warum "-money"?
    Es soll ihm ja abgezogen werden..
    Hat jemand eine übliche Version die auch funktioniert? ^^