Beiträge von Nighthawk

    Hallo Liebe Mitglieder, ich habe ein großes Problem.
    Ich habe auf meinem Server sehr viele Business & alle kann man nicht kaufen.
    Ich habe in der Datei bizz.cfg die erste Nummer auch auf 0 (kaufbar) trotzdem funktioniert es nicht, In-Game wird angezeigt, dass dieses Business bereits ein Inhaber hat.
    mfG, Nighthawk und ich hoffe, ihr könnt mir helfen.

    Hallo Liebe mitglieder.
    Wenn ich auf meinem Server "/biz BIZ-ID" eingebe, crasht mein SAMP-Server, weißt einer vielleicht wieso?
    Hier ist mein Befehl:


    if(strcmp(cmd, "/biz", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZE: /biz [biznummer]");
    return 1;
    }
    new housenum = strval(tmp);
    SetPlayerInterior(playerid,BizzInfo[housenum][bInterior]);
    SetPlayerVirtualWorld(playerid,BizzInfo[housenum][bWorld]);
    SetPlayerPos(playerid,BizzInfo[housenum][bExitX],BizzInfo[housenum][bExitY],BizzInfo[housenum][bExitZ]);
    GameTextForPlayer(playerid, "~w~Teleporting", 5000, 1);
    PlayerInfo[playerid][pInt] = BizzInfo[housenum][bInterior];
    PlayerInfo[playerid][pWorld] = BizzInfo[housenum][bWorld];
    PlayerInfo[playerid][pLocal] = housenum+99;
    }
    }
    return 1;
    }


    mfG, Nighthawk.

    Achso, das ganze muss so aussehen, oder?


    if(IsPlayerConnected(i))
    {
    new wagen = GetPlayerVehicleID(i);
    if(GetPlayerSurfingVehicleID(i) != INVALID_VEHICLE_ID && GetPlayerSurfingVehicleID(wagen) != 470)
    {
    new Float:health;
    GetPlayerHealth(i, health);
    SendClientMessage(i, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
    SetPlayerHealth(i, health-5.0);
    }
    }


    mfG, Nighthawk.

    Hallo Liebe Mitglieder.
    Ich habe ein Anti Vehicle Surfing Problem, unzwar wollte ich gerne Scripten, dass wenn man auf dem Patriot Wagen oben drauf ist, dass der Spieler keine Nachricht bekommt und kein HP verliert, bei allen anderen Cars soll er aber eine Nachricht bekommen und HP verlieren.
    Zurzeit ist es so, dass man überall auf Autos eine Nachricht bekommt und HP verliert.


    Mein Code sieht so aus:


    if(IsPlayerConnected(i))
    {
    new wagen = GetPlayerVehicleID(i);
    if(GetPlayerSurfingVehicleID(i) != INVALID_VEHICLE_ID && GetVehicleModel(wagen) != 470)
    {
    new Float:health;
    GetPlayerHealth(i, health);
    SendClientMessage(i, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
    SetPlayerHealth(i, health-5.0);
    }
    }


    mfG, Nighthawk.

    Du checkst einfach mit IsPlayerInCheckpoint ob der Spieler auf dem Checkpoint ist und deaktivierst es dann mit DisablePlayerCheckpoint und erstellt danach wieder direkt einen neuen mit SetPlayerCheckpoint.
    Ich hoffe, ich konnte dir helfen.
    mfG, Nighthawk.

    Ich habe das ganze einfach in OtherTimer (jede Sekunde) reingepackt und dein Timer nicht mitgenommen.
    Nun kommt die Nachricht aber immer 2x und HP wird dann auch wohl 2x abgezogen in einer Sekunde.
    Ich möchte es aber jede Sekunde nur 1x + 1x HP abziehen.
    mfG, Nighthawk.


    //edit: Und wieso 500x loopen? Ich habe oben MAX_PLAYERS definiert
    (#undef MAX_PLAYERS
    #define MAX_PLAYERS 100)

    Hallo Liebe Mitglieder.
    Ich habe hier ein Anti Vehicle Surfing System, was leider Probleme macht.
    Ich habe das ganze unter OtherTimer (jede Sekunde) drinne und das Problem ist, dass ich die Nachricht (* Du verletzt dich auf Fahrzeugen!) immer zweimal hintereinander bekomme, statt einmal hintereinander.


    Hier ist mein Code:


    for(new k=0; k<MAX_PLAYERS; k++)
    {
    if(IsPlayerConnected(k))
    {
    if(GetPlayerSurfingVehicleID(k) != INVALID_VEHICLE_ID)
    {
    new Float:health;
    GetPlayerHealth(k, health);
    SendClientMessage(k, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
    SetPlayerHealth(k, health-5.0);
    }
    }
    }


    mfG, Nighthawk.


    Mein Code:


    for(new i=0,gmp=GetMaxPlayers(); i<gmp; i++)
    {
    if(IsPlayerConnected(i) && (GetPlayerSurfingVehicleID(i)!=INVALID_VEHICLE_ID))
    {
    new Float:pHealth;
    GetPlayerHealth(i, pHealth);
    SendClientMessage(i, 0xFFFFFFFF, "* Du verletzt dich auf Fahrzeugen!");
    SetPlayerHealth(i, pHealth-5.0);
    }
    }


    Fehler:


    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11372) : warning 219: local variable "i" shadows a variable at a preceding level
    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11376) : warning 219: local variable "pHealth" shadows a variable at a preceding level
    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11377) : error 035: argument type mismatch (argument 2)
    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11379) : warning 213: tag mismatch
    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11379) : warning 213: tag mismatch
    C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11376) : warning 203: symbol is never used: "pHealth"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    mfG, Nighthawk.


    //edit: Habe das ganze umgescriptet, nun kommt die Nachricht aber immer 2x, weiß einer vielleicht warum?
    Hier ist mein Code:


    for(new = k=0; k<MAX_PLAYERS; k++)
    {
    if(IsPlayerConnected(k))
    {
    if(GetPlayerSurfingVehicleID(k) != INVALID_VEHICLE_ID))
    {
    new Float:health;
    GetPlayerHealth(k, health);
    SendClientMessage(k, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
    SetPlayerHealth(k, health-5.0);
    }
    }
    }


    mfG, Nighthawk.

    Halo Liebe Mitglieder.
    Kann mir einer vielleicht helfen, Anti-Vehicle Surfing ungefähr so zu scripten?
    Das System sollte so laufen, wenn der Spieler, der auf einem Auto drauf geht (surft) bekommt ganze Zeit eine Nachricht (solange er auf dem Car ist) "* Du verletzt dich auf Fahrzeugen!" und dass sein HP immer -10 wird.
    mfG, Nighthawk.

    Code richtig eingerückt, Rechtschreibfehler verbessert, Texte geändert etc.
    Vergleich einfach mein Code mit deinem aktuellen, dann wirst du sehen, dass vieles geändert wurde.
    mfG, Nighthawk.

    Ersetz:


    if(location == 99 || location == 100 || location == 102)


    mit:


    if(location == 99 || location == 100 || location == 101 || location == 102 || location == 103 || location == 104 || location == 105)


    mfG, Nighthawk.

    Habe dein Code mal bisschen umgeändert und Unknown Command sollte auch nicht mehr kommen, hier:


    new string[128];
    new beruf[30];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "/Spieler/%s.ini", name);
    format(beruf, sizeof(beruf), dini_Get(string, "Beruf"), name);
    if(strcmp(strget(cmdtext,0), "/stehlen", true) == 0)
    {
    if(strcmp(beruf, "Dieb", true) == 0)
    {
    new string2[128];
    new ziel = strval(strget(cmdtext,1));
    new Float:x, Float:y, Float:z;
    new geld = GetPlayerMoney(ziel);
    new geld2 = random(geld);
    GetPlayerPos(ziel, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
    {
    new zufall = random(2);
    if(zufall == 1)
    {
    format(string2, sizeof(string2), "Du hast ERFOLGREICH %i geklaut!", geld2);
    SendClientMessage(playerid, Rot, string2);
    GivePlayerMoney(playerid, geld2);
    GivePlayerMoney(ziel, -geld2);
    return 1;
    }
    else if(zufall == 2)
    {
    SendClientMessage(playerid, Rot, "Es hat nicht geklappt, versuche es schnell nocheinmal!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Dieser Spieler ist nicht in deiner nähe!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du bist kein Dieb!");
    return 1;
    }
    return 1;
    }


    mfG, Nighthawk.


    //edit: Code verbessert.
    //edit 2: Rechtschreibung verbessert.

    Wieso soll ich jetzt:
    if(GoChase[killerid] == playerid)
    ändern?


    mfG, Nighthawk.


    //edit habe es jetzt auf:


    if(!IsACop(killerid) && GotHit[killerid] == 0)
    {
    WantedLevel[killerid]+=1;
    SetPlayerCriminal(killerid, 255, "Mord");
    }
    else if(!IsACop(killerid) && GotHit[killerid] == 1)
    {
    SetPlayerCriminal(killerid, 255, "Mord (Auftrag)");
    }


    geändert.


    //edit: Bekomme noch immer 2 Wanted, ob mit Auftrag oder nicht.
    Hier ist mein Code:


    if(!IsACop(killerid) && GotHit[killerid] == 0)
    {
    WantedLevel[killerid]+=1;
    SetPlayerCriminal(killerid, 255, "Mord");
    }
    else if(!IsACop(killerid) && GotHit[killerid] == 1)
    {
    SetPlayerCriminal(killerid, 255, "Mord (Auftrag)");
    }