Beiträge von xSoldier

    Achso öhm xD
    Naja dies funktioniert zwar, aber wenn ich in ein anderes Auto steige, das 1000 Zustand hat, hat es trz ein Motorschaden. (dies tretet nur auf, wenn ich zuvor einen Motorschaden hatte an einem anderen Fahrzeug.)
    Was soll ich tun?

    Stimmt das so? Jeffry:
    Wenn ich los fahre, steht da sofort: Error Motorschaden..


    if(strcmp(cmd, "/motor",true) == 0)
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
    return 1;
    }
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(mSchaden[playerid] == 1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Motoschaden!");
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    OnPlayerCommandText(playerid,"/me stellt den Motor ab!");
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    OnPlayerCommandText(playerid,"/me betätigt die Zündung. Der Motor springt an!");
    }
    }
    return 1;
    }

    Danke Jeffry:
    1 Frage noch, wie Frage ich ab ob der einen Motorschaden hat?
    denn dann soll der Motor nicht mehr starten können


    if(strcmp(cmd, "/motor",true) == 0)
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
    return 1;
    }
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    OnPlayerCommandText(playerid,"/me stellt den Motor ab!");
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    OnPlayerCommandText(playerid,"/me betätigt die Zündung. Der Motor springt an!");
    }
    }
    return 1;
    }

    Hallo,
    wie die Überschrift schon verrät habe ich einen Bug im Motorschaden System.


    forward VehicleHealth(playerid);


    OnGameModeInit:
    SetTimer("VehicleHealth", 6000, 1);


    forward VehicleHealth(playerid);
    public VehicleHealth(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Float:health;
    new veh = GetPlayerVehicleID(playerid);
    GetVehicleHealth(veh, health);
    if(health > 400)
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast einen Motorschaden!");
    return 1;
    }
    }
    }


    Kriege leider immer diesen Error:
    (51227) : error 030: compound statement not closed at the end of file (started at line 51212)


    Zeile:
    if(IsPlayerConnected(playerid))


    Zeile 2:
    Nicht vorhanden!


    Würde mich sehr um eine positive Antwort freuen, wie ich das beheben kann.


    Liebe Grüße,
    Soldier

    Hallo wie die Überschrift schon verrärt, möchte ich einen /aufbrechen (Tore knacken) für die Hitmen machen.
    Weiß aber nicht genau wie, ich möchte das professionell machen, mit 10 Sekunden warten um was Tor aufzuknacken usw..
    Bloß die Frage ist wie soll ich das anstellen? bzw anfangen.


    Tore gehen zurzeit bei mir so auf:
    if(strcmp(cmd,"/btor",true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
    {
    MoveObject(ballastor,1123.0999755859, -1207.0999755859, 13.699999809265,3.0);
    SetTimer("CloseBallasTor", 5000, 0);
    SendClientMessage(playerid, COLOR_RED, "Tor wird geöffnet 5 Sekunden Zeit!");
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein Ballas Homie");
    return 1;
    }
    Gibt es da Tutorial oder könnt ihr mir einen Tipp geben?
    Würde mich freuen auf schnelle Antworten.


    Liebe Grüße,
    Soldier



    //EDIT
    Habe etwas gemacht, aber ich komme da nicht genau weiter, da es dann das Tor nicht mehr schließt.


    if(strcmp(cmd, "/knacken", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
    {
    SetTimerEx("Knacken",1000*1,true,"i",playerid);
    }
    }
    }


    forward Knacken(playerid);
    public Knacken(playerid)
    {
    MoveObject(MVTor,1596.853027, -1638.482666, 15.300621,3);
    }

    Ahh hmm komisch nun funktioniert es :O
    Danke, aber habe noch eine Frage.
    Wie kann ich abfragen ob min. 3 Spieler der anderen Fraktion online sind um einen Gangwar starten zu können?


    if(strcmp(cmdtext,"/capture",true)==0){
    if(IsAFightFaction(GetPlayerFaction(playerid))){
    for(new fs;fs<sizeof(FightSystem);fs++){
    if((FightSystem[fs][fsOwnerFaction] == GetPlayerFaction(playerid) && FightSystem[fs][fsFightTime]) || FightSystem[fs][fsAttackFaction] == GetPlayerFaction(playerid))
    return SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia ist bereits in einem Fight.");
    }
    new TempZone = GetPlayerFightzone(playerid);
    if(TempZone != -255){
    if(!IsAFightFaction(FightSystem[TempZone][fsOwnerFaction]))
    return SendClientMessage(playerid,FS_COL_GREY,"Gebiet wurde ausgeschaltet.");
    if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid))
    return SendClientMessage(playerid,FS_COL_GREY,"** Diese Zone gehört bereits euch.");
    if(FightSystem[TempZone][fsFightTime] || FightSystem[TempZone][fsAttackFaction] != -255)
    return SendClientMessage(playerid,FS_COL_GREY,"** In diesem Gebiet wird bereits geschossen.");
    if(FightSystem[TempZone][fsLastFight]){
    new fsText[178];
    format(fsText,sizeof(fsText),"Ganggebiet: Dieses Ganggebiet wurde bereits Angegriffen, wartet noch: '%d' Minuten.",FightSystem[TempZone][fsLastFight]);
    SendClientMessage(playerid,FS_COL_GREY,fsText);
    return 1;
    }
    for(new fs;fs<sizeof(FightSystem);fs++){
    if(FightSystem[fs][fsOwnerFaction] == FightSystem[TempZone][fsOwnerFaction] && FightSystem[fs][fsAttackFaction] != -255)
    return SendClientMessage(playerid,FS_COL_GREY,"Ganggebiet: Die Gang / Mafia der das Ganggebiet gehört hat bereits ein Kampf.");
    }
    new fsTextToOwner[255];
    format(fsTextToOwner,sizeof(fsTextToOwner),">>> Fight <<< | Ihr werdet von: %s angegriffen, setzt euch zur wehr!",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
    new fsName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
    new fsTextToAttack[255];
    printf("fsOwnerFaction: %d - FactionName: %s",FightSystem[TempZone][fsOwnerFaction],GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    format(fsTextToAttack,sizeof(fsTextToAttack),">>> Fight <<< | %s hat ein Kampf mit: %s begonnen, macht sie Platt!",fsName,GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    new fsText[64];
    format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    TextDrawSetString(FightSystem[TempZone][fsWinKills],"~y~00 Kills");
    format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
    TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    TextDrawSetString(FightSystem[TempZone][fsLoseKills],"~y~00 Kills");
    TextDrawSetString(FightSystem[TempZone][fsTime],"Verbl. Zeit: 10 Minuten");//ZEIT
    for(new i;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    GangZoneFlashForPlayer(i,FightSystem[TempZone][fsZoneID],GetZoneColorOfFaction(GetPlayerFaction(playerid)));
    if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]){
    PlayerPlaySound(i,1058,0.0,0.0,0.0);
    SendClientMessage(i,FS_COL_YELLOW,fsTextToOwner);
    TextDrawShowForPlayer(i,Fight);
    TextDrawShowForPlayer(i,FightUnderline);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
    }
    if(GetPlayerFaction(i) == GetPlayerFaction(playerid)){
    PlayerPlaySound(i,1058,0.0,0.0,0.0);
    SendClientMessage(i,FS_COL_YELLOW,fsTextToAttack);
    TextDrawShowForPlayer(i,Fight);
    TextDrawShowForPlayer(i,FightUnderline);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
    TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
    }
    }
    }
    FightSystem[TempZone][fsAttackFaction] = GetPlayerFaction(playerid);
    FightSystem[TempZone][fsKillsOfOwner] = 0;
    FightSystem[TempZone][fsKillsOfAttack] = 0;
    FightSystem[TempZone][fsFightTime] = 10; //ZEIT
    FightSystem[TempZone][fsCTF][0] = -255;
    FightSystem[TempZone][fsCTF][1] = 0;
    FightSystem[TempZone][fsCTF][2] = 0;
    return 1;
    }return SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
    return 1;
    }return 0;
    }

    Wie ich es vorhin geändert hatte:
    stock GetZoneColorOfFaction(Faction){
    if(Faction == 5) return 0x00FF78AA; //LCN
    else if(Faction == 5) return 0x00FF78AA; //LCN
    else if(Faction == 13) return 0x4BBC00AA; //GS
    else if(Faction == 14) return 0x6E00FFAA; //Ballas
    else if(Faction == 6) return 0xFFABFFAA; //Yakuza
    else return 0x009BFFAA; //NoN-Gang
    }
    Ich hatte am Ende FF weggemacht und AA gesetzt aber funktioniert nicht.


    So funktioniert es bei mir (aber ich möchte das man durchsehen kann)
    stock GetZoneColorOfFaction(Faction){
    if(Faction == 5) return 0x00FF78FF; //LCN
    else if(Faction == 5) return 0x00FF78FF; //LCN
    else if(Faction == 13) return 0x4BBC00FF; //GS
    else if(Faction == 14) return 0x6E00FFFF; //Ballas
    else if(Faction == 6) return 0xFFABFFFF; //Yakuza
    else return 0x009BFFFF; //NoN-Gang
    }

    Meinst du das?
    stock GetZoneColorOfFaction(Faction){
    if(Faction == 5) return 0x00FF78FF; //LCN
    else if(Faction == 5) return 0x00FF78FF; //LCN
    else if(Faction == 13) return 0x4BBC00FF; //GS
    else if(Faction == 14) return 0x6E00FFFF; //Ballas
    else if(Faction == 6) return 0xFFABFFFF; //Yakuza
    else return 0x009BFFFF; //NoN-Gang
    }

    Hallo liebes Breadfish,
    wie die Überschrift verrät, soll meine Gangzone richtig angezeigt werden, das man durch sehen kann und nicht z.B pur Grün.


    So siehts momentan aus:



    So soll es aussehen:



    Würde mich sehr um schnelle antworten freuen.


    Liebe Grüße,
    Soldier

    Finde nichts..


    forward DropPlayerWeapons(playerid);
    public DropPlayerWeapons(playerid)
    {
    new Float:x,Float:y,Float:z,dpw_model[MAX_PLAYERS];
    dpw_model[playerid] = GetPlayerWeapon(playerid);
    GetPlayerPos(playerid,x,y,z);
    pickup[playerid] = CreatePickup(waffenarray[dpw_model[playerid]],3,x,y,z,-1);
    SetTimerEx("DeletePickup",DeleteTime*1000,false,"d",pickup[playerid]);
    GetPlayerWeaponData(playerid,GetWeaponSlot2(PICKUP_MODELW[playerid]),PICKUP_MODELW[playerid],PICKUP_AMMOW[playerid]);
    return 1;
    }


    Vom aufheben, hab ich nichts.
    Könnte es theoretisch auch an dies liegen?


    if(strcmp(cmd , "/createpickup", true) == 0)
    {
    new Float: X, Float: Y, Float: Z, world;
    GetPlayerPos(playerid, X, Y, Z);
    SetPlayerVirtualWorld(playerid,world);
    CreatePickup(346,1, X, Y, Z, world);
    return 1;
    }


    if(strcmp(cmd, "/createpickup", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /createpickup [Model] [Type]");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 1240 - Heal | 1242 - Armor | 342 - Granaten | 348 - Deagle |");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 349 - Shotgun | 350 - Sawnoff Shotgun | 355 - AK-47 | 356 - M4 |");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 372 - Tec-9 | 357 - Rifle | 358 - Sniper");
    return 1;
    }
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new model;
    model = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /createpickup [Model] [Type = 2]");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 1240 - Heal | 1242 - Armor | 342 - Granaten | 348 - Deagle |");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 349 - Shotgun | 350 - Sawnoff Shotgun | 355 - AK-47 | 356 - M4 |");
    SendClientMessage(playerid, COLOR_GRAD2, "Optionen: | 372 - Tec-9 | 357 - Rifle | 358 - Sniper");
    return 1;
    }
    new type;
    type = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1337)
    {
    if((model >= 1210 && model <= 1325) && (model >= 321 && model <= 372)) { SendClientMessage(playerid, COLOR_GRAD2, "HINT: Only Models above 1210, and below 1325; above 321 and below 373 are allowed!"); return 1; }
    if(type == 2) { SendClientMessage(playerid, COLOR_GRAD2, "Info: Nur Type ID 3 ist erlaubt."); return 1; }
    CreateDynamicPickup(model, type, X,Y,Z);
    new y, m, d;
    new h,mi,s;
    getdate(y,m,d);
    gettime(h,mi,s);
    format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s hat ein Pickup erstellt (X:%f Y:%f Z:%f) [Model: %d - Type: %d]",d,m,y,h,mi,s,sendername,X,Y,Z,model,type);
    SperreLog(string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du darfst das nicht");
    }
    }
    return 1;
    }

    Stimmt das so?
    GetPlayerWeaponData(playerid,GetWeaponSlot(PICKUP_MODELW[playerid]),PICKUP_MODELW[playerid],PICKUP_AMMOW[playerid]);


    Kriege den Error, das GetWeaponSlot schon definiert ist.
    Er zeigt in diese Zeile:
    stock GetWeaponSlot(weaponid)


    Errors:


    C:\Users\Matze\Desktop\Server\WOS Script 2.0\gamemodes\Dark.pwn(51134) : error 025: function heading differs from prototype
    C:\Users\Matze\Desktop\Server\WOS Script 2.0\gamemodes\Dark.pwn(51135) : error 021: symbol already defined: "GetWeaponSlot"

    Ich hatte das so gemacht:


    new waffenarray[] =
    {
    -1, // Schlagring
    331, // - Brass Knuckles
    333, // Golf Club
    334, // Night Stick
    335, // Knife
    336, // baseball bat
    337, // shovel
    338, // pool cue
    339, // katama
    341, // chainsaw
    321, // regular dildo
    322, // white dildo
    323, // Medium, white vibrator
    324, // smaill, silver vibrator
    325, // flowers
    326, // cane
    342, // grendade
    343, // tear gas
    344, // molotov
    -1, // RPG rocket - we can't pick up those, do we oO
    -1, // Heat-Seeking Rocket
    -1, // Hydra rocket
    346, // colt 45
    347, // colt 45 + silencer
    348, // deagle
    349, // shotgun
    350, // sawn-off
    351, // spaz
    352, // micro-uzi
    353, // mp5
    355, // ak47
    356, // m4
    372, // tec9
    357, // country rifle
    358, // sniper rifle
    359, // rocket launcher
    360, // heat-seeking rocket launcher
    361, // flamethrower
    362, // minigun
    363, // sachtel charges
    -1, // detonator
    365, // spray can
    366, // fire extinguisher
    367, // camera
    -1, // night-vision goggles
    -1, // heat-vision goggles
    371 // parachute
    };