Beiträge von The Sensei

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

    Hallo,


    ich möchte einen Spieler in ein Auto stecken dies soll so geschehen das Spieler A (ich) mich zu Spieler B (Ziel) teleportiere und Spieler B soll in mein Auto kommen.
    Ich habe soweit auch einen Code doch mit den in ein Auto stecken funktioniert nicht ganz.

    Code
    if(strcmp(cmd, "/tp", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,F_Gray,"Befehl: /tp [SpielerID/Name]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if(IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if(IsPlayerInAnyVehicle(playerid)==1 )
    {
    new susplayer[MAX_PLAYER_NAME];
    GetPlayerName(plo, susplayer, sizeof(susplayer));
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    PutPlayerInVehicle(susplayer, tmpcar);//Fehler Zeile
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(plo));
    SendClientMessage(playerid,F_Red,"Du hast dich Teleportiert");
    GetPlayerName(plo, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playerid][pAdmin] >= 2000) { }
    else {
    format(string, sizeof(string), "%s hat sich zu %s geportet.", sendername, giveplayer);
    ABroadCast(0x00F5FFFF,string,4);
    }
    }
    else
    {
    SendClientMessage(playerid,F_Gray,"Du hast nicht genug Rechte!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid,F_Gray, string);
    }
    }
    return 1;
    }Hier der Fehlercode:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(33716) : error 035: argument type mismatch (argument 1)


    Jeffry: vielleicht weißt du ja was.
    @Alle:


    Ich komm nicht weiter ich weiß nciht wie man überprüft ob im Auto von playerid noch was frei ist.

    Jeffry:
    Ich bedanke mich herzlich es funktioniert.
    if(strcmp(cmd, "/tp", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,F_Gray,"Befehl: /tp [SpielerID/Name]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if(IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if(IsPlayerInAnyVehicle(playerid)==1 )
    {
    new susplayer[MAX_PLAYER_NAME];
    GetPlayerName(plo, susplayer, sizeof(susplayer));
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    PutPlayerInVehicle(susplayer, tmpcar);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(plo));
    SendClientMessage(playerid,F_Red,"Du hast dich Teleportiert");
    GetPlayerName(plo, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playerid][pAdmin] >= 2000) { }
    else {
    format(string, sizeof(string), "%s hat sich zu %s geportet.", sendername, giveplayer);
    ABroadCast(0x00F5FFFF,string,4);
    }
    }
    else
    {
    SendClientMessage(playerid,F_Gray,"Du hast nicht genug Rechte!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid,F_Gray, string);
    }
    }
    return 1;
    }
    Hier o.g. ist mein TP Befehl.
    Wenn Spieler A (Ich) mich zu Spieler B (Ziel) Teleportieren will und ein Auto hab soll Spieler B auf einen Freien Beifahrer Sitz kommen.
    Weißt du wie oder was ich verändern muss.

    Doch hab ich aber hier ist mal der contract befehl.
    if(strcmp(cmd, "/contract", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 5000 || moneys > 99999999) { SendClientMessage(playerid, COLOR_GREY, " Du musst mindestens 5000$ angeben."); return 1; }
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 3 haben.");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst diesen Spieler nicht unter /contract nehmen da er Verbugt ist !");
    return 1;
    }
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); 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][pContractSumme]+=moneys;
    format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für $%d erteilt.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Falsche Angaben!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %s ist kein Aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Doch hab ich aber hier ist mal der contract befehl.
    if(strcmp(cmd, "/contract", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 5000 || moneys > 99999999) { SendClientMessage(playerid, COLOR_GREY, " Du musst mindestens 5000$ angeben."); return 1; }
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 3 haben.");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst diesen Spieler nicht unter /contract nehmen da er Verbugt ist !");
    return 1;
    }
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); 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][pContractSumme]+=moneys;
    format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für $%d erteilt.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Falsche Angaben!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %s ist kein Aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Jeffry:
    Danke das /contracts system Funktioniert.
    Aber jetzt habe ich ein Fehler bei OnPlayerDeath wenn er eig. Das Geld übergeben sollte.
    if(PlayerInfo[playerid][pContracted] == 1)
    {
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    GivePlayerMoney(killerid, PlayerInfo[playerid][pContractSumme]);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pContractSumme]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerInfo[playerid][pContracted] = 0;
    PlayerInfo[playerid][pContractSumme] =0;
    }
    }


    Keine Fehler.
    Aber er sendet die Nachricht nicht <<Hitman %s hat den Auftrag an %s erfüllt und bekommt: %d>>
    und er gibt kein Geld und Contracted wird nicht auf 0 Gesetzt.

    Hey in der Zeile SendClientMessage kommen 2 Warnings...

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(43836) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(43836) : warning 202: number of arguments does not match definition


    if(strcmp(cmd,"/contracts",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 8)
    {
    SendClientMessage(playerid, 0xCDB221FF, "Contracts");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pContractSumme] > 1)
    SendClientMessage(playerid, COLOR_GOLD, "Name: %s Premie: %d$",i,PlayerInfo[i][pContractSumme]);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist kein Hitman !");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht eingeloggt !");
    }
    }

    Hallo,
    Ich habe mehrere Fehler in meinem Skriptabteil:

    Spoiler anzeigen
    //PUNKTESYSTEM ORDNUNGSAMT
    ocmd:punkte(playerid,params[]){
    new pID,reason[64],string[144],punkte,name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"uis[64]",pID,punkte,reason))return SendClientMessage(playerid,COLOR_GREY,"Tippe: /punkte [ID][Anzahl][Grund]");
    if(!PlayerInfo[name][pMember] == 24 )return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht beim Ordnungsamt!");
    format(string,144,"Ordnungsbeamter %s hat dir %d Strafpunkte eingetragen! Grund: %s",NAME(playerid),punkte,reason),SendClientMessage(pID,TEAM_BLUE_COLOR,string); //FEHLERZEILE 58488
    format(string,144,"Du hast %s %d Strafpunkte eingetragen! Grund: %s",NAME(pID),punkte,reason),SendClientMessage(playerid,TEAM_BLUE_COLOR,string);
    format(string,144,"(( HQ: %s hat %s %d Strafpunkte eingetragen! Grund: %s ))",NAME(playerid),NAME(pID),punkte,reason);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && (PlayerInfo[i][pMember] == 24 || PlayerInfo[i][pLeader] == 24))
    {
    SendClientMessage(i,TEAM_BLUE_COLOR,string);
    }
    }
    Log("PunkteLog", string);
    return 1;
    }
    ocmd:clearpunkte(playerid,params[]){
    new pID,reason[64],string[144],punkte,name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"uis[64]",pID,punkte,reason))return SendClientMessage(playerid,COLOR_GREY,"Tippe: /clearpunkte [ID][Anzahl][Grund]");
    if(!PlayerInfo[name][pMember] == 24 )return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht beim Ordnungsamt!");
    if(!PlayerInfo[name][pRank] == 6 )return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht Rank 5!");
    format(string,144,"Ordnungsbeamter %s hat dir %d Strafpunkte gelöscht! Grund: %s",NAME(playerid),punkte,reason),SendClientMessage(pID,TEAM_BLUE_COLOR,string);
    format(string,144,"Du hast %s %d Strafpunkte gelöscht! Grund: %s",NAME(pID),punkte,reason),SendClientMessage(playerid,TEAM_BLUE_COLOR,string);
    format(string,144,"(( HQ: %s hat %s %d Strafpunkte gelöscht! Grund: %s ))",NAME(playerid),NAME(pID),punkte,reason);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && (PlayerInfo[i][pMember] == 24 || PlayerInfo[i][pLeader] == 24))
    {
    SendClientMessage(i,TEAM_BLUE_COLOR,string);
    }
    }
    Log("PunkteLog", string);
    return 1;
    }
    //PUNKTESYSTEMORDNUNGSAMT


    Fehlercode:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58487) : error 033: array must be indexed (variable "name")C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : error 029: invalid expression, assumed zeroC:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : warning 215: expression has no effectC:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : warning 215: expression has no effectC:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : warning 215: expression has no effectC:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : error 001: expected token: ";", but found ")"C:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : error 029: invalid expression, assumed zeroC:\Users\Patrick\Desktop\IRP-City\gamemodes\T2R.pwn(58488) : fatal error 107: too many error messages on one line


    Ich hoffe ihr könnt helfen.