Beiträge von Kempert

    Du musst das auch so benutzen:
    if(newkeys & KEY_FIRE)


    Beim Keys abfragen wird immer nur ein "&" genutzt.


    mfg Lambo

    Dann funktioniert der Befehl NUR mit Linksklick, und danach kann ich mich nicht mehr bewegen.


    Hier der Code:


    if(IsPlayerInRangeOfPoint(playerid,2.0,1184.4164,-903.7623,43.2685))
    {
    if(newkeys && KEY_FIRE)
    {
    new skin = random(7);
    if(skin == 0)
    {
    SetPlayerSkin(playerid,299);
    }
    else if(skin == 1)
    {
    SetPlayerSkin(playerid,98);
    }
    else if(skin == 2)
    {
    SetPlayerSkin(playerid,28);
    }
    else if(skin == 3)
    {
    SetPlayerSkin(playerid,138);
    }
    else if(skin == 4)
    {
    SetPlayerSkin(playerid,220);
    }
    else if(skin == 5)
    {
    SetPlayerSkin(playerid,225);
    }
    else if(skin == 6)
    {
    SetPlayerSkin(playerid,250);
    }
    }
    }

    Das Problem hatte ich auch. Ich habs dann so gemacht:


    Bei OnPlayerCommandText:


    if(strcmp("/tune", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,797.6604,-618.7686,16.3359))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {


    new zufall2 = random(4);
    if(zufall2 == 0)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1075);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),000,000);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    return 1;
    }
    else if(zufall2 == 1)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1078);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),001,000);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    return 1;
    }
    else if(zufall2 == 2)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1074);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),180,003);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    return 1;
    }
    else if(zufall2 == 3)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1073);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),006,183);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht im Fahrzeug!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht in der TuneGarage!");
    SendClientMessage(playerid,LILA,"~(/tunegarage um dich hinzuteleportieren.)~");
    return 1;
    }
    }


    Also wenn der Player in den Koordinaten ist und /tune eingibt, wird das Fahrzeug getuned.

    Wollte so machen, dass es 2 GameTexte gibt, also zufällig welche, und alle paar Minuten. Es klappt aber immer nur der erste GameText. Code:


    Neues Forward erstellt:
    forward gttip();


    Timer erstellt unter OnGameModeInit:
    SetTimer("gttip",400000,1);


    Und nen Public:
    public gttip()
    {
    new tips = random(2);
    if(tips == 1)
    {
    GameTextForAll("Tipp: ALT fuer mehr Speed!",7000,6);
    }
    else if(tips == 2)
    {
    GameTextForAll("Tipp: /teles und /cmds.",7000,6);
    }
    }



    Warum geht immer nur [ALT fuer mehr Speed!] ???


    MfG


    Kempert.

    Aber der Befehl hat vorher bei anderen Commands auch schon funktioniert?!


    EDIT:


    Naja egal habs jetzt anders hinbekommen.


    Neue Frage:


    if(IsPlayerInRangeOfPoint(playerid,4.0,797.6604,-618.7686,16.3359))
    {
    GameTextForPlayer(playerid,"/tuneg zum tunen deines Fahrzeuges!",5000,1);
    }


    Wo muss das hin ins Script, damit der GameText kommt, wenn ich an einer bestimmten Stelle(797.6604,-618.7686,16.3359) bin?

    Danke :) noch eine Frage:


    if(strcmp("/tuneg", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(IsPlayerInRangeofPoint(playerid,3.0,797.6604,-618.7686,16.3359))
    {
    new zufall2 = random(4);
    if(zufall2 == 1)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1075);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),000,000);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    }
    else if(zufall2 == 2)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1078);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),001,000);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    }
    else if(zufall2 == 3)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1074);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),180,003);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    }
    else if(zufall2 == 4)
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
    AddVehicleComponent(GetPlayerVehicleID(playerid),1073);
    ChangeVehicleColor(GetPlayerVehicleID(playerid),006,183);
    GivePlayerMoney(playerid,-750);
    GameTextForPlayer(playerid,"Vehicle getuned!",3000,1);
    }
    }
    }
    }


    C:\DOKUME~1\...\Desktop\SCRIPT~1\R~1\GAMEMO~1\bla.pwn(528) : error 017: undefined symbol "IsPlayerInRangeofPoint"


    Was ist daran ein undefiniertes Symbol?!

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(newkeys == KEY_FIRE)
    {
    new Float:vX, Float:vY, Float:vZ, Float:vA;
    new Arabam = GetPlayerVehicleID(playerid);
    GetVehicleZAngle(Arabam, vA);
    GetVehicleVelocity(Arabam,vX,vY, vZ);
    SetVehicleVelocity(Arabam, vX*1.5, vY*1.5, vZ*1.5);
    }
    }
    }


    Warum muss ich W loslassen, damit diese Funktion funktioniert?