Beiträge von Kasakow

    Hallo!


    Ich habe aktuell vor, den Spieler unverwundbar vor Polizisten zu machen wenn er keine Wanted's hat.


    Mein aktueller Code:


    Function OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    new Float:h;
    GetPlayerHealth(issuerid,h);
    if(h>100.0) SetPlayerHealth(issuerid,100);
    if(getPlayerTeam(issuerid) == TEAM_COPS && getPlayerTeam(playerid) == TEAM_ZIVI)
    {
    if(!getPlayerWanteds(playerid))
    {
    GetPlayerHealth(playerid,h);
    SetPlayerHealth(playerid,h+amount);
    }
    return 1;
    }
    return 1;
    }


    Dies Funktioniert aber nicht einwandfrei, wie mache ich es nun dass das Fahrzeug und der Charakter an sich nicht beschädigt werden können?


    mfg :thumbup:

    Du hast mein zweiten Vorschlag nicht befolgt. Lasse dir beim erstellen eines Shops immer die business_id debuggen ;) Das heißt: Erstelle mehrmals Shops damit wir die business_id sehen, ob die sich verändert :)


    Die Business ID ist beim Print immer 0, habe sie ausgeben lassen ?(


    mfg :thumbup:


    Nein, habe das Problem nicht lösen können und es bestehen weiterhin Probleme.


    mfg :thumbup:

    Hey!
    Und zwar habe ich mich an einen Befehl gesetzt, der nennt sich /createshop.
    Damit soll es möglich sein, Ingame Geschäfte zu erstellen, verwalten und zu entfernen...
    Aktuell besteht der Fehler das wenn ich mehrere Geschäfte erstelle, das die Koordinaten vom ersten Geschäft entnommen wird.


    PWN CODE
    Function CreateShop(playerid, world, shopname[], Float:c_x, Float:c_y, Float:c_z)
    {
    //"24/7 Shop\nAmmunation\nBinco\nVictim\nZip\nBurger Shot\nClucking Bell\nWell Stack Pizza"
    new interior_id, Float:pos[3];
    if(!strcmp(shopname,"24/7",true))
    {
    interior_id = 10;
    pos[0]=6.091179;
    pos[1]=-29.271898;
    pos[2]=1003.549438;
    }
    else if(!strcmp(shopname,"Ammunation",true))
    {
    interior_id = 1;
    pos[0]=286.800994;
    pos[1]=-82.547599;
    pos[2]=1001.515625;
    }
    else if(!strcmp(shopname,"Binco",true))
    {
    interior_id = 15;
    pos[0]=207.737991;
    pos[1]=-109.019996;
    pos[2]=1005.132812;
    }
    else if(!strcmp(shopname,"Victim",true))
    {
    interior_id = 10;
    pos[0]=6.091179;
    pos[1]=-29.271898;
    pos[2]=1003.549438;
    }
    else if(!strcmp(shopname,"Zip",true))
    {
    interior_id = 5;
    pos[0]=226.293991;
    pos[1]=-7.431529;
    pos[2]=1002.210937;
    }
    else if(!strcmp(shopname,"Burger Shot",true))
    {
    interior_id = 10;
    pos[0]=375.962463;
    pos[1]=-65.816848;
    pos[2]=1001.507812;
    }
    else if(!strcmp(shopname,"Clucking Bell",true))
    {
    interior_id = 9;
    pos[0]=369.579528;
    pos[1]=-4.487294;
    pos[2]=1001.858886;
    }
    else if(!strcmp(shopname,"Well Stack Pizza",true))
    {
    interior_id = 5;
    pos[0]=373.825653;
    pos[1]=-117.270904;
    pos[2]=1001.499511;
    }
    printf("CreateShop -> world:%i,shopname:%s,pos:%f,%f,%f playerid: %i | interiorid: %i", world, shopname, c_x, c_y, c_z, playerid, interior_id);
    new query[450];
    mysql_format(Handle, query, sizeof query, "INSERT INTO Business (b_x, b_y, b_z, b_ix, b_iy, b_iz, b_vw, b_int, b_shopname) VALUES (%f, %f, %f, %f, %f, %f, %i, %i, '%s')",
    c_x, c_y, c_z, pos[0], pos[1], pos[2], world, interior_id, shopname);
    mysql_pquery(Handle, query, "", "");
    new business_id = getFreeBInfo();
    bInfo[business_id][b_x] = c_x;
    bInfo[business_id][b_y] = c_y;
    bInfo[business_id][b_z] = c_z;
    bInfo[business_id][b_ix] = pos[0];
    bInfo[business_id][b_iy] = pos[1];
    bInfo[business_id][b_iz] = pos[2];
    bInfo[business_id][b_int] = interior_id;
    bInfo[business_id][b_vw] = world;
    new string[128];
    format(string, sizeof string, "[{00E1FF}%s{FFFFFF}]\nDrücke 'ENTER' um den Laden zu betreten", shopname);
    Create3DTextLabel(string, COLOR_WHITE, c_x, c_y, c_z, 20.0, 0, 1);
    CreateDynamicPickup(19197, 1, c_x, c_y, c_z, 0, 0);
    CreateDynamicPickup(19197, 1, pos[0], pos[1], pos[2], world, interior_id);
    return SendClientMessage(playerid, COLOR_GREEN, "** Du hast erfolgreich einen Laden erstellt **");
    }


    mfg :thumbup:

    Hey!


    Weiß jemand wie ich die Funktion am besten in ein Makro umschreiben kann?


    Function SendClientMessageToRange(playerid, color_code, Float:range_max, ms_g[])
    {
    new Float:ms_g_p[3];
    GetPlayerPos(playerid,ms_g_p[0],ms_g_p[1],ms_g_p[2]);
    for(new i;i<GetMaxPlayers();i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    if(GetPlayerDistanceFromPoint(i, ms_g_p[0], ms_g_p[0], ms_g_p[0]) > range_max)continue;
    SendClientMessage(i, color_code, ms_g);
    }
    return 1;
    }


    mfg :thumbup:


    Dann musst du es so schreiben:


    static x = sizeof(SKINS_ZIVI)-1;
    if(x == -1) x=sizeof(SKINS_ZIVI)-1;
    SetPlayerSkin(playerid,SKINS_ZIVI[x]),x--;


    mfg. :thumbup:


    Funktioniert nicht ganz...


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Und @lcy. ..wenn ich die Rechte Pfeiltaste verwende..dann switcht er bei OnPlayerUpdate 2x ;)


    mfg :thumbup:

    Als erstes muss das so:
    static x;
    if(x == sizeof(SKINS_ZIVI)) x=0;
    SetPlayerSkin(playerid,SKINS_ZIVI[x]),x--;


    Die Pfeiltasten werden nicht über OnPlayerKeyStateChange aufgerufen, sondern die musst du mit OnPlayerUpdate abfragen.
    Das ganze kannst du mit GetPlayerKeys anstellen ;)


    Ich weiß, habe ich bereits gemacht.


    Über OnPlayerUpdate läuft mir das zu "Hyper aktiv " ab ..... :rolleyes:


    if(GetPVarInt(playerid,"SkinC"))
    {
    new key[3];
    GetPlayerKeys(playerid, key[0], key[1], key[2]);
    switch(key[2])
    {
    case KEY_RIGHT:
    {
    static x;
    if(x == sizeof(SKINS_ZIVI)) x=1;
    SetPlayerSkin(playerid,SKINS_ZIVI[x]),x++;
    /*if(getPlayerTeam(playerid) == TEAM_ZIVI)
    {
    switch(GetPlayerSkin(playerid))
    {
    case 1:SetPlayerSkin(playerid,2);
    case 2:SetPlayerSkin(playerid,3);
    case 3:SetPlayerSkin(playerid,4);
    case 4:SetPlayerSkin(playerid,5);
    case 5:SetPlayerSkin(playerid,6);
    case 6:SetPlayerSkin(playerid,7);
    case 7:SetPlayerSkin(playerid,8);
    case 8:SetPlayerSkin(playerid,14);
    case 14:SetPlayerSkin(playerid,15);
    case 15:SetPlayerSkin(playerid,16);
    case 16:SetPlayerSkin(playerid,17);
    case 17:SetPlayerSkin(playerid,18);
    case 18:SetPlayerSkin(playerid,19);
    case 19:SetPlayerSkin(playerid,20);
    case 20:SetPlayerSkin(playerid,21);
    case 21:SetPlayerSkin(playerid,22);
    case 22:SetPlayerSkin(playerid,23);
    case 23:SetPlayerSkin(playerid,24);
    case 24:SetPlayerSkin(playerid,25);
    case 25:SetPlayerSkin(playerid,26);
    case 26:SetPlayerSkin(playerid,27);
    case 27:SetPlayerSkin(playerid,28);
    case 28:SetPlayerSkin(playerid,29);
    case 29:SetPlayerSkin(playerid,30);
    }
    }*/
    }
    case KEY_LEFT:
    {
    static x;
    if(x == sizeof(SKINS_ZIVI)) x=1;
    SetPlayerSkin(playerid,SKINS_ZIVI[x]),x--;
    /*if(getPlayerTeam(playerid) == TEAM_ZIVI)
    {
    switch(GetPlayerSkin(playerid))
    {
    case 30:SetPlayerSkin(playerid,29);
    case 29:SetPlayerSkin(playerid,28);
    case 28:SetPlayerSkin(playerid,27);
    case 27:SetPlayerSkin(playerid,26);
    case 26:SetPlayerSkin(playerid,25);
    case 25:SetPlayerSkin(playerid,24);
    case 24:SetPlayerSkin(playerid,23);
    case 23:SetPlayerSkin(playerid,22);
    case 22:SetPlayerSkin(playerid,21);
    case 21:SetPlayerSkin(playerid,20);
    case 20:SetPlayerSkin(playerid,19);
    case 19:SetPlayerSkin(playerid,18);
    case 18:SetPlayerSkin(playerid,17);
    case 17:SetPlayerSkin(playerid,16);
    case 16:SetPlayerSkin(playerid,15);
    case 15:SetPlayerSkin(playerid,14);
    case 14:SetPlayerSkin(playerid,8);
    case 8:SetPlayerSkin(playerid,7);
    case 7:SetPlayerSkin(playerid,6);
    case 6:SetPlayerSkin(playerid,5);
    case 5:SetPlayerSkin(playerid,4);
    case 4:SetPlayerSkin(playerid,3);
    case 3:SetPlayerSkin(playerid,2);
    case 2:SetPlayerSkin(playerid,1);
    }
    }*/
    }
    }
    }


    Glaube ein Timer wäre dafür angebracht ..


    mfg :thumbup:


    Gut, ist soweit Funktionstüchtig.
    Aber wenn ich das ganze zurücklaufen lassen will?


    static x;
    if(x == sizeof(SKINS_ZIVI)) x=1;
    SetPlayerSkin(playerid,SKINS_ZIVI[x]),x--;


    So Funktioniert das nicht :/
    Außerdem mal ne frage nebenbei, wenn man die Pfeiltasten benutzt..wird dann OnPlayerKeyStateChange aufgerufen?


    mfg :thumbup:

    Ich bin hier gerade mächtig am überlegen wie man eine Variable durchgeht.


    Ist nützlich für meine Skin Auswahl.


    PWN CODE:
    new skins[16][1] = {
    {1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},
    };


    for(new i;i<sizeof skins;i++)
    {
    if(GetPlayerSkin(playerid) == skins[i]){
    SendClientMessage(playerid, -1, "Du warst auf dem Wert bereits, der Integer wird erhöht.");
    SetPlayerSkin(playerid,skins[i+1]);
    }
    }


    Ich weiß aber nicht direkt ob ich das richtig angehe, habt ihr bessere Vorschläge?


    Das soll heißen, das ich am ende mit der Rechten und Linken Pfeiltaste den Skin 1-15 Switchen kann, jetzt so als Beispiel.


    mfg :thumbup:

    Ich versuche mich derzeit von Funktionen fernzuhalten und probiere mit Makros rum, nur warum bekomme ich hier denn Fehlermeldungen.


    PWN CODE
    #define givePlayerMoney(%0,%1) pInfo[%0][pGeld]+=%1 && GivePlayerMoney(%0,%1)
    #define setPlayerMoney(%0,%1) ResetPlayerMoney(%0) && pInfo[%0][pGeld]=0 && GivePlayerMoney(%0,%1)


    Fehlermeldung

    Zitat

    error 022: must be lvalue (non-constant)


    Zeile
    setPlayerMoney(playerid, cache_get_field_content_int(0, "Geld", Handle));


    mfg :thumbup:

    Guten Abend,


    mit diesem schriftlichem Dokument möchte ich mich und meinen Channel bei euch vorstellen.


    Also erstmal im voraus, mein Name lautet Michael Weiner und ich bin 14 Jahre alt und wurde am 13.04.2000 geboren.
    Momentan besuche ich die 8. Jahrgangs Stufe in der Schulform Mittelschule.
    Ich mache schon seit dem Jahre 2013 sehr gerne Videos für Youtube habe des Öfteren lange Pausen eingelegt, jetzt wo ich besseres Equipment habe kann es auch schon wieder losgehen.
    Zum derzeitigen Stand, bin ich unter den Namen mrNextTuber im Netz bekannt, voher unter MrPawn112!
    mrNextTuber gibt es bereits seit dem 25.02.2014!
    Ich mache auf Youtube momentan nur Lets Plays, werde ggf aber auch bald mit Commentary's anfangen.


    Hier mal ein kleines Video von mir:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Link für Handynutzer


    Ich hoffe ihr könnt mir mal eure Meinung dalassen, und Verbesserungsvorschläge machen ggf Konstruktive Kritik.


    Mit freundlichen Grüßen,


    CIBERKILLER