Camera "laufen" lassen

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
  • Hy,


    folgender Code:


    ocmd:unvisible(playerid,params[]){
    if(IsPlayerAnAdmin(playerid,2)){
    if(GetPVarInt(playerid,"unvisible")==0){
    SetPVarInt(playerid,"unvisible",1);
    SendClientMessage(playerid,Yellow, "Du kannst nun unsichtbar durch die Stadt laufen.");
    TogglePlayerControllable(playerid,0);
    }else{
    SetPVarInt(playerid,"unvisible",0);
    SendClientMessage(playerid,Yellow, "Unsichtbarkeitsmodus deaktiviert.");
    TogglePlayerControllable(playerid,1);
    }
    }else{
    SendClientMessage(playerid,ROT,"Du hast nicht die nötigen Rechte.");
    }
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(GetPVarInt(playerid,"unvisible")==1){
    if(newkeys==2048){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x+1,y,z,500,CAMERA_MOVE);
    }else if(newkeys==4096){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x-1,y,z,500,CAMERA_MOVE);
    }if(newkeys==8192){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y-1,z,500,CAMERA_MOVE);
    }if(newkeys==16384){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y+1,z,500,CAMERA_MOVE);
    }
    }
    }


    Leider passiert beim Drücken der Tasten Num 4, Num6,Num8 und Num2 nichts :S


    Wo lauert der Fehler?


    Grüße

  • Versuch mal aus testzwecken jedes x was du +-1 setzt mal +- 100 oder so und dann teste nochmal



    // EDIT wenn das nicht klappt versuchs so


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys==2048){
    if(GetPVarInt(playerid,"unvisible")==1){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x+10,y,z,500,CAMERA_MOVE);
    }
    }else if(newkeys==4096){
    if(GetPVarInt(playerid,"unvisible")==1){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x-1,y,z,500,CAMERA_MOVE);
    }
    }if(newkeys==8192){
    if(GetPVarInt(playerid,"unvisible")==1){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y-10,z,500,CAMERA_MOVE);
    }
    }if(newkeys==16384){
    if(GetPVarInt(playerid,"unvisible")==1){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y+10,z,500,CAMERA_MOVE);
    }
    }
    }

  • Danke für die antworten, es funktioniert jetzt mit Num4 und 6, aber Num 8 und 2 spinnen irgendwie noch o0


    if(GetPVarInt(playerid,"unvisible")==1){
    if(newkeys==2048){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x+1,y,z,500,CAMERA_MOVE);
    }else if(newkeys==4096){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x-1,y,z,500,CAMERA_MOVE);
    }if(newkeys==8192){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y-1,z,500,CAMERA_MOVE);
    }if(newkeys==16384){
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,x,y+1,z,500,CAMERA_MOVE);
    }
    }