Beiträge von CreEpaR89

    Am besten ist die variante hier, ist aber nur mit AddStaticVehicle machbar. Das AddPlayerClass kannst du dann entfernen wenn du Join Ped und new Ped im script hasst.


    new SelectChar[MAX_PLAYERS];
    new SelectCharID[MAX_PLAYERS];
    new SelectCharPlace[MAX_PLAYERS];



    forward IsASFCopCar(palyerid);
    forward IsASFCop(playerid);
    forward SetPlayerToTeamColor(playerid);


    // Fraktion Skins
    new Join Ped[3][1]{
    {280},
    {281},
    {282}
    };
    // Spieler Skins
    new Peds[2][1] = {
    {29},
    {288}
    }


    Jetzt erstellen wir die Fraktion SFPolice, das Kommt nach dem Main
    public IsASFCop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1)
    {
    return 1;
    }
    else if(leader==1)
    {
    return 1;
    }
    }
    return 0;
    }
    DIe Zahl 1 bedeutet Welche Fraktion reihe es ist ob 1 oder 30 ist egal. Es muss nachher nur zusammen passen.


    Nun kommen wir zu den Fahrzeugen, die werden definiert nur von bestimmten Fraktion benutzt werden können. Welche das denn sind ist dir überlassen.
    public IsASFCopCar(carid)
    {
    if(GetVehicleModel(carid) == 415 || GetVehicleModel(carid) == 427 || GetVehicleModel(carid) == 497 || GetVehicleModel(carid) == 506 || GetVehicleModel(carid) == 528 || GetVehicleModel(carid) == 586 || GetVehicleModel(carid) == 597 || GetVehicleModel(carid) == 599 || GetVehicleModel(carid) == 601)
    {
    return 1;
    }
    return 0;
    }


    Bei public OnPlayerStateChange(playerid, newstate, oldstate) fügst das hier ein,

    new string[256];
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(IsASFCopCar(newcar))
    {
    if(IsASFCop(playerid)) { }
    else { RemovePlayerFromVehicle(playerid); }
    }
    if(newcar == 1 || newcar == 2 || newcar == 3 || newcar == 4 || newcar == 5 || newcar == 6 || newcar == 7 || newcar == 8 || newcar == 9 || newcar == 10 || newcar == 11 || newcar == 12 || newcar == 13 || newcar == 14 || newcar == 15 || newcar == 16 || newcar == 17 || newcar == 18 || newcar == 19 || newcar == 20 || newcar == 21 || newcar == 22 || newcar == 23 || newcar == 24 || newcar == 25 || newcar == 26)
    {
    if(!IsASFCop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein SF Polizist!");
    RemovePlayerFromVehicle(playerid);
    }
    else { }
    }
    }
    return 1;
    }


    unter SetPalyerSpawn kommt das hier
    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 1)//Police Spawn
    {
    SetPlayerToTeamColor(playerid);
    GivePlayerWeapon(playerid, 29, 300); //MP%
    GivePlayerWeapon(playerid, 24, 300); //Pistole
    SetPlayerInterior(playerid, 5); // darauf achten, wenn du in ein innenraum Spawns immer die richtige Inetrior Nummer setzen
    SetPlayerPos(playerid, 1292.4521,-804.6435,1089.9375); // Hier kannst du einen Spawn setzen egal welchen / Police Department
    SetPlayerFacingAngle(playerid,266.4193);
    return 1;
    }
    }
    return 1;
    }


    Unter OnPalyerSpawn
    SetPlayerToTeamColor(playerid);


    Das ist die TeamColor
    public SetPlayerToTeamColor(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    else if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    SetPlayerColor(playerid,0x0000FF00); // CopfarbeSF
    }
    else
    {
    SetPlayerColor(playerid,TEAM_HIT_COLOR); // white
    }
    }
    }


    Als nächstes kommt unser OnPlayerText
    public OnPlayerText(playerid, text[])
    {
    new giver[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new tmp[256];
    new string[256];
    new giveplayerid;
    if(SelectChar[playerid] == 255)
    {
    new idx;
    tmp = strtok(text, idx);
    if ((strcmp("next", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("next")))
    {
    switch (SelectCharID[playerid])
    {
    case 1: //Police Force SF
    {
    if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, JoinPed[0][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = JoinPed[0][0]; }
    else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[1][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = JoinPed[1][0]; }
    else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, JoinPed[2][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = JoinPed[2][0]; }
    }
    }
    return 0;
    }
    else if ((strcmp("done", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("done")))
    {
    if(ChangePos2[playerid][1] == 1)
    {
    SetPlayerInterior(playerid, ChangePos2[playerid][0]);
    SetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);
    ChangePos2[playerid][1] = 0;
    return 0;
    }
    PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
    PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
    gTeam[playerid] = PlayerInfo[playerid][pTeam];
    SetPlayerToTeamColor(playerid);
    SpawnPlayer(playerid);
    SelectCharPlace[playerid] = 0;
    SelectCharID[playerid] = 0;
    SelectChar[playerid] = 0;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Use 'next', or 'done'.");
    return 0;
    }
    }
    return 1;
    }


    Und zu guter letzt das du auch die Frak nutzen kannst den makeleader befehl
    if(strcmp(cmd, "/makeleader", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /makeleader [playerid] [Number(1-2)]");
    return 1;
    }
    new para1;
    new level;
    para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    level = strval(tmp);
    if(level > 2 || level < 0) { SendClientMessage(playerid, COLOR_GREY, " Die Zahl darf nicht unter 1 oder über 2 sein!"); return 1; }
    if (PlayerInfo[playerid][pAdmin] >= 1337)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist bereits in einer Fraktion!");
    return 1;
    }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pLeader] = level;
    format(string, sizeof(string), " Du wurdest vom Admin %s zum Leader deiner Fraktion gemacht", sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zum Leader der %d Fraktion gemacht.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    if(level == 0) { PlayerInfo[para1][pChar] = 0; }
    else if(level == 1) { PlayerInfo[para1][pChar] = 280; {PlayerInfo[para1][pTeam] = 2; }} //PoliceSF
    gTeam[para1] = 11;
    PlayerInfo[para1][pTeam] = 11;
    SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin");
    }
    }
    return 1;
    }
    Das müsste alles gewesen sein. Wenn ich irgendetwas vergessen habe oder mich verschrieben habe sagt es mir bitte, danke. Ich hoffe das ich dir helfen konnte Bad Company.

    EL Cid mach mal hinter dem Wort "Geld" ein komma.


    [GRS]InCredible, wenn du mit GF arbeitest musst du schauen ob der befhel nicht noch im GF enthalten ist. Wenn ja löschen, dann müsste es eigentlich gehen. Musst natürlich auch den FS in der server.cfg datei reinschreiben.


    WOLF probiere es mal so if (newkeys & KEY_FIRE4 == 0)

    Also es müsste dann so aussehen
    public PayDay()
    {
    new string[128];
    new account,interest;
    new rent = 0;
    new Gehalt;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLevel] > 0)
    {
    if(MoneyMessage[i]==1)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du musst ins Gefängnis da du deine Schulden nicht bezahlen kannst.");
    GameTextForPlayer(i, "~r~Gefangen!", 2000, 1);
    SetPlayerInterior(i, 6);
    SetPlayerPos(i, 264.6288,77.5742,1001.0391);
    PlayerInfo[i][pJailed] = 1;
    ResetPlayerWeapons(i);
    WantedPoints[i] = 0;
    PlayerInfo[i][pJailTime] = 240;
    format(string, sizeof(string), "Du musst für %d Sekunden ins Gefängnis. Kaution: -", PlayerInfo[i][pJailTime]);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    }
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Dein Mietvertrag für das Haus wurde gekündigt");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
    else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
    else { tmpintrate = 1; }
    }
    if(PlayerInfo[i][pPayDay] >= 5)
    {
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 2;
    PlayerInfo[i][pPayCheck] += bonus;
    }
    new checks = PlayerInfo[i][pPayCheck] / 5;
    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
    ConsumingMoney[i] = 1;
    GivePlayerMoney(i, checks / 5);
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    if (PlayerInfo[i][pMember] == 0 || PlayerInfo[i][pLeader] == 0)
    {
    Gehalt= 560;
    }
    if (PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(PlayerInfo[i][pRank] == 1) { Gehalt = 600;}
    else if(PlayerInfo[i][pRank] == 2) { Gehalt = 1000;}
    else if(PlayerInfo[i][pRank] == 3) { Gehalt = 1800;}
    else if(PlayerInfo[i][pRank] == 4) { Gehalt = 3000;}
    else if(PlayerInfo[i][pRank] == 5) { Gehalt = 4300;}
    else if(PlayerInfo[i][pRank] == 6) { Gehalt = 6000;}
    }
    GivePlayerMoney(i, Gehalt);
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_WHITE, "|___ Staatliche Bank von SA ___|");
    format(string, sizeof(string), " Gehaltsscheck: $%d Steuern: -$%d", Gehalt, TaxValue);
    SendClientMessage(i, COLOR_GRAD1, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Stromrechung: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Kontostandt: $%d", account);
    SendClientMessage(i, COLOR_GRAD1, string);
    format(string, sizeof(string), " Zinssatz: 0.%d Prozent",tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    format(string, sizeof(string), " Zinsen $%d", interest);
    SendClientMessage(i, COLOR_GRAD3, string);
    SendClientMessage(i, COLOR_GRAD4, "|--------------------------------------|");
    format(string, sizeof(string), " Neuer Kontostandt: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), " Miete: -$%d", rent);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~y~PayDay~n~~w~Gehaltsscheck");
    GameTextForPlayer(i, string, 5000, 1);
    rent = 0;
    PlayerInfo[i][pPayDay] = 0;
    PlayerInfo[i][pPayCheck] = 0;
    PlayerInfo[i][pConnectTime] += 1;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um einen Gehaltsscheck zu bekommen");
    }
    }
    }
    }
    Checkprop();
    return 1;
    }


    Wie du siehst muss das
    GivePlayerMoney(i, Gehalt); gleich nach deinem Block erscheinen.

    Das ist eine gute frage, ja nartürlich geht das doch müsste man den wissen welchen befehl du nutzt sowie welche news. Ich habe z. B. mir jetzt eins selber gemacht, was ganz einfaches zum anfang, ne :D. Ein showmenu das über den /buycar aufgerufen wird, wenn er in dem Punkt steht. Die Auto´s habe ich durch ein CreateVehicle erstellt, mit ein Currntmenu. Weil ohne ein exentierendes Auto kann man keins kaufen ne. Ist simple der, nachteil man kann so viele autos kaufen als ein Spieler wie man will, auch gut ne. Aber das bekomme ich auch noch hin :D


    Wenn du ein Filterscript nutzt des Carsystems danns chau mal ob du ein define MAX_PLAYERS_CARS enthalten ist wenn ja, mach aus der 1 eine 2 oder 3 wie auch immer.

    Hallo, ich nutze ebenfalls den xStreamer. Doch habe ich 4 Errors, das "isBlank" weiss ich woran es liegt. Doch die 3 anderen steige ich nicht durch. kann mir jemand helfen? Danke :D


    D:\SAMP Server\GIA-Server Reallife\GIA Server\pawno\include\xClient.inc(149) : warning 219: local variable "rx" shadows a variable at a preceding level
    D:\SAMP Server\GIA-Server Reallife\GIA Server\pawno\include\xClient.inc(149) : warning 219: local variable "ry" shadows a variable at a preceding level
    D:\SAMP Server\GIA-Server Reallife\GIA Server\pawno\include\xClient.inc(149) : warning 219: local variable "rz" shadows a variable at a preceding level
    D:\SAMP Server\GIA-Server Reallife\GIA Server\gamemodes\Gia0.9i.pwn(28852) : warning 203: symbol is never used: "isblank"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Und das ist Zeile 149 in dem Include


    stock CreateStreamedObject(modelid2,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:viewdistance = 200.0)

    Hi,


    sich habe mal ne Frage. Und zwar habe ich 2 Gates gesetzt funzt alles super mit den Befehl sowie das Sie auf und zu gehen. Doch möchte ich das, das die Tore sich aufklappen und nicht seitlich aufgehen. Ich habe überlegt ein SetobjectRot zu setzen bzw ein GetObjectRot. Doch das klappt leide rnicht, weiss einer einen Rat? :)

    ich ahbe das gleiche problem wie Trooper er zeigt mir auch den fehler an. Doch habe ich win7, nun ist die frage muss extra einen für win7 Laden? Ich habe auch die .exe Datei umgestellt unter /Eigentschaften/Kompatibilität auf Windows 98 und Windows ME. Doch das bringt nicht wirklich etwas, weil er dann den Fehler anzeigt. "Could not open IDE21201.VXD file"

    Hi, sry wenn ich hier reinschreibe. Doch wüsste ich net wo sonst. Habe /pee eingefügt und wenn ich compile dann zeigt er mir ein fehler an. Ich verstehe bloss nicht, wie ich den definen soll. kann einer helfen?


    D:\SAMP Server\GIA-Server Reallife\GIA Server\filterscripts\gl_actions.pwn(270) : error 017: undefined symbol "SPECIAL_ACTION_PISSING"

    Hallo, sehr gut das tut.


    Ich habe dazu ein befehel gesetzt undzwar /buycar. Doch es funzt net, er zeigt mir an das ich bereits ein Fahrzeug besitze. Was ich aber nicht habe.



    else if (strcmp("/buycar", cmd, true, 10) == 0)
    {
    if (Spectating[playerid][0]!=-1)
    {
    if (Carlist[playerid][Typ]==-1)
    {
    new preis = Kaufliste[Spectating[playerid][0]][Preis];
    if (preis <= GetPlayerMoney(playerid))
    {
    new autohaus=Kaufliste[Spectating[playerid][0]][Autohaus];
    GivePlayerMoney(playerid, - preis);
    Carlist[playerid][Typ]=Spectating[playerid][0]; Carlist[playerid][pos_x]=Autospawns[autohaus][pos_x]; Carlist[playerid
    [pos_y]=Autospawns[autohaus][pos_y];
    Carlist[playerid][pos_z]=Autospawns[autohaus][pos_z]; Carlist[playerid][z_angle]=Autospawns[autohaus][z_angle]; Carlist[playerid][Status]=1;
    Carlist[playerid][Lock]=0;Carlist[playerid][Carid]=CreateVehicle(Kaufliste[Spectating[playerid][0]][Modelid],Carlist[playerid][pos_x],
    Carlist[playerid][pos_y],Carlist[playerid][pos_z],Carlist[playerid][z_angle],-1,-1,-1);
    SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
    TogglePlayerControllable(playerid,1);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    format(string,128,"Du hast dir erfolgreich fuer $%i ein/einen %s gekauft!",preis,Kaufliste[Carlist[playerid][Typ]][Name]);
    SendClientMessage(playerid, COLOR_RED, string);
    SendClientMessage(playerid, COLOR_GREEN, "Mit /lock kannst du dein Fahrzeug abschließen und aufschließen.");
    SendClientMessage(playerid, COLOR_GREEN, "Mehr Befehle kannst du unter /carhelp sehen.");
    SendClientMessage(playerid, COLOR_YELLOW, "Dein Auto steht am Ausgabepunkt bereit! Viel Spaß beim Fahren!");
    }
    else { format(string, 128, "Du hast nicht genug Geld fuer das Auto (benoetigt: $%i)!", preis); SendClientMessage
    (playerid, COLOR_LIGHTRED, string); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Auto!"); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
    return 1;
    }