Spieler Freezen und Car Repairen hilfe pls

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
  • Guten tag ich habe da mal 2 fragen


    Frage 1. Wie kan ich mein Fahrzeug repairien also koplett mit blechschaden ich habe es im moment so aber er macht nur das leben hoch nicht den blechschaden weg??


    if(strcmp(cmdtext,"/repair",true)==0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    SetVehicleHealth(vehicleid, 1000.0);
    SendClientMessage(playerid, Gelb,"Du hast dein Fahrzeug repariert.");
    return 1;
    }


    Frage 2 wie kan ich einen spieler Freezen und entfreezen also so das er nicht schreiben nicht laufen und auch sonst nichts kan auser dumm rum stehen :) bis ich ihn wieder enfreeze also als /afk system so soiehst bishe aus :)


    if(strcmp(cmdtext,"/afk",true)==0)
    {
    SendClientMessage(playerid, Grün, "Du bist nun AFK");


    return 1;
    }


    if(strcmp(cmdtext,"/back",true)==0)
    {
    SendClientMessage(playerid, Grün, "Du bist nun nichtmehr AFK");


    return 1;
    }


    habe sufu benutzt aber nicht das gefunden was ich wollte


  • if(strcmp(cmdtext,"/repair",true)==0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    SetVehicleHealth(vehicleid, 1000.0);
    RepairVehicle(vehicleid);
    SendClientMessage(playerid, Gelb,"Du hast dein Fahrzeug repariert.");
    return 1;
    }


    if(strcmp(cmdtext,"/afk",true)==0)
    {
    SendClientMessage(playerid, Grün, "Du bist nun AFK");
    TogglePlayerControllable(playerid,0);
    return 1;
    }


    if(strcmp(cmdtext,"/back",true)==0)
    {
    SendClientMessage(playerid, Grün, "Du bist nun nichtmehr AFK");
    TogglePlayerControllable(playerid,1);
    return 1;
    }


    Nächstesmal bitte erst die Suchfunktion benutzen....

  • Zum 1.) Befehl:

    if(strcmp(cmdtext,"/repair",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    SetVehicleHealth(playerid,100);
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, Gelb,"Du hast dein Fahrzeug repariert.");
    return 1;
    }
    return 1;
    }


    MFG
    Smoker2012

  • new IsAFK[MAX_PLAYERS] = 0;
    if(strcmp(cmdtext,"/afk",true)==0)
    {
    if(IsAFK[playerid] == 1) return SendClientMessage(playerid,COLOR,"Du bist schon AFK! /back"); IsAFK[playerid] = 1;
    SendClientMessage(playerid, Grün, "Du bist nun AFK");
    TogglePlayerControllable(playerid,0);
    return 1;
    }


    if(strcmp(cmdtext,"/back",true)==0)
    {
    if(IsAFK[playerid] == 0) return SendClientMessage(playerid,COLOR,"Du bist nicht AFK! /afk"); IsAFK[playerid] = 0;
    SendClientMessage(playerid, Grün, "Du bist nun nichtmehr AFK");
    TogglePlayerControllable(playerid,1);
    return 1;
    }



    Aus dem Wiki:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (!strcmp("/repair", cmdtext))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "You are not in a vehicle!");
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, 0xFFFFFFFF, "Your vehicle has been successfully repaired!");
    return 1;
    }
    }

  • Du kannst auch mein AFK/Back Code nutzen ;) Mir gefällt er Sehr^^ Du musst nur die Abfrage SpielerInfo[playerid][pAFK] an Deins anpassen oder den Enum:


    enum SpielerDaten
    {
    pAFK
    }
    new SpielerInfo[MAX_PLAYERS][SpielerDaten];


    ocmd:afk(playerid, params[])
    {
    if(SpielerInfo[playerid][pAFK]== 0)
    {
    new afk[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(afk, sizeof(afk), "%s ist Abwesend.", pname); // hier kommt der Text z.B. Alpa ist AFK gegangen!
    SendClientMessageToAll(0xFFFF00AA, afk);//hier ist das der Text an alle Spieler gesendet wird und auch in welcher Farbe (das ist die Farbe Gelb)
    TogglePlayerControllable(playerid, 0);//hier wird gemacht das der Spieler nix machen kann ausser schreiben!
    SpielerInfo[playerid][pAFK] = 1;//hier wird der Spieler in als 1 gesetzt!
    }
    else
    {
    SendClientMessage(playerid,cRot,"Du bist Abwesend! um dich wieder Anwesend zu Melden Tippe: /back");
    }
    return 1;
    }
    ocmd:back(playerid, params[])
    {
    if(SpielerInfo[playerid][pAFK]== 1)
    {
    new afk[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(afk, sizeof(afk), "%s ist wieder Anwesend.", pname);// hier kommt der Text z.B. Alpa ist wieder da!
    SendClientMessageToAll(0x33AA33AA, afk);//hier ist das der Text an alle Spieler gesendet wird und auch in welcher Farbe (das ist die Farbe Grün)
    TogglePlayerControllable(playerid, 1);//hier kann der Spieler sich wieder bewegen!
    SpielerInfo[playerid][pAFK] = 0;//und hier wird der spieler auf 0 gesetzt damit man aus der afk raus ist!
    }
    else
    {
    SendClientMessage(playerid,cGelb,"Du bist bereits wieder Anwesend");
    }
    return 1;
    }

  • ok habe das jetzt so und es funtzt ehm wie kan ich jetzt einen befehl machen /afklist wo alle spieler aufgelistet sind die afk sind ??



    new afk[MAX_PLAYERS] = 0;


    if(strcmp(cmdtext,"/afk",true)==0)
    {
    if(afk[playerid] == 0)
    {
    SendClientMessage(playerid, Grün, "Sie sind nun AFK um weiter zu spielen nutzen sie /back");
    TogglePlayerControllable(playerid,0);
    afk[playerid] = 1;
    return 1;
    }
    if(afk[playerid] == 1)
    {
    SendClientMessage(playerid, Grün, "Sie sind bereits im AFK-Modus");
    return 1;
    }
    }


    if(strcmp(cmdtext,"/back",true)==0)
    {
    if(afk[playerid] == 1)
    {
    SendClientMessage(playerid, Grün, "Sie sind nun aus dem AFK-Modus zurück");
    TogglePlayerControllable(playerid,1);
    afk[playerid] = 0;
    return 1;
    }
    if(afk[playerid] == 0)
    {
    SendClientMessage(playerid, Grün, "Sie sind nicht im AFK-Modus");
    return 1;
    }
    }

  • if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] = 1;)
    {
    format(string,sizeof(string),"Spieler %s",GetPlayerName(i));
    }
    SendClientMessage(playerid,WEIß,"|_______AFKLIST_______|");
    SendClientMessage(playerid,WEIß.string);
    }
    Sollte eigentlich klappen...

  • Der code


    if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] = 1;)
    {
    format(string,sizeof(string),"Spieler %s",GetPlayerName(i));
    }
    SendClientMessage(playerid,WEIß,"|_______AFKLIST_______|");
    SendClientMessage(playerid,WEIß.string);
    }



    die errors


    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : warning 211: possibly unintended assignment
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : error 001: expected token: ")", but found ";"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : error 036: empty statement
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.



    die zeile 3794


    if(afk[i] = 1;)




  • if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] == 1)
    {
    format(string,sizeof(string),"Spieler %s",GetPlayerName(i));
    }
    SendClientMessage(playerid,WEIß,"|_______AFKLIST_______|");
    SendClientMessage(playerid,WEIß.string);
    }

  • ja habs auch schon geshen smile soory hab meine brille nicht auf smile (kein spass xd)


    ehm habe das alles bssl durchgeguck hier der neue code


    if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] = 1);
    {
    format(string,sizeof(string),"Spieler %s",GetPlayerName(i));
    }
    SendClientMessage(playerid,Gelb,"|_______AFKLIST_______|");
    SendClientMessage(playerid,Gelb,string);
    }



    und die neuen errors


    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : warning 211: possibly unintended assignment
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3794) : error 036: empty statement
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3796) : error 017: undefined symbol "i"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    eine die zeile 3794
    if(afk[i] = 1);
    und die zeile 3796
    format(string,sizeof(string),"Spieler %s",GetPlayerName(i));

  • i


    Du hast den Code nicht richtig übernommen!

    if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    new name[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] == 1)
    {
    GetPlayerName(i,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s",name);
    }
    SendClientMessage(playerid,WEIß,"|_______AFKLIST_______|");
    SendClientMessage(playerid,WEIß.string);
    }

  • if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128],name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++){
    if(afk[i] = 1);
    {
    GetPlayerName(i,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s",name);
    }}
    SendClientMessage(playerid,Gelb,"|_______AFKLIST_______|");
    SendClientMessage(playerid,Gelb,string);
    }

  • geht jetzt also 0 errors mit dem von marvin
    aber du hattest das falsch


    if(strcmp(cmdtext,"/afklist",true)==0)
    {
    new string[128];
    new name[128];
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(afk[i] == 1)
    {
    GetPlayerName(i,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s",name);
    }
    SendClientMessage(playerid,Gelb,"|_______AFKLIST_______|");
    SendClientMessage(playerid,Gelb/*du hattest hier ein. anstatt ein,*/string);
    }