Brauche Hilfe beim Angelsystem

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
  • DAS WAS HIER BISHER GESCHRIEBEN WURDE WAR VON MEINEM ALTEM PROBLEM!
    NEUES PROBLEM:


    Spoiler anzeigen
    Bin grade an nem Angelsystem.

    Spoiler anzeigen
    Es klappt auf einem Boot , auf dem anderen aber nicht!

    Spoiler anzeigen
    new fischerboot[2];

    Spoiler anzeigen
    OnPlayerConnect
    fischerboot[0]=CreateVehicle(453,580.20001221,-1917.50000000,0.00000000,169.24542236,102,102,15); //Reefer
    fischerboot[1]=CreateVehicle(453,595.89941406,-1918.19921875,0.00000000,178.99542236,102,102,15); //Reefer

    Spoiler anzeigen
    ocmd:angeln(playerid,params[])
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",PlayerName(playerid));
    new Float:x,Float:y,Float:z;
    for(new f = 0; f < sizeof(fischerboot); f++)
    {
    GetVehiclePos(fischerboot[f],x,y,z);
    }
    if(IsPlayerInWater(playerid))return SendClientMessage(playerid,Rot,"Du bist auf keinem Fischerboot!");
    {
    if(!IsPlayerInRangeOfPoint(playerid,6.0,x,y,z))return SendClientMessage(playerid,Rot,"Du bist auf keinem Fischerboot!");
    {
    if(dini_Int(Spieler,"Angel")==0)return SendClientMessage(playerid,Rot,"Du hast keine Angel!");
    {
    SendClientMessage(playerid,Rot,"Funzt");
    }
    }
    }
    return 1;
    }

  • Ja,
    Man muss animlibs abrufen lassen.
    Ich muss mir das mal angucken, sonst poste ich mal den code hier.
    //Diese Funtkion ist so:
    Der Spieler der gerade im Wasser ist "spielt" eine animlib ab, oder eine Animation, wenn die "abgespielt" wird,
    erkennt die Funtkion dass man im Wasser ist.
    Code:

    stock IsPlayerInWater(playerid)
    {
    new anim = GetPlayerAnimationIndex(playerid);
    if (((anim >= 1538) && (anim <= 1542)) || (anim == 1544) || (anim == 1250) || (anim == 1062)) return 1;
    return 0;
    }


  • versuch mal das hier
    stock IsPlayerInWater(playerid)
    {
    new animlib[32], atmp[32];
    GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib), atmp, sizeof(atmp));
    if( !strcmp(animlib, "SWIM") && !IsPlayerInAnyVehicle(playerid) ) return 1;
    return 0;
    }


    dann halt die Abfrage if(IsPlayerInWater(playerid))//wenn der Spieler im Wasser ist ;)

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []


  • Den stock hab ich drin , aus deinem anderen Thread :3


    Aber da wird ja nur erkannt ob er schwimmt , also wenn er sich im Wasser bewegt , ich möchte aber dass es geht wenn er still rumschwimmt , weil es ist schwer zu schwimmen und dabei den cmd einzugeben :O


    Edit: Danke an euch beiden , dass von Forbidden funzt :)

  • 2
    new fischerboot[2];


    OnPlayerConnect
    fischerboot[0]=CreateVehicle(453,580.20001221,-1917.50000000,0.00000000,169.24542236,102,102,15); //Reefer
    fischerboot[1]=CreateVehicle(453,595.89941406,-1918.19921875,0.00000000,178.99542236,102,102,15); //Reefer


    ocmd:angeln(playerid,params[])
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",PlayerName(playerid));
    new Float:x,Float:y,Float:z;

    if(IsPlayerInWater(playerid)) return SendClientMessage(playerid,Rot,"Du bist auf keinem Fischerboot!");
    if(dini_Int(Spieler,"Angel")==0) return SendClientMessage(playerid,Rot,"Du hast keine Angel!");
    for(new f = 0; f < sizeof(fischerboot); f++)
    {
    GetVehiclePos(fischerboot[f],x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,6.0,x,y,z))
    {

    SendClientMessage(playerid,Rot,"Funzt");
    //dein code
    }
    }
    return 1;
    }


    Deine Schleife war falsch und wurde durch die returns komplett abgebrochen. weiterhin musst du die abfragen mit der angel und dem wasser vor der schleife machen.