Beiträge von Templer

    Joa Danke ^^, jetzt müsste ich nurnoch mit der GTA Physik herumspielen wieviel Leben bei welcher Geschwindigkeit abgezogen wird ^ ^
    Edit: Also mich interressiert eigentlich nur die definition "rtn", da ich mit Meilen wenig erreichen kann[MSIE_newline_end ]

    Hallo Liebe Breadfish Community,
    Meine Frage wäre, wie mann die Fallgeschwindigkeit in GTA SanAndreas nachberechnen könnte mit GetPlayerVelocity? Vielleicht hat einer bereits einer eine Formel? ^^
    Mfg Templer[MSIE_newline_end ]

    Ok hab jetzt andere Taste verwendet, die KEY_JUMP Taste und statt IsPlayerInAnyVehicle, GetPlayerState und es geht :thumbup:


    Jedoch würde ich gerne noch wissen wegen Freeze ob es andere Arten von dem gibt? Weil ich z.B.: auf einem Server sah, dass man gefreezt auch Leben verlieren kann. Bei TogglePlayerControllable ist man sozusagen im GodMode

    Hallo Brotfischer,


    Hab leider das Problem, dass wenn ein Spieler eingefroren ist durch TogglePlayerControllable gleichzeitig auch seine Tasten blockiert sind im Fahrzeug z.B.: KEY_HANDBRAKE, KEY_SUBMISSION,...


    Also der Callback
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    Wird nicht ausgeführt, wenn der Spieler im Fahrzeug gefreezt ist (Ist halt bei mir das Problem).. Jetzt meine Frage, ob es andere Einfrier Funktionen gibt die auf das TogglePlayerControllable basieren? Bis jetzt hab ich eine Kombination aus SetPlayerVelocity und PutPlayerInVehicle gemacht, was aber nicht so beeindruckend war ^^


    Ich hoffe ihr wisst einen Rat!

    Nicht OnPlayerEnterVehicle, sondern OnPlayerStateChange oder wie es heißt! Und dort sowas ähnliches einfügen!


    public OnPlayerStateChange(playerid, newstate, oldstate){if(newstate == PLAYER_STATE_DRIVER){new modid = GetVehicleModel(carid);if(modid == 510 && PlayerInfo[playerid][pJob] != 15){SendClientMessage(playerid, COLOR_RED, "Du bist kein Zeitungsjunge!");RemovePlayerFromVehicle(playerid);}return 1;}


    //EDIT: Ok Wieso zeigt der PAWNO Code es so komisch an? ^^
    //EDIT2: Dieser Code ist jetz nur für GF, sollte aber für Selfmade leicht editierbar sein

    Hallo Brotfisch Community,


    Hab da ein seltsames Problem und der wäre, dass wenn ich mein Fahrzeug im Transfender (oder in einem Anderen Tuning Shop) aufmotzen möchte, werde ich zwar von der GTA Offline Seite in die Garage teleportiert jedoch verschwindet das Fahrzeug (wird also zurück teleportiert wo ich rein gefahren bin und mein Skin bleibt eingefroren in der Garage) und wenn ich mich davon befreie und in ein anderes Fahrzeug einsteige kommt plötzlich das Tuning Menü, jedoch mit ein paar Schwierigkeiten (Noch mehr Bugs).


    Also heißt es, dass der Fehler ist, dass mein Fahrzeug verschwindet bzw. ich aus dem Fahrzeug geworfen werde.


    Habe auch schon die Callbacks OnVehicleMod, OnVehiclePaintjob und OnVehicleRespray angeschaut (Wegen meinem Autohaus) Jedoch ist dort ja nur eine einfache "if" Abfrage ohne return.


    Der Fehler ist jedoch nur mit dem GameMode, aber in den standart GameMode´s wie lvdm und co, geht es!


    Ich hoffe ihr wisst was Sache ist ^^


    Mfg Templer

    Komisch.. wie gesagt ich versteh das mit Local noch immer ned so.. warte mal ich lese mal das Script xD


    Kurz so nebenbei: Wenn du den Spawnpunkt im Waffenshop hast, dass du drinne spawnst dann geht es natürlich ned.. du musst dann kurz raus und wieder rein mit /enter, damit das GF es kapiert


    EDIT: Ok Entschuldige, kann dir sonst ned helfen wenns so ned geht, vl. weiß es wer anderer

    Ich weis grad ned wieso es es ned geht, aber nütz doch einfach Checkpoints ^^


    Statt:

    Code
    SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);


    Mach das einfach:


    Vorher definieren

    Code
    new Float:X, Float:Y, Float:Z;


    Und dann dieses SetPlayerMarker ersetzen durch:

    Code
    GetPlayerPos(playerid, X, Y, Z);
    SetPlayerCheckpoint(i, X, Y, Z, 10.0);
    gPlayerCheckpointStatus[playerid] = CHECKPOINT_BK;


    Und dann suche nach CHECKPOINT_HOME und füge diese Sachen ein:

    Code
    #define CHECKPOINT_BK 13


    Code
    case CHECKPOINT_MEDIC:
    			{
    				PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    				DisablePlayerCheckpoint(playerid);
    				gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
    			}


    Tipp sind die ersten Codes die du findest wenn du nach CHECKPOINT_Home suchst! Vom Anfang aus!

    Ok dann poste ich für das hier das ganze Endergebnis ^^

    if (strcmp(cmd, "/buygun", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerMoney(playerid) < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " You dont have enough money with you !");
    return 1;
    }
    new gun;
    new gunid[16];
    new gunstring1[256];
    new gunstring2[256];
    new gunstring3[256];
    new gunstring4[256];
    new gunstring5[256];
    new infostring[256];
    new guncharge;
    new ammocharge;
    new location = PlayerInfo[playerid][pLocal];
    if(location == 99 || location == 100 || location == 102 || location == 103 || location == 105 || location == 106)
    {
    if(BizzInfo[location-99][bProducts] <= 0)
    {
    GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
    return 1;
    }
    new mod = 100;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    SendClientMessage(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
    SendClientMessage(playerid, COLOR_GRAD2,string);
    format(gunstring1, 256, "Weapons: parachute ($%d) golfclub ($%d) nightstick ($%d) baseballbat ($%d) shovel ($%d) poolcue ($%d)",
    GunPrice[0][0]/100*mod,GunPrice[1][0]/100*mod,GunPrice[2][0]/100*mod,GunPrice[3][0]/100*mod,GunPrice[4][0]/100*mod,GunPrice[5][0]/100*mod,GunPrice[6][0]/100*mod);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring1);
    format(gunstring2, 256, "Weapons: purpledildo ($%d) whitedildo ($%d) longwhitedildo ($%d) whitedildo2 ($%d) flowers ($%d) cane",
    GunPrice[7][0]/100*mod,GunPrice[8][0]/100*mod,GunPrice[9][0]/100*mod,GunPrice[10][0]/100*mod,GunPrice[11][0]/100*mod,GunPrice[12][0]/100*mod);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring2);
    format(gunstring3, 256, "Weapons: sdpistol ($%d) deagle ($%d) mp5 ($%d)",
    GunPrice[13][0]/100*mod,GunPrice[14][0]/100*mod,GunPrice[15][0]/100*mod,GunPrice[16][0]/100*mod,GunPrice[17][0]/100*mod,GunPrice[18][0]/100*mod);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring3);
    format(gunstring4, 256, "Weapons: shotgun ($%d) ak47 ($%d) m4 ($%d) rifle ($%d)",
    GunPrice[19][0]/100*mod,GunPrice[20][0]/100*mod,GunPrice[21][0]/100*mod,GunPrice[22][0]/100*mod,GunPrice[23][0]/100*mod,GunPrice[24][0]/100*mod);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring4);
    format(gunstring5, 256, "Weapons: pistolammo ($%d) shotgunammo ($%d) smgammo ($%d) assaultammo ($%d) rifleammo ($%d)",
    GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring5);
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    return 1;
    }
    strmid(gunid, tmp, 0, strlen(cmdtext), 255);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
    return 1;
    }
    new ammo = strval(tmp);
    if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, " Ammo ammount not lower then 1 or higher then 999 !"); return 1; }
    if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
    {
    gun = 46;
    guncharge = GunPrice[0][0]/100*mod;
    ammocharge = 0;
    }
    else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
    {
    gun = 2; guncharge = GunPrice[1][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
    {
    gun = 3; guncharge = GunPrice[2][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
    {
    gun = 5; guncharge = GunPrice[4][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
    {
    gun = 6; guncharge = GunPrice[5][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
    {
    gun = 7; guncharge = GunPrice[6][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "purpledildo", true, strlen(gunid)) == 0)
    {
    gun = 10; guncharge = GunPrice[7][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "whitedildo", true, strlen(gunid)) == 0)
    {
    gun = 11; guncharge = GunPrice[8][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "longwhitedildo", true, strlen(gunid)) == 0)
    {
    gun = 12; guncharge = GunPrice[9][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "whitedildo2", true, strlen(gunid)) == 0)
    {
    gun = 13; guncharge = GunPrice[10][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
    {
    gun = 14; guncharge = GunPrice[11][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
    {
    gun = 15; guncharge = GunPrice[12][0]/100*mod; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "sdpistol", true, strlen(gunid)) == 0)
    {
    gun = 23; guncharge = GunPrice[13][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
    PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
    }
    else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
    {
    gun = 24; guncharge = GunPrice[15][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
    PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
    }
    else if (strcmp(gunid, "mp5", true, strlen(gunid)) == 0)
    {
    gun = 29; guncharge = GunPrice[18][0]/100*mod; ammocharge = GunPrice[27][0]*ammo;
    PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
    }
    else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
    {
    gun = 25; guncharge = GunPrice[19][0]/100*mod; ammocharge = GunPrice[26][0]*ammo;
    PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
    }
    else if (strcmp(gunid, "ak47", true, strlen(gunid)) == 0)
    {
    gun = 30; guncharge = GunPrice[22][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
    PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else if (strcmp(gunid, "m4", true, strlen(gunid)) == 0)
    {
    gun = 31; guncharge = GunPrice[23][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
    PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else if (strcmp(gunid, "rifle", true, strlen(gunid)) == 0)
    {
    gun = 33; guncharge = GunPrice[24][0]/100*mod; ammocharge = GunPrice[29][0]*ammo;
    PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD6, "ShopKeeper says: I have never heard of that weapon.");
    return 1;
    }
    if((guncharge+ammocharge) > GetPlayerMoney(playerid))
    {
    format(infostring, 256, " You don't have $%d !",guncharge+ammocharge);
    SendClientMessage(playerid, COLOR_GRAD3, infostring);
    return 1;
    }
    if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
    {
    SendClientMessage(playerid, COLOR_GREY, " Can't afford that !");
    return 1;
    }
    new payout = guncharge + ammocharge;
    format(infostring, 256, "You have purchased %s with %d ammo for $%d",gunid,ammo,payout);
    SendClientMessage(playerid, COLOR_GRAD3, infostring);
    if(location == 102 && IsACop(playerid)) { }
    else { GivePlayerMoney(playerid, - payout); }
    BizzInfo[location-99][bTill] += payout;
    ExtortionBiz(location-99, payout);
    BizzInfo[location-99][bProducts]--;
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    GivePlayerWeapon(playerid, gun, ammo);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s bought weapons for $%d at biz %d", sendername, payout, location-99);
    printf("%s", string);
    PayLog(string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"You are not in a store.");
    return 1;
    }
    }
    return 1;
    }



    Bitte schön!

    Code
    if(location == 99 || location == 100 || location == 102)


    Diese Zeile hier definier welche Shop ein Gunshop sein sollte!
    Wenn du in deiner bizz.cfg alles verschoben hast ises klar das jetz alles wo anders ist bzw. wenn du ein Biz hinzugefügt hast musst du die location angeben!
    Also poste mal bitte deine bizz.cfg hier rein und sag mir bei welchem Shop das nicht geht! (ich selbst frage mich wer auf diese komische Zahlen kam bei location die keinen Sinn ergeben...)


    Mfg Templer


    EDIT: SOoo es is mir wieder eingefallen wie das ist ^^ also so geht das jetz nach der reihe in deiner Biz Liste
    In deiner bizz.cfg
    1.BizLeiste = location == 99
    2.BizLeiste = location == 100
    3.BizLeiste = location == 101
    4.BizLeiste = location == 102
    5.BizLeiste = location == 103
    und so weiter ^^


    Also kurzgefasst, wenn in deiner bizz.cfg in der 5.Zeile das Policedepartment ist musst du im GF bei /buygun oben zu den

    Code
    if(location == 99 || location == 100 || location == 102)


    das dazufügen

    Code
    location == 103


    Hier das Endergebnis:

    Code
    if(location == 99 || location == 100 || location == 102|| location == 103)


    Mfg Templer

    Hallo Liebe Community!


    Meine Frage wäre, ob es nen Befehl gibt der alle SpielerDaten (wo das Level, Spielstunden und co gespeichert sind) nach einer Abfrage durchsucht!


    Also als kleines Beispiel, wenn der Name "Robert" in [pMarriedTo] in einer der vielen der Userdateien vorhanden ist, dann GetPlayerID von dem Spieler der diesen Eintrag hat!


    Hoffe es is verständlich, und ja es geht um ein Godfather aber ich denke diese Frage betrifft jedes Script egal ob GF oder was anderes ^^


    MfgTempler


    EDIT:


    Sry bin ein blinder Fisch...


    Code
    fmatch
     This function checks whether a part of the given file matched the string specified.
     Parameters:({{{1}}})
     name[]The filename to check.
     const pattern[]The pattern that should be matched.
     index=0The offset to start searching.
     size=sizeof nameThe amount of characters to search in.
     fmatch("searchFile.txt", "Peter", 0);


    Nun nächste Frage ich will ja das er jede Ini-Datei durchsucht, unter Windows ist es normal *.ini, geht das auch bei Pawno? XD

    Hab doch alles schon, nur er macht erst nach dem Tot die Farbe am Spieler... Aber meistens wenn der Wanted niedrig ist, wird er gar nicht Orange... und die Farbe sollte dem Polizisten doch aktuell helfen wo der Spieler sich aufhält und nicht erst raten, welcher von den weißen punkten der Verdächtige ist.

    Also meine Frage wäre, wie mann das einstellt, dass jede Sekunde dementsprechend an den Spieler angepasst wird, ein Beispiel für Wanted, wenn einer Wanted gestellt wird ist er noch weiß, erst wenn er stirbt kommt die Farbe Orange und ich will das jede Sekunde die Farben aktualisiert werden, also nach einem Wanted setzen der Spieler gleich Orange nach einer Sekunde wird.


    Mfg Templer