Wenn Spieler Wanteds hat und getötet wird von einem Cop --> Knast

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    Ich bin zurzeit an einem Wantedsystem dran. Ich versuche zurzeit du scripten, wenn ein Spieler Wanteds hat und von einem Cop getötet wird, dass der Spieler dann in den Knast kommt.


    Habe also folgendes bei OnPlayerDeath


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(isPlayerAnCop(killerid))
    {
    if(havePlayerWanteds(playerid))
    {
    SetPlayerPos(playerid,215.7065,109.8553,999.0156);
    SendClientMessage(playerid,ROT,"Da du von der Polizei gesucht wurdest und dich ein Polizist getötet hat, wanderst du in den Knast!");
    SetPlayerInterior(playerid,10);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,DROT,"Du bist gestorben. Du wirst nun an deinem Standart Spawnpunkt wiederbelebt.");
    return 1;
    }


    }
    return 1;

    }


    Hier mein Stock, der abfragt, ob der Spieler Wanteds hat:
    stock havePlayerWanteds(playerid)
    {
    if(GetPVarInt(playerid,"Wanteds"))return 1;
    return 0;
    }


    Das Problem: Der Spieler kommt nicht in den Knast sondern spawnt einfach ganz normal und die Nachricht kommt auch nicht mit dem Gefängniss aber dass man am Standart Spawn belebt wird, diese Nachricht erscheint dann.


    Hoffe ihr könnt mir helfen


    MfG

    Mit freundlichen Grüßen
    deniboy9

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if(isPlayerAnCop(killerid))
    {
    if(!havePlayerWanteds(playerid),1) return SendClientMessage(playerid,DROT,"Du bist gestorben. Du wirst nun an deinem Standart Spawnpunkt wiederbelebt.");
    SetPlayerPos(playerid,215.7065,109.8553,999.0156);
    SendClientMessage(playerid,ROT,"Da du von der Polizei gesucht wurdest und dich ein Polizist getötet hat, wanderst du in den Knast!");
    SetPlayerInterior(playerid,10);
    return 1;
    }
    return 1;

    }


    stock havePlayerWanteds(playerid,wanteds)
    {
    if(GetPVarInt(playerid,"Wanteds")>=wanteds)return 1;
    return 0;
    }

    Der Stock ist jetzt so, wenn der spieler über 1 wanted hat passiert der code :)

  • firestormZ


    Danke für deine Antwort aber ich bekomme Warnings, die ich selber nicht verstehe^^
    C:\Users\Dennis\Desktop\SAMP\gamemodes\ : warning 202: number of arguments does not match definition
    C:\Users\Dennis\Desktop\SAMP\gamemodes\ : warning 206: redundant test: constant expression is non-zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.

    Mit freundlichen Grüßen
    deniboy9

  • ich hoffe, das euch klar ist das nach den Tod OnPlayerSpawn aufgerufen wird
    Daher Spawnt er auch immer wieder am normalen Spawn


    Lösung dazu ist einfach das ihr eine Variable macht und die dann beim Spawn abfragt

    All in all it's just another brick in the wall

  • if(!havePlayerWanteds(playerid,1)) return SendClientMessage(playerid,DROT,"Du bist gestorben. Du wirst nun an deinem Standart Spawnpunkt wiederbelebt.");


    und bei onplayerspawn !ganz oben deine abfrage ober im knast ist zb
    if(SpielerDaten[playerid][Knast] != 1) return 1;