Angepinnt [SAMMELTHREAD] Kleine Scripting Fragen

  • und wie lass ich die kasse dann bei gamemodeexit speichern ohne den error tag mismatch zu bekommen?
    Scripte momentan allein an meinem ersten Gamemode (Selfmade). Ob dieser für ein Projekt verwendet wird, oder in Optimierter Form für Anfänger veröffentlicht wird, steht offen, bis ich alles wichtige für einen Reallife Server fertig gescriptet habe.
    Momentan fehlt mir allerdings die Zeit, Maps zu entwickeln. Sollte jemand Spaß am Mappen haben und sich dafür interessieren, mir zu helfen, kann mir ja gern eine PN hinterlassen!
  • trotzdem tag mismatch
    Scripte momentan allein an meinem ersten Gamemode (Selfmade). Ob dieser für ein Projekt verwendet wird, oder in Optimierter Form für Anfänger veröffentlicht wird, steht offen, bis ich alles wichtige für einen Reallife Server fertig gescriptet habe.
    Momentan fehlt mir allerdings die Zeit, Maps zu entwickeln. Sollte jemand Spaß am Mappen haben und sich dafür interessieren, mir zu helfen, kann mir ja gern eine PN hinterlassen!
  • PAWN-Quellcode

    1. public OnGameModeExit()
    2. {
    3. new fkasse[100];
    4. format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    5. if(dini_Exists(fkasse))
    6. {
    7. dini_IntSet(fkasse,"Grove",Kasse[Grove]);
    8. }
    9. for(new i = 0; i < MAX_PLAYERS; i++)
    10. {
    11. if(!IsPlayerConnected(i))
    12. {
    13. sSpieler[i][sLogin] = 0;
    14. SpielerSpeichern(i);
    15. aDuty[i] = 0;
    16. LieferantStart[i] = 0;
    17. LieferantLieferschein[i] = 0;
    18. PilotWare[i] = 0;
    19. Mute[i] = 0;
    20. Fahrschule[i] = 0;
    21. Automiete[i] = 0;
    22. GmbHWarenLSPD[i] = 0;
    23. }
    24. }
    25. return 1;
    26. }
    Alles anzeigen


    C:\Users\PM\Desktop\SA-MP Server\gamemodes\selfmade.pwn(415) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.
    Scripte momentan allein an meinem ersten Gamemode (Selfmade). Ob dieser für ein Projekt verwendet wird, oder in Optimierter Form für Anfänger veröffentlicht wird, steht offen, bis ich alles wichtige für einen Reallife Server fertig gescriptet habe.
    Momentan fehlt mir allerdings die Zeit, Maps zu entwickeln. Sollte jemand Spaß am Mappen haben und sich dafür interessieren, mir zu helfen, kann mir ja gern eine PN hinterlassen!

    Beitrag von NoxiZ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Problem selbst gefunden trotzdem danke ().
  • Gut nächstes problem!
    ich habe alle für die Fraktionskassen im Script nun funktionieren aber alle commands mit integern nichtmehr.
    wenn ich z.b. mich zum ballas leader machen will mit /makeleader 0 2 werd ich in die fraktion mit wert 1 gesetzt.
    außerde funktionier die funktion

    PAWN-Quellcode

    1. if(pid == INVALID_PLAYER_ID)
    nichtmehr, weil dort mit return der befehl trotzdem ausgeführt wird.

    ich poste mal alles was mit dem frakkassen zutun hat, vlt ist da ein gravierender fehler drin:

    PAWN-Quellcode

    1. enum Fraktionskassen
    2. {
    3. Grove,
    4. Ballas,
    5. LSPD,
    6. LSMD,
    7. FS,
    8. Transport
    9. };
    10. new Kasse[Fraktionskassen];
    11. public OnGameModeInit()
    12. {
    13. SetGameModeText("Selfmade");
    14. DisableInteriorEnterExits(); //Deaktiviert alle Interiors
    15. UsePlayerPedAnims(); //Aktiviert CJ Walkstyle für alle Skins
    16. EnableStuntBonusForAll(0); //Deaktiviert den Stuntbonus für alle Spieler
    17. new fkasse[100];
    18. format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    19. if(dini_Exists(fkasse))
    20. {
    21. Fkasseladen();
    22. print("Fraktionskassen.txt wurde geladen!");
    23. }
    24. else
    25. {
    26. CreateFkasse();
    27. }
    28. public OnGameModeExit()
    29. {
    30. Fkassespeichern();
    31. ocmd:fkasse(playerid,params[])
    32. {
    33. new leader[256];
    34. new geldgs = Kasse[Grove],geldbs = Kasse[Ballas],geldpd = Kasse[LSPD],geldmd = Kasse[LSMD],geldfs = Kasse[FS], geldgmbh = Kasse[Transport];
    35. if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,FehlerRot,"Du bist kein Leader!");
    36. if(sSpieler[playerid][Leader] == 1)
    37. {
    38. Kasse[Grove] = geldgs;
    39. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgs);
    40. SendClientMessage(playerid,FrakGrau,leader);
    41. }
    42. if(sSpieler[playerid][Leader] == 2)
    43. {
    44. Kasse[Grove] = geldbs;
    45. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldbs);
    46. SendClientMessage(playerid,FrakGrau,leader);
    47. }
    48. if(sSpieler[playerid][Leader] == 3)
    49. {
    50. Kasse[Grove] = geldpd;
    51. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldpd);
    52. SendClientMessage(playerid,FrakGrau,leader);
    53. }
    54. if(sSpieler[playerid][Leader] == 4)
    55. {
    56. Kasse[Grove] = geldmd;
    57. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldmd);
    58. SendClientMessage(playerid,FrakGrau,leader);
    59. }
    60. if(sSpieler[playerid][Leader] == 5)
    61. {
    62. Kasse[Grove] = geldfs;
    63. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldfs);
    64. SendClientMessage(playerid,FrakGrau,leader);
    65. }
    66. if(sSpieler[playerid][Leader] == 6)
    67. {
    68. Kasse[Grove] = geldgmbh;
    69. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgmbh);
    70. SendClientMessage(playerid,FrakGrau,leader);
    71. }
    72. return 1;
    73. }
    74. //FRAKTIONSKASSEN
    75. stock CreateFkasse()
    76. {
    77. new fkasse[100];
    78. format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    79. dini_Create(fkasse);
    80. dini_IntSet(fkasse,"Grove",0);
    81. dini_IntSet(fkasse,"Ballas",0);
    82. dini_IntSet(fkasse,"LSPD",0);
    83. dini_IntSet(fkasse,"LSMD",0);
    84. dini_IntSet(fkasse,"Fahrschule",0);
    85. dini_IntSet(fkasse,"Transport GmbH",0);
    86. return 1;
    87. }
    88. stock Fkassespeichern()
    89. {
    90. new fkasse[100];
    91. format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    92. if(dini_Exists(fkasse))
    93. {
    94. dini_IntSet(fkasse,"Grove",Kasse[Grove]);
    95. dini_IntSet(fkasse,"Ballas",Kasse[Ballas]);
    96. dini_IntSet(fkasse,"LSPD",Kasse[LSPD]);
    97. dini_IntSet(fkasse,"LSMD",Kasse[LSMD]);
    98. dini_IntSet(fkasse,"Fahrschule",Kasse[FS]);
    99. dini_IntSet(fkasse,"Transport GmbH",Kasse[Transport]);
    100. }
    101. return 1;
    102. }
    103. stock Fkasseladen()
    104. {
    105. new fkasse[100];
    106. format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt");
    107. if(dini_Exists(fkasse))
    108. {
    109. Kasse[Grove] = dini_Int(fkasse,"Grove");
    110. Kasse[Ballas] = dini_Int(fkasse,"Ballas");
    111. Kasse[LSPD] = dini_Int(fkasse,"LSPD");
    112. Kasse[LSMD] = dini_Int(fkasse,"LSMD");
    113. Kasse[FS] = dini_Int(fkasse,"Fahrschule");
    114. Kasse[Transport] = dini_Int(fkasse,"Transport GmbH");
    115. }
    116. return 1;
    117. }
    Alles anzeigen


    da muss was sein, weil die commands vor dem einfügen dieser zeilen einwandfrei funktioniert haben.
    Scripte momentan allein an meinem ersten Gamemode (Selfmade). Ob dieser für ein Projekt verwendet wird, oder in Optimierter Form für Anfänger veröffentlicht wird, steht offen, bis ich alles wichtige für einen Reallife Server fertig gescriptet habe.
    Momentan fehlt mir allerdings die Zeit, Maps zu entwickeln. Sollte jemand Spaß am Mappen haben und sich dafür interessieren, mir zu helfen, kann mir ja gern eine PN hinterlassen!
  • PAWN-Quellcode

    1. ocmd:fkasse(playerid,params[])
    2. {
    3. new leader[256];
    4. new geldgs = Kasse[Grove],geldbs = Kasse[Ballas],geldpd = Kasse[LSPD],geldmd = Kasse[LSMD],geldfs = Kasse[FS], geldgmbh = Kasse[Transport];
    5. if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,FehlerRot,"Du bist kein Leader!");
    6. if(sSpieler[playerid][Leader] == 1)
    7. {
    8. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgs);
    9. SendClientMessage(playerid,FrakGrau,leader);
    10. return 1;
    11. }
    12. else if(sSpieler[playerid][Leader] == 2)
    13. {
    14. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldbs);
    15. SendClientMessage(playerid,FrakGrau,leader);
    16. return 1;
    17. }
    18. else if(sSpieler[playerid][Leader] == 3)
    19. {
    20. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldpd);
    21. SendClientMessage(playerid,FrakGrau,leader);
    22. return 1;
    23. }
    24. else if(sSpieler[playerid][Leader] == 4)
    25. {
    26. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldmd);
    27. SendClientMessage(playerid,FrakGrau,leader);
    28. return 1;
    29. }
    30. else if(sSpieler[playerid][Leader] == 5)
    31. {
    32. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldfs);
    33. SendClientMessage(playerid,FrakGrau,leader);
    34. return 1;
    35. }
    36. else if(sSpieler[playerid][Leader] == 6)
    37. {
    38. format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgmbh);
    39. SendClientMessage(playerid,FrakGrau,leader);
    40. }
    41. return 1;
    42. }
    Alles anzeigen


    schreib mir mal eine PN ich helfe dir gerne

    LG,
    Genadj_Andrenov

    Art: Roleplay
    Script-Fortschritt: 25%
    Script-Features: Bleibt Geheim
    Script-Zeilen: -Muss man nicht wissen den die Features sind das wichtigste!-
    Projektname: -Bleibt derzeit Geheim!-



    Uhrheberrechtshinweis: Die Symbole(Icons) sind nicht selbst erstellt sondern gehören IconArchive.com

  • NoxiZ schrieb:

    Gut nächstes problem!
    ich habe alle für die Fraktionskassen im Script nun funktionieren aber alle commands mit integern nichtmehr.
    wenn ich z.b. mich zum ballas leader machen will mit /makeleader 0 2 werd ich in die fraktion mit wert 1 gesetzt.
    außerde funktionier die funktion

    PAWN-Quellcode

    1. if(pid == INVALID_PLAYER_ID)
    nichtmehr, weil dort mit return der befehl trotzdem ausgeführt wird.

    ich poste mal alles was mit dem frakkassen zutun hat, vlt ist da ein gravierender fehler drin:

    PAWN-Quellcode

    1. enum Fraktionskassen{ Grove, Ballas, LSPD, LSMD, FS, Transport};new Kasse[Fraktionskassen];public OnGameModeInit(){ SetGameModeText("Selfmade"); DisableInteriorEnterExits(); //Deaktiviert alle Interiors UsePlayerPedAnims(); //Aktiviert CJ Walkstyle für alle Skins EnableStuntBonusForAll(0); //Deaktiviert den Stuntbonus für alle Spieler new fkasse[100]; format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt"); if(dini_Exists(fkasse)) { Fkasseladen(); print("Fraktionskassen.txt wurde geladen!"); } else { CreateFkasse(); }public OnGameModeExit(){ Fkassespeichern();ocmd:fkasse(playerid,params[]) { new leader[256]; new geldgs = Kasse[Grove],geldbs = Kasse[Ballas],geldpd = Kasse[LSPD],geldmd = Kasse[LSMD],geldfs = Kasse[FS], geldgmbh = Kasse[Transport]; if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,FehlerRot,"Du bist kein Leader!"); if(sSpieler[playerid][Leader] == 1) { Kasse[Grove] = geldgs; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgs); SendClientMessage(playerid,FrakGrau,leader); } if(sSpieler[playerid][Leader] == 2) { Kasse[Grove] = geldbs; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldbs); SendClientMessage(playerid,FrakGrau,leader); } if(sSpieler[playerid][Leader] == 3) { Kasse[Grove] = geldpd; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldpd); SendClientMessage(playerid,FrakGrau,leader); } if(sSpieler[playerid][Leader] == 4) { Kasse[Grove] = geldmd; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldmd); SendClientMessage(playerid,FrakGrau,leader); } if(sSpieler[playerid][Leader] == 5) { Kasse[Grove] = geldfs; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldfs); SendClientMessage(playerid,FrakGrau,leader); } if(sSpieler[playerid][Leader] == 6) { Kasse[Grove] = geldgmbh; format(leader,sizeof(leader),"Es sind %d$ in der Fraktionskasse!",geldgmbh); SendClientMessage(playerid,FrakGrau,leader); } return 1;}//FRAKTIONSKASSENstock CreateFkasse(){ new fkasse[100]; format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt"); dini_Create(fkasse); dini_IntSet(fkasse,"Grove",0); dini_IntSet(fkasse,"Ballas",0); dini_IntSet(fkasse,"LSPD",0); dini_IntSet(fkasse,"LSMD",0); dini_IntSet(fkasse,"Fahrschule",0); dini_IntSet(fkasse,"Transport GmbH",0); return 1;}stock Fkassespeichern(){ new fkasse[100]; format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt"); if(dini_Exists(fkasse)) { dini_IntSet(fkasse,"Grove",Kasse[Grove]); dini_IntSet(fkasse,"Ballas",Kasse[Ballas]); dini_IntSet(fkasse,"LSPD",Kasse[LSPD]); dini_IntSet(fkasse,"LSMD",Kasse[LSMD]); dini_IntSet(fkasse,"Fahrschule",Kasse[FS]); dini_IntSet(fkasse,"Transport GmbH",Kasse[Transport]); } return 1;}stock Fkasseladen(){ new fkasse[100]; format(fkasse,sizeof(fkasse),"/Fraktionskassen.txt"); if(dini_Exists(fkasse)) { Kasse[Grove] = dini_Int(fkasse,"Grove"); Kasse[Ballas] = dini_Int(fkasse,"Ballas"); Kasse[LSPD] = dini_Int(fkasse,"LSPD"); Kasse[LSMD] = dini_Int(fkasse,"LSMD"); Kasse[FS] = dini_Int(fkasse,"Fahrschule"); Kasse[Transport] = dini_Int(fkasse,"Transport GmbH"); } return 1;}


    da muss was sein, weil die commands vor dem einfügen dieser zeilen einwandfrei funktioniert haben.
    Hey, du hast bei OnGameModeExit die Klammer } nicht. genauso wie bei OnGameModeInit.

    The most important innovations are those that change the thinking behavior

    Beitrag von psyk. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hey,
    wenn ich es so einstelle, dass man Leute auf der MiniMap sehen kann habe ich das Problem, dass die Bots auch angezeigt werden in der Farbe. Weiß jemand zufällig wie ich dies beheben kann? Und zudem wie stelle ich die Farbe "Transparent" auf der Minimap beim normalen User ein?

    Mfg
    Drake.
    Mit freundlichen Grüßen,
    psyk.
  • Neu

    Yo, wieso lässt sich nur ID 0 von der Datenbank editieren?

    PAWN-Quellcode

    1. stock GetClosestTree(playerid)
    2. {
    3. for(new i = 0; i < MAX_TREES; i++)
    4. {
    5. if(IsPlayerInRangeOfPoint(playerid, TREE_RANGE, TreeInfo[i][Tree_X], TreeInfo[i][Tree_Y], TreeInfo[i][Tree_Z]) && TreeInfo[i][Tree_Editmode] == 1)
    6. {
    7. SetPlayerProgressBarValue(playerid, CutProgressBar[playerid], TreeInfo[i][Tree_HP]);
    8. return i;
    9. }
    10. i++;
    11. }
    12. return -1;
    13. }
    Alles anzeigen


    PAWN-Quellcode

    1. CMD:editbaum(playerid, params[])
    2. {
    3. if(!IsPlayerAdmin(playerid))
    4. {
    5. return SendClientMessage(playerid, TREE_RED, "Du darfst diesen Befehl nicht benutzen!");
    6. }
    7. new id = GetClosestTree(playerid);
    8. if(id != -1)
    9. {
    10. DestroyDynamic3DTextLabel(TreeInfo[id][Tree_Label_ID]);
    11. PlayerBank[playerid][pEditingID] = id;
    12. SendClientMessage(playerid, TREE_RED, "{FFFF00}~k~~PED_SPRINT~{FFFFFF} halten um die Kamerasicht zu ändern."); //Taste wird von Spielereinstellung erkannt, nicht ändern!
    13. EditDynamicObject(playerid, TreeInfo[id][Tree_Object]);
    14. return 1;
    15. }
    16. else
    17. {
    18. SendClientMessage(playerid, TREE_RED, "Du musst in der Nähe von einem Baum sein um es editieren zu können!");
    19. }
    20. return 1;
    21. }
    Alles anzeigen

    Mit freundlichen Grüßen
    JustMe.77 :)
  • Neu

    JustMe.77 schrieb:

    stock GetClosestTree(playerid)
    {
    for(new i = 0; i < MAX_TREES; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, TREE_RANGE, TreeInfo[Tree_X], TreeInfo[i][Tree_Y], TreeInfo[i][Tree_Z]) && TreeInfo[i][Tree_Editmode] == 1)
    {
    SetPlayerProgressBarValue(playerid, CutProgressBar[playerid], TreeInfo[i][Tree_HP]);
    return i;
    }
    i++; //was das
    }
    return -1;
    }
    Warum hast du da 2x i++?
    Du überspringst somit immer einen Baum.
    seekrass approved
  • Neu

    Quellcode

    1. if(newstate == PLAYER_STATE_DRIVER)
    2. {
    3. new vehicleid = GetPlayerVehicleID(playerid);
    4. for(new i = 0; i < sizeof(pCarshop); i++)
    5. {
    6. if(pCarshop[i][shopVehicleID] != vehicleid)
    7. continue;
    8. new header[64], DialogString[4096];
    9. format(header, sizeof(header), "{FFFFFF}%s", Fahrzeugname[pCarshop[i][shopModelID] - 400]);
    10. strdel(DialogString, 0, sizeof(DialogString));
    11. format(DialogString, sizeof(DialogString), "{247BA6}Fahrzeugpreis:{FFFFFF} %s\nKraftstoffverbrauch: {FFFFFF}Coming Soon\n{247BA6}Tankfassungsvermögen: {FFFFFF}Coming Soon\n{247BA6}Mindestlevel: {FFFFFF}Coming Soon\n{247BA6}KFZ Steuer: {FFFFFF}Coming Soon", pCarshop[i][shopPrice]);
    12. ShowPlayerDialog(playerid, DIALOG_CARSHOP, DIALOG_STYLE_MSGBOX, header, DialogString, "Kaufen", "Aussteigen");
    13. }
    14. }
    Alles anzeigen
    Hey, kann mir jemand sagen warum mir der Dialog nicht angezeigt wird?