Beiträge von Kaliber

    SetPVarInt(pID,"Geld",Geld);
    GivePlayerMoney(pID, Geld);
    SpielerSpeichern(pID);


    Anstatt dem da, das so schreiben:


    for(new i; i!=MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPVarInt(i,"Geld",Geld),GivePlayerMoney(i,Geld),SpielerSpeichern(i);


    mfg. :thumbup:

    1. Schreib es so:


    if(!strcmp(cmdtext,"/stats",true)) {
    new dialogstring[50],header[18 + MAX_PLAYER_NAME],sName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sName,sizeof(sName));
    format(dialogstring,sizeof(dialogstring),"Willkommen %s\n\nKills: %d\nTode: %d\n",sName,GetPVarInt(playerid,"Kills"),GetPVarInt(playerid,"Tode"));
    format(header,sizeof header,"Deine Statistiken %s",sName);
    ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Abbrechen");
    return 1;
    }


    2. Schreibe es so:


    ocmd:givemoney(playerid,params[]) {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new pID, Geld, msg[144];
    if(sscanf(params,"ui",pID,Geld))return SendClientMessage(playerid,GELB,"/givemoney [spieler] [Betrag] ");
    if(Geld < 1 || Geld > 90000)return SendClientMessage(playerid,ROT,"Bitte gültigen Betrag angeben.");
    SetPVarInt(pID,"Geld",Geld);
    SpielerSpeichern(pID);
    format(msg, sizeof(msg),"Du hast von einem Admin geld überwiesen bekommen.");
    SendClientMessage(pID,BLAU,msg);
    return 1;
    }


    mfg. :thumbup:

    Abgefragt werden die so


    1. Das meine ich nicht, sondern wie du die Produkte prüfst ;)


    Schleife schön und gut wenn aber der rest nicht geht würde die schleife auch nix Bringen vorallem da ich die werte nacher noch änder das nicht jeder truck gleich viel hat


    Weiß ich selbst, deshalb sagte ich Zusatz Info ;)


    Wieder Zusatzinfo
    Das kann man auch wieder in 1ner Zeile schreiben:
    stock IsATruckerVeh(carid) {
    for(new i; i<sizeof(TruckerVeh); i++) if(carid == TruckerVeh[i]) return 1;
    return 0;
    }


    mfg. :thumbup:

    1. Wie groß ist:


    TruckerVeh[0]? lass dir das mal über ein printf("%d",TruckerVeh[0]); ausgeben ;)


    2. Wie fragst du das ab?


    Zusatz Information
    Du brauchst keine 20 Zeilen immer dahin schreiben..es würde auch eine Schleife tun:
    for(new i; i<sizeof(TruckerVeh); i++) PlayerHaul[TruckerVeh[i]][pCapasity] = 500;


    mfg. :thumbup:

    1. Schreibs so:


    public OnPlayerText(playerid, text[])
    {
    new string[144],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string, sizeof(string), "%s sagt: %s",name,text);
    return Message(playerid,string,20),0;
    }


    2. Schreib es so:


    public UpdateClock()
    {
    new x[3],String[256];
    gettime(x[0],x[1],x[2]);
    format(String,sizeof(String),"%02d:%02d:%02d",x[0],x[1],x[2]);
    TextDrawSetString(RealClock,String),SetWorldTime(x[0]);
    return 1;
    }


    3. So:


    ocmd:ao(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin]< 2) return SendClientMessage(playerid,0xFF0000,"Du bist kein Admin!");
    new string[144],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!params[0])return SendClientMessage(playerid,0xFF0000,"Tippe: /ao [TEXT]");
    format(string,sizeof(string),"** Admin %s: %s",name,params);
    for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SendClientMessage(i,COLOR_AOCHAT,string);
    return 1;
    }


    mfg. :thumbup:

    Muss ich das speichern Könntes du code vorschlag schreiben ?


    Das musst du doch wissen? :huh:


    Willst du es denn speichern? Soll also das Pickup noch nach einem Server Restart angezeigt werden bzw wenn der Spieler disconnected? :huh:


    Meiner Meinung nach...würde sich das nicht rentieren...also nein.


    Du benötigst keinen Enumerator, du benötigst nicht einmal Globale Variablen, einfach so:


    //Unter OnPlayerDeath
    new Float:dPos[3],name[MAX_PLAYER_NAME],str[MAX_PLAYER_NAME + 20];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,dPos[0],dPos[1],dPos[2]);
    CreatePickup(1239, 23, dPos[0],dPos[1],dPos[2]); //modelid ändern 1239 = i kein Totenkopf :D
    format(str,sizeof str,"Gestorben ist hier:\n%s",name); //Kannst den Text beliebig ändern
    Create3DTextLabel(text,0xFF4800FF,dPos[0],dPos[1],dPos[2],20.0,0,0); //Erstellt das 3DLabel


    PS: Dies wird da bleiben bis zum Restart...allerdings wird wenn er 2x gestorben ist wird das halt an 2 Orten angezeigt..wolltest du das so? :huh:


    mfg. :thumbup:

    Naja. Ich weiss ja nicht weil tsuserid soll die Eindeutige ID sein: z.b. ajMvTCVPY9bupybnU1BdSk0Za1U=


    Sag das doch...das du diese tsID meinst :rolleyes:


    Dann musst du es so machen:


    format(tsuserid, 128, inputtext);


    Meine Meinung
    Allerdings erachte ich deine Vorgehensweise als falsch.
    Schließlich hat jeder Spieler eine Ts³ Userid..somit brauch jeder Spieler diese Variable.
    Weiterhin ist diese ID keine 128 Zeichen lang, sondern nur 28.

    Meine Meinung
    Sprich deine Variable sollte so aussehen:

    Meine Meinung
    new tsuserid[MAX_PLAYERS][28];

    Meine Meinung
    //und dann so nutzen:
    format(tsuserid[playerid], 28, intputtext);


    mfg. :thumbup: