Beiträge von The Sensei

    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.