Beiträge von Studs

    pStrafString[MAX_STRAFSTRING] // bei PlayerInfo

    Code
    1. for(new i = 0; i<MAX_STRAFSTRING;i++)
    2. {
    3.     if(strlen(PlayerInfo[playerid][pStrafString][i]))
    4.     {
    5.         format(string, sizeof(string), "%s\n",PlayerInfo[playerid][pStrafString][i]);
    6.     }
    7. }




    Bekomme da nur son komisches Zeichen als output, könnte es daran liegen, dass es kein string ist ?


    Hab auch schon mal pStrafString[35][MAX_STRAFSTRING] aber da bekam ich nur abwegige Errors.


    Außerdem sollte das doch eigentlich möglich sein, dass mit pStrafString[MAX_STRAFSTRING] zu machen, oder?


    Ich nutze strmid

    Code
    1. new i = GetFreeStrafString(playerid);
    2. if(i == -1) return 1;
    3. strmid(PlayerInfo[playerid][pStrafString][i],vergehen,0,strlen(vergehen),255);

    Ja klar,


    allerdings läuft ocmd ja über OnPlayerCommandText.


    Wenn ich einen "ocmd Befehl" Befehl eingebe, bekomme ich dort, falls er nicht existiert


    genau die gleiche Nachricht wie wenn ich einen Befehl eingebe, der mit strcmp geschrieben wurde.


    Nur weil ich bei OnPlayerCommandText "SCM(playerid,-1,"Der Befehl wurde nicht gefunden, Verwende {6EF83C}/help!");" returne.


    Das muss also irgendwie möglich sein, ocmd_[Befehl] ist mir auch bekannt, ist aber nicht das, was ich meine. Es soll halt genauso


    funktionierten wie OnPlayerCommandText



    (Auszug aus dem ocmd include)


    Hallo,


    der Game-Server ist nun bereits seit 3 Monaten Offline und dient nur zum Debugging.


    Ich möchte hier nochmal erwähnen, dass das Projekt kein Vorgängerprojekt hat und deshalb


    keinen Bezug zu den erwähnten Personen hat. (Außer "Tec9", dieser hilft mir zwischendurch noch beim testen der neuen Systeme)


    Ich weiß nicht genau wie die IP durchgesickert ist, und wie und warum solche, Entschuldigung für die Bezeichnung "Spasten" auf unseren Server


    kamen und sich voll daneben benommen haben. Jedenfalls wird der Server von nun an wieder Verschlüsselt.


    LG

    SA:MP Citylife, 11.11.2019 >>> Das Forum ist nun wieder unter samp-citylife.de zu erreichen!

    Die Läden in San Andreas haben nun geöffnet!

    - Spieler haben ab nun die Möglichkeit überall in San Andreas, sei


    es ein Cluckin Bell, eine Disco, eine Bar oder ein Donut Shop Geschäfte auszurauben und viel Geld


    zu verdienen!


    Als einer der wenigen Server mit so einem System, vor allem im Reallife Genre


    versuchen wir damit eine offenere, flexiblere Spielwelt zu ermöglichen.


    Die Mauern zwischen Reallife | RolePlay | Cops n Robbers sollen durchbrochen werden,


    um für möglichst viel Spielspaß & Abwechslung zu sorgen, denn das ist doch das was wir alle wollen?


    > Keine Mindestaktivität
    > Keine Leute die einem irgendwas vorschreiben
    > Komm und geh wann du willst, dein Eigentum wird dadurch nicht beeinträchtigt
    > Keine Fraktions-Bewerbungen



    Dabei bleibt das gute alte SAMP-Feeling vorhanden.

    zEDmAc8.png
    VlowTbg.png
    j5bc0cJ.png
    DrBcWBz.png
    b4MLBu5.png


    Zum kompletten Changelog


    13.11.2019

    - > Ein neues Bekleidungsgeschäft für Accessoires hat in Los Santos eröffnet!

    Das neue, offene Geschäft verleiht dem Ort einen neuen Anstrich.



    jpxs3W9.png


    Zum kompletten Changelog

    Ist ja wieder mal toll gelaufen.


    Bin ich eigentlich der einzige, der denkt, dass seine Motivation hauptsächlich


    wegen diesen Kommentaren hier flöten gegangen ist?


    Ich verstehe einfach nicht, wieso diese Diskussion "SAMP ist Tot" eigentlich


    jedes mal wieder aufgegriffen werden muss, und warum genau DAS was


    ich jetzt schreibe dann wieder als Antwort kommt.



    Hier noch ein kleiner Text vom SAMP Entwickler.



    "You're wasting your time writing a SA-MP script from scratch, unless it's something that interests you. There are already loads of scripts out there."

    Ganz ehrlich, wen juckts?




    @iTsRooT mach es doch einfach nur, wenn es dir Spaß macht und sehe es als Hobby.


    Inwiefern wäre das dann noch Zeitverschwendung? Oder erfüllt ihr beim Fußball-spielen auch


    einen wichtigen Zweck? Und versuch es auch nicht auf die Projekt-Ebene zu schieben,


    da braucht man sich über solche Antworten dann auch nicht wundern.

    Die Events oder "Publics":


    forward OnPlayerConnect(playerid);
    forward OnPlayerReady(playerid);
    forward OnPlayerQuit(playerid, E_EXIT:exit_type, const reason[]);


    forward OnPlayerCommandText(playerid, const cmdtext[]);
    forward OnPlayerChat(playerid, const text[]);
    forward OnPlayerDeath(playerid, Hash:reason, killerid);
    forward OnPlayerSpawn(playerid);
    forward OnPlayerDamage(playerid, Float:health_loss, Float:armor_loss);
    forward OnPlayerWeaponChange(playerid, Hash:old_weapon, Hash:new_weapon);
    forward OnPlayerStartEnterVehicle(playerid, vehicleid, seatid);
    forward OnPlayerEnterVehicle(playerid, vehicleid, seatid);
    forward OnPlayerStartExitVehicle(playerid, vehicleid);
    forward OnPlayerExitVehicle(playerid, vehicleid);


    forward OnVehicleDeath(vehicleid, hash, killerid);
    forward OnVehicleSirenToggle(vehicleid, bool:toggle);
    forward OnVehicleHornToggle(vehicleid, bool:toggle);
    forward OnTrailerAttached(vehicleid, trailerid);
    forward OnVehicleDamage(vehicleid, Float:bodyHealthLoss, Float:engineHealthLoss);


    forward OnPlayerEnterColshape(playerid, colshapeid);
    forward OnPlayerExitColshape(playerid, colshapeid);


    forward OnPlayerEnterCheckpoint(playerid, checkpointid);
    forward OnPlayerExitCheckpoint(playerid, checkpointid);


    forward OnPlayerCreateWaypoint(playerid, Float:posX, Float:posY, Float:posZ);
    forward OnPlayerReachWaypoint(playerid);
    forward OnPlayerStreamIn(playerid, forplayerid);
    forward OnPlayerStreamOut(playerid, forplayerid);


    Kann man in der RAGE.inc nachschauen

    Moin,


    ich bin gerade am überlegen, wie ich mein Fraktions-System


    am besten gestalten kann. Vorab;


    Der Spieler sollte die Möglichkeit haben, in allen Fraktionen gleichzeitig zu sein,
    dafür würde eine einzelne Variable (z.B PlayerInfo[playerid][pFraktion]) wohl nicht ausreichen.
    Ich habe mir bisher 2 vorgestellt.
    Auf dem Server gibt es 5 Fraktionen.


    1.)


    Ich verwende in meinem Spieler Enum, einen Array Namens pFraktion,


    dieser hat die Größe 6, damit ich die 0 im Array nicht verwenden muss.


    Das SAPD ist auf dem Server die Fraktions-ID 1.


    Ich würde nun also wenn ich den Spieler dieser Fraktion hinzufügen möchte,


    folgendes tun: PlayerInfo[playerid][pFraktion][1] = 1; // true,


    oder, wenn ich diesen entfernen möchte:


    PlayerInfo[playerid][pFraktion][1] = 0;//false


    Die andere Option wäre:
    2)
    Ich weise meinem Array, unabhängig von der Reihenfolge einfach Fraktions IDs zu,
    Beispiel: PlayerInfo[playerid][pFraktion][0] = 3; // "slot" 0 des Spieler Fraktions-Arrays ist nun


    die Fraktion 3 zugewiesen. Damit es nicht zu Überschreibungen kommt, würde ich jedesmal


    abfragen, ob die Fraktions-ID schon irgendeiner dieser "Slots" zugewiesen wurde.



    Ich hoffe mal, ihr konntet es einigermaßen verstehen.


    Was denkt ihr ? Was wäre besser?


    LG

    Moin,


    ich hätte mal nen Frage:


    https://pastebin.com/ix0yVNFB


    Und zwar kapiere ich einfach nicht wie das funktionieren kann.


    Spezifisch meine ich damit die Variablen DialogTemp & DialogTempIndex.


    Wie genau kann darüber die id des toten Spielers herausgefunden werden in einer


    Schleife, wo der Wert jedes mal überschrieben wird?


    Der Befehl funktioniert.