Beiträge von [MrM]Florian

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Ok ich habe es probiert jetzt wird mir allerdings das car auch untern Arsch wegrespawnt ,


    wie mach ich das das es dann nicht respawnt wird wenn ich drauf sitze ?

    wenn ich das so ein baue bekomm ich folgende Errors:


    Code
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17646) : error 001: expected token: "*then", but found "{"
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17651) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17653) : error 017: undefined symbol "i"

    ich habe mein dcmd Befehl mal rausgenommen es ist imemr noch das selbe.
    Wnn ich ganz unten bei OnPlayerCommand ein return 1; schreibe was muss ich dann ans ende der Befehle schreiben


    ich habe mal alle Warnings in eine txt kopiert (siehe anhang)



    /edit2


    jetzt habe ich es geschaft das sich nur noch eine Person einloggen kann und wenn sich der 2. einloggen will geht garkein Befehl mehr
    das selbe auch bei /register einmal benutzt geht beim zweiten mal geht garnix mehr
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 0;
    }
    if (strcmp(cmd, "/register", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    return 1;
    }
    egal ob so oder so
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/register", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    return 0;
    }

    Ich habe seit kurzen einen tban BEfhl mit dcmd drin und da dieser vermutlich der auslöser dafür ist das kein Befehl mehr Funktioniert habe ich probiert diesen umzuschreiben sprich ganz normal , allerdings habe ich es nicht geschaft und wollte Fragen ob mir jemand helfen kann. (bevor gefragt wird ja GF edit script)


    hier der Code
    dcmd_tban(playerid,params[])
    {
    if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 3)
    {
    new string[128], source[32], minutes, reason[64], playername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME], giveplayerid;
    if(sscanf(params,"sds",source,minutes,reason))
    {
    SendClientMessage(playerid,0xFFFFFFFF," FEHLER: /tban [playerid/ip] [Zeit(Minuten)] [Grund]");
    return 1;
    }
    if(strlen(source) > 3)
    {
    GetPlayerName(playerid,playername,sizeof(playername));
    printf(" Admin %s hat die IP %s für %d Minuten gebannt. Grund: %s",playername,source,minutes,reason);
    format(string,sizeof(string)," Du hast die IP %s für %d Minuten gebannt. Grund: %s",source,minutes,reason);
    SendClientMessage(playerid,0x00FF00FF,string);
    AddTempBan(source,minutes);
    }
    else
    {
    giveplayerid = strval(source);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,0xFF0000FF," Der Spieler ist nicht online!");
    return 1;
    }
    GetPlayerIp(giveplayerid,source,sizeof(source));
    GetPlayerName(playerid,playername,sizeof(playername));
    GetPlayerName(giveplayerid,giveplayername,sizeof(giveplayername));
    format(string,sizeof(string)," Admin %s hat %s für %d Minuten gebannt. Grund: %s",playername,giveplayername,minutes,reason);
    SendClientMessageToAll(0x00FF00FF,string);
    printf(" Admin %s hat den Spieler %s mit der IP %s für %d Minuten gebannt. Grund: %s",playername,giveplayername,source,minutes,reason);
    AddTempBan(source,minutes);
    Kick(giveplayerid);
    }
    }
    return 1;
    }


    Vielen Dank im Vorraus

    so jetzt Funktionieren einige Befehle und andere sind immer noch kaputt und wenn ich einen der kaputten eingebe geht kein Befehl mehr


    /edit
    Und wenn ich einen Befehl eingebe der Funktioniert steht da immer Server Unknow Comment oder so ähnlich

    also das ist mein letzter Befehl und der klammer die OnPlayerCommand zu macht


    if(strcmp(cmd, "/contract", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /contract [spielerid/teildesnamens] [betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /contract [spielerid/teildesnamens] [betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1500 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GREY, "Der Betrag kann nicht unter 10000$ und über 100000$ sein"); return 1; }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(gTeam[giveplayerid] == 2 && moneys != 100000)
    {
    SendClientMessage(playerid, COLOR_GREY, "Ein Auftragskill an einem Polizisten kostet 100000$!");
    return 1;
    }
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst wählen!"); return 1; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    GivePlayerMoney(playerid, (0 - moneys));
    PlayerInfo[giveplayerid][pHeadValue]+=moneys;
    format(string, sizeof(string), "%s hat einen Auftragskill für %s für %d$ in die Wege geleitet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einen Auftragskill für %s für %d$ eingeleitet.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültiger Betrag.");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    dcmd(tban,4,cmdtext);

    return 0;
    }


    muss ich bei dem letzten return eine 1 hinschreiben ?

    Das Thema ist zwar schon alt allerdings hat mein Problem etwas damit zu tun undzwar hatte ich erst das Problem wie oben beschrieben und kaum das gelöst habe ich ein neues Problem.
    Und wenn ich nun ein Befehl zweimal eingebe geht wieder nix. Sprich einmal geht der Befehl wenn ich den dann nochmal eingebe geht garkein Befehl mehr

    ich habe nun folgendes


    if(strcmp(cmd,"/respawnfv",true)==0)
    {
    if (PlayerInfo[playerid][pLeader] == 8)
    {

    {
    for(new i; i < 20; i++)
    {
    if IsPlayerInVehicle(playerid, i);
    {


    }
    }
    else
    {
    SetVehicleToRespawn(Hitman[i]);
    }
    }
    }
    return 1;
    }


    und der spuckt mir diese Errors aus ->

    Code
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(16722) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(16753) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17377) : error 001: expected token: "*then", but found ";"
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17377) : error 036: empty statement
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17378) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17382) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17384) : error 017: undefined symbol "i"

    Ok werde ich mal probieren wobei dein Name nicht sehr vertrauensvoll klingt :S :D :D :D :D


    /edit
    werden da aber nicht alle respawnt ? weil was ist wenn noch jemand drin sitzt ?

    Ich möchte ein carrespawnbefehl einen bauen der nur die Cars Respawnt wo im Script Hitman[]= vor steht



    Hitman[0]=AddStaticVehicleEx(560,-1007.8058,-698.8644,31.7060,180.3969,0,0,-1); // Sultan Hitman
    Hitman[1]=AddStaticVehicleEx(560,-1002.9505,-698.9523,31.7133,181.2899,0,0,-1); // Sultan Hitman


    ich weiß nicht so wirklich wie ich das hinbekomme das alle cars respawn werden die dieses Hitman davor zu stehen haben.

    Ich habe folgenden Error :

    Zitat

    C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\MrIllusion\MrIllusion\gamemodes\eRPnew-problem.pwn(1927) : error 004: function "SetPlayerToTeamColor" is not implemented

    und so sieht die Zeile aus:



    if(Spectate[i] == 253)
    {
    TogglePlayerControllable(i, 1);
    TogglePlayerSpectating(i, 0);
    SetPlayerInterior(i,Unspec[i][sPint]);
    PlayerInfo[i][pInt] = Unspec[i][sPint];
    PlayerInfo[i][pLocal] = Unspec[i][sLocal];
    Unspec[i][sLocal] = 255;
    SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][sPx], Unspec[i][sPy], Unspec[i][sPz]-1.0, 1.0, -1, -1, -1, -1, -1, -1);
    gTeam[i] = PlayerInfo[i][pTeam];
    SetPlayerToTeamColor(i); // das ist die Error Zeile
    MedicBill[i] = 0;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][Coords][0], Unspec[i][Coords][1], Unspec[i][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
    SpawnPlayer(i);
    SetCameraBehindPlayer(i);
    }
    else
    {
    SpawnPlayer(i);
    }
    Spectate[i] = 255;
    }


    und so sieht das public dazu aus:


    public SetPlayerToTeamColor(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
    SetPlayerColor(playerid,COLOR_WHITE);
    if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    SetPlayerColor(playerid,0x0000FFFF);
    if (PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
    SetPlayerColor(playerid,0x0000FFFF);
    if (PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13)
    SetPlayerColor(playerid,COLOR_BBLUE);
    if (PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
    SetPlayerColor(playerid,0xFFD700FF);
    if (PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12)
    SetPlayerColor(playerid,COLOR_PINK);
    if (PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    SetPlayerColor(playerid,0x0000FFFF);
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    SetPlayerColor(playerid,0xFF9B9BFF);
    if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
    SetPlayerColor(playerid,0xFF7F00FF);
    if (PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
    SetPlayerColor(playerid,0x33AA33AA);
    if (PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
    SetPlayerColor(playerid,0x9ACD32FF);
    if (PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
    SetPlayerColor(playerid,0x8E2323FF);
    if (PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pLeader] == 9)
    SetPlayerColor(playerid,0xEFC6FFFF);
    if (PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10)
    SetPlayerColor(playerid,0xFFFF00FF);
    if (PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)
    SetPlayerColor(playerid,0x00F5FFFF);
    if (PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pLeader] == 15)
    SetPlayerColor(playerid,0xBFEFFFFF);



    }
    }


    wo liegt mein Fehler ? (und ja ist GF ;) )

    ich kann dir die Frage nicht beantworten aber ich schreibe es mal das es jeder versteht ^^


    Er möchte wissen ob es geht das das Register/Login System im Filterscipt ist und er dann im Gamemode diese Variablen wie z.B. pInfo benutzten kann. Ja ich glaube so ungefähr das meint er.


    Ich kenn mich zwar nicht allzu gut aus aber ich glaube das geht nicht, ich hatte mal ein Filterscript (Adminsystem) gesehen glaube sogar hier im Forum was man dann mit include usw. in dem Gamemode einfügen musste.


    Auf jeden Fall Viel Erfolg :thumbup:

    Also wenn da steht Pawno hat ein Fehler festgestellt und muss beendet werden und es passiert 30min nix mehr ich glaube schon das er dann abgestürtzt ist :D


    aber ich schau mal ob ich irgentwo ein Klammerfehler hab. (sehen uns dann in 3-4 Jahren :D )



    /edit
    gibt es irgenteine möglichkeit herrauszufinden wo dieser Fehler ist oder muss ich jetzt echt Zeile für Zeile durch gehen.


    /edit2
    ok Fehler gefunden blöde Klammer wo kam die her :cursing: