Beiträge von Jeffry

    Irgendein Spieler @Jeffry.


    stock IsAnyPlayerInRangeOfPlayer(playerid, Float:range)
    {
    if(!IsPlayerConnected(playerid)) return 0;
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i) || i == playerid) continue;
    if(IsPlayerInRangeOfPoint(i, range, x, y, z)) return 1;
    }
    return 0;
    }


    Dann kannst du es so nutzen:
    if(IsAnyPlayerInRangeOfPlayer(playerid, 5.0))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Dir ist jemand zu nahe.");
    return 1;
    }

    Kann ich jetze ganz einfach GivePlayerMoney(playerid,500) machen ?


    Ja, und ausgeführt wird dann der Code, der in my_GivePlayerMoney steht.



    Und wird dort auch + bzw - Geld erkannt ?


    Ja, es funktioniert alles gleich wie bei GivePlayerMoney. Die Funktion wird gehookt.


    (Siehe Post drüber)



    Mit welcher Funktion kann ich nachprüfen ob ein Spieler z.B. in meiner Nähe ist (5m) ?


    Ein bestimmter Spieler, oder irgendein Spieler, der in der Nähe ist?

    Hey wie kann ich die GivePlayerMoney selber machen sprich das ich die normale funktion Raus nehme und mir selber eine schreibe ?

    Unter den Includes oder in eine Include:
    stock my_GivePlayerMoney(playerid, money)
    {
    //Code hier
    return 1;
    }


    #if defined _ALS_GivePlayerMoney
    #undef GivePlayerMoney
    #else
    #define _ALS_GivePlayerMoney
    #endif
    #define GivePlayerMoney my_GivePlayerMoney



    wo kann ich musik Hochladen und über dem SA-MP server abspielen?

    Auf einem Webhost, oder zum Beispiel in Dropbox.

    Versuche es so:
    if(IsPlayerAdmin(playerid))
    {
    if(PlayerInfo[playerid][ALevel] == 0) return MeldungText(playerid, "Du bist kein Admin!", 5);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return MeldungText(playerid, "Benutze: /newbiz [Kosten] [Name]", 6);
    new preis = strval(tmp), len = strlen(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return MeldungText(playerid, "Benutze: /newbiz [Kosten] [Name]", 6);
    ladebize++;
    new Float:spx, Float:spy, Float:spz;
    GetPlayerPos(playerid, spx, spy,spz);
    new sql[256];
    mysql_real_escape_string(cmdtext[len+9],sql);
    format(sql, sizeof(sql), "INSERT INTO biz (id,name,besitzer,x,y,z,kostet) VALUES (%d,'%s','Niemand',%f,%f,%f,%d)",ladebize,sql,spx,spy,spz,preis);
    mysql_query(sql);
    SendClientMessage(playerid, 0xFFFFFFFF, "Biz wurde erstellt.");
    }
    return 1;
    }

    Hast du in deinem Gamemode die main Funktion?
    Wenn nicht, füge das hier zum Gamemode hinzu:
    main() { }


    Ansonsten, falls du eine veraltete Version vom crashdetect Plugin nutzt, lade dir die aktuelle Version herunter, aus dem Link den ich oben gepostet habe.

    Dann sagt er mir auch das folgende Funktion die ich gemacht habe nicht gibt:


    samplernen.p(1570) : warning 203: symbol is never used: "SetPlayerMoney"


    Das heißt nur, dass du die Funktion nirgends verwendest.
    Wenn du die Warnung entfernen willst, dann setze vor das SetPlayerMoney - bei der Funktion - ein "stock" hin.


    stock SetPlayerMoney(playerid,money)
    {
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,money);
    return 1;
    }

    Versuche es so:
    Unter den Includes (ganz oben) nur das hier:
    new taxvalue;


    Und den PaydayInit so:
    @PaydayInit(playerid);
    @PaydayInit(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    PlayerInfo[playerid][pPayseconds]++;
    if(PlayerInfo[playerid][pPayseconds] >= 60)
    {
    PlayerInfo[playerid][pPayseconds] = 0;
    PlayerInfo[playerid][pPayminutes]++;
    if(PlayerInfo[playerid][pPayminutes] >= 60)
    {
    new kassenstring[128];
    new lohnsteuer = PlayerInfo[playerid][pPaycheck] * taxvalue / 100;
    new gehalt = PlayerInfo[playerid][pPaycheck] - lohnsteuer;
    PlayerInfo[playerid][pPayminutes] = 0;
    PlayerInfo[playerid][pBank] += gehalt;
    SendClientMessage(playerid, COLOR_WHITE, "==========================");
    SendClientMessage(playerid, COLOR_WHITE, "Kontoauszug");
    format(kassenstring, sizeof(kassenstring), "Lohnüberweisung +%d", PlayerInfo[playerid][pPaycheck]);
    SendClientMessage(playerid, COLOR_WHITE, kassenstring);
    format(kassenstring, sizeof(kassenstring), "Lohnsteuer -%d", lohnsteuer);
    SendClientMessage(playerid, COLOR_WHITE, kassenstring);
    /*if(PlayerInfo[playerid][pRented] == 1)
    {
    format(kassenstring, sizeof(kassenstring), "Miete -%d", pRentBill);
    SendClientMessage(playerid, COLOR_WHITE, kassenstring);
    }*/
    format(kassenstring, sizeof(kassenstring), "Summe +%d", gehalt);
    SendClientMessage(playerid, COLOR_WHITE, kassenstring);
    SendClientMessage(playerid, COLOR_WHITE, "==========================");
    GameTextForPlayer(playerid, "PAYDAY", 1000, 0);
    format(kassenstring, sizeof(kassenstring), "UPDATE staat SET kasse = kasse + %d WHERE id = 1", lohnsteuer);
    mysql_pquery(handle, kassenstring);
    }
    }
    }
    }

    Versuche es mal so:
    Unter den Includes:
    new Text:KillCounter[4];
    new oneKills[MAX_PLAYERS];


    Unter OnGameModeInit (entsprechend deinem Design auffüllen):
    KillCounter[0] = TextDrawCreate(...);
    //...
    KillCounter[1] = TextDrawCreate(...);
    //...
    KillCounter[2] = TextDrawCreate(...);
    //...
    KillCounter[3] = TextDrawCreate(...);
    //...


    Unter OnPlayerDeath:
    for(new i = 0; i < sizeof(one[]); i++)
    {
    if(one[playerid][i] == 1)
    {
    new str[64], name[MAX_PLAYER_NAME];
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    if(!IsPlayerConnected(p)) continue;
    if(one[p][i] == 1)
    {
    if(p != playerid) oneKills[p]++;
    GetPlayerName(p, name, MAX_PLAYER_NAME);
    format(str, sizeof(str), "%s%s: %d ", str, name, oneKills[p]);
    TextDrawShowForPlayer(p, KillCounter[i]);
    }
    TextDrawSetString(KillCounter[i], str);
    }
    break;
    }
    }


    Beim Start:
    new str[64], name[MAX_PLAYER_NAME];
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    if(!IsPlayerConnected(p)) continue;
    if(one[p][listitem] == 1)
    {
    oneKills[p] = 0;
    GetPlayerName(p, name, MAX_PLAYER_NAME);
    format(str, sizeof(str), "%s%s: %d ", str, name, oneKills[p]);
    TextDrawShowForPlayer(p, KillCounter[i]);
    }
    TextDrawSetString(KillCounter[i], str);
    }


    Beim Beenden:
    for(new i = 0; i < sizeof(one[]); i++)
    {
    if(one[playerid][i] == 1)
    {
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    if(!IsPlayerConnected(p)) continue;
    if(one[p][i] == 1)
    {
    one[p][i] = 0;
    TextDrawHideForPlayer(p, KillCounter[i]);
    }
    TextDrawSetString(KillCounter[i], "_");
    }
    break;
    }
    }