Beiträge von Hefti

    Die ersten paar Error's kommen wegen einer oder mehreren im Editor zu langen Zeilen.
    Beim letzten Error hast du warscheinlich vergessen die Variable "fexist" zu deklarieren.

    Du kannst den Inputtext mithilfe von Sscanf oder strval speichern. Hier ein kleines Beispiel zu beiden Möglichkeiten:


    Sscanf:
    sscanf(inputtext,"i",SpielerInfo[playerid][pBankPin]);


    strval:
    SpielerInfo[playerid][pBankPin] = strval(inputtext);

    Habe jetzt schon länger nicht mehr gescripted, würde aber sagen das du beim Laden erstmal das Geld aus der Userdatei laden musst (weiß nicht genau wie es mit dini funktioniert), und dann mit GivePlayerMoney ihm das Geld gibst.

    So wie Kaliber das gemacht hat, ist das schon richtig. Man kann sofort dem Spieler das Geld per GivePlayerMoney geben.

    Larso99 möchte, dass jeder Spieler einen Text über seinen Kopf hat, sofern er ein Wantedlevel hat. Diesen Text könnte man dem Spieler direkt beim Suspect-Befehl geben, jedoch sollte man darauf achten, dass jeder Spieler der mit einem Wantedlevel spawnt sofort diesen Text bekommt.


    Den Text kann man beispielsweise derartig erstellen:
    new Text3D:Wantedlevel = Create3DTextLabel("Wanted/Gesucht",0xFFDC00FF,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Name,playerid,0.0,0.0,0.5);

    Wenn ein Spieler die Taste drückt, dann fragst du ab, ob sich die Person in einen deiner Pickups befindet. Wenn er sich in einen deiner Pickups befindet, portest du ihm zum dementsprechenden Ziel. So einfach ist das.

    Wie wäre es denn einfach beim Zahltag abzufragen welchen Fraktionsrang der Spieler hat, um ihm dann dementsprechend viel Geld zugeben?
    Das gleiche musst du dann mit dem extra Gehalt vom Nebenjob machen. Wenn du ihm den Gesamtgehalt anzeigen lassen willst, dann musst du beide Gehälter (Werte) addieren und die Summe in einer Variable abspeichern.


    Kleines Beispiel:


    new Gehalt,string[128]; // Variable "Gehalt" wird deklariert
    switch(PlayerInfo[playerid][pLeader])
    {
    case 1:{PlayerInfo[playerid][pGehalt] = 10000;} //Wert wird vergeben
    case 2:{PlayerInfo[playerid][pGehalt] = 10000;}
    case 3:{PlayerInfo[playerid][pGehalt] = 10000;}
    }
    switch(PlayerInfo[playerid][pNebenjob])
    {
    case 1:{PlayerInfo[playerid][pNebenjobGehalt] = 10000;} //Wert wird vergeben
    case 2:{PlayerInfo[playerid][pNebenjobGehalt] = 10000;}
    case 3:{PlayerInfo[playerid][pNebenjobGehalt] = 10000;}
    }
    Gehalt = PlayerInfo[playerid][pGehalt] + PlayerInfo[playerid][pNebenjobGehalt]; //Summe aus pGehalt und pNebenjobGehalt wird in der Variable "Gehalt" gespeichert
    format(string,sizeof(string),"Zahltag - Sie haben $ %i verdient.",Gehalt);
    GivePlayerMoney(playerid,Gehalt); // Gehalt wird vergeben
    SendClientMessage(playerid,0xFF0041FF,string);
    return 1;

    Wenn du einen individuellen Zahltag scripten möchtest geht das in etwas so:


    SetPVarInt(playerid,"Zahltag",GetPVarInt(playerid,"Zahltag")+1); // In den Zahltag-Timer


    Bei einem allgemeinen Zahltag brauchst du nur zusätzlich noch eine Schleife:


    for(new i = 0;i < MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) continue;
    SetPVarInt(i,"Zahltag",GetPVarInt(i,"Zahltag")+1);
    }

    Deine Art zu scripten, also mithilfe von PVars ist in Ordnung. Man kann jedoch auch mit Enums arbeiten.
    Schau dir einfach ein paar Tutorials über PVars und Enums an.