Angepinnt [SAMMELTHREAD] Kleine Scripting Fragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

  • Hey, ich habe den "stay with the world boundaries" Fehler.
    Ich habe keine Errors/Warnings und mein OnPlayerSpawn sieht wie folgt aus:

    PAWN-Quellcode

    1. public OnPlayerSpawn(playerid)
    2. {
    3. if(PlayerInfo[playerid][pSpawntyp] == 1){
    4. SetPlayerPos(playerid, fInfo[PlayerInfo[playerid][pFraction]][fSpawn_X], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Y], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Z]);
    5. SetPlayerFacingAngle(playerid, fInfo[PlayerInfo[playerid][pFraction]][fSpawn_R]);
    6. }else{
    7. //SetPlayerPos(playerid, -2446.1797,2512.5159,15.7003);
    8. //SetPlayerFacingAngle(playerid, 279.0161);
    9. SetPlayerPos(playerid, 0.0,0.0,0.0);
    10. SetPlayerFacingAngle(playerid, 0.0);
    11. }
    12. if(PlayerInfo[playerid][pPremium] == 1){
    13. GivePlayerWeapon(playerid, 24, 50);
    14. }
    15. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
    16. return 1;
    17. }
    Alles anzeigen


    Wobei man sagen muss das mein Spawntyp = 0 ist.
    Ich hoffe ihr habt Ideen.
  • Sieht nun so aus.
    Dennoch der selbe Fehler...
    Hab ich was falsch gemacht @Kaliber

    PAWN-Quellcode

    1. public OnPlayerSpawn(playerid)
    2. {
    3. if(PlayerInfo[playerid][pSpawntyp] == 1){
    4. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_X], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Y], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Z], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_R], 0, 0, 0, 0, 0, 0);
    5. }else{
    6. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], -2446.1797, 2512.5159, 15.7003, 279.0161, 0, 0, 0, 0, 0, 0);
    7. }
    8. if(PlayerInfo[playerid][pPremium] == 1){
    9. GivePlayerWeapon(playerid, 24, 50);
    10. }
    11. return 1;
    12. }
    Alles anzeigen
  • Weiß jemand wieso mein /set nicht funktioniert?
    Er speichert überhaupt nichts.

    PAWN-Quellcode

    1. COMMAND:set(playerid, params[])
    2. {
    3. new id, item[25], ammount;
    4. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    5. SendClientMessage(playerid, -1, "Verfügbare Items: Adminlevel, Bargeld, Bankkonto, Festgeld, Leben, Rüstung, Premium");
    6. SendClientMessage(playerid, -1, "Verfügbare Items: Skin, Level, Kills, Tode, Fraktion, Rang");
    7. if(sscanf(params, "us[25]i", id, item, ammount))return SendClientMessage(playerid, COLOR_TIP,"Tippe: /set [playerid] [item] [wert] ");
    8. if(strcmp(item, "Adminlevel", true) == 0)
    9. {
    10. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    11. {
    12. new string[128];
    13. format(string,sizeof(string),"Das System hat dir das Adminlevel %s(Adminlevel: %d) gegeben.", a_rang[ammount],ammount);
    14. SendClientMessage(id, COLOR_SYSTEM, string);
    15. PlayerInfo[id][pAdmin] = ammount;
    16. SaveUserStats(id);
    17. return 1;
    18. }
    19. }
    20. if(strcmp(item, "Bargeld", true) == 0)
    21. {
    22. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    23. {
    24. new string[128];
    25. format(string,sizeof(string),"Das System hat dein Bargeld auf %d$ gesetzt.", ammount);
    26. SendClientMessage(id, COLOR_SYSTEM, string);
    27. PlayerInfo[id][pMoney] = ammount;
    28. SaveUserStats(id);
    29. return 1;
    30. }
    31. }
    32. if(strcmp(item, "Bankkonto", true) == 0)
    33. {
    34. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    35. {
    36. new string[128];
    37. format(string,sizeof(string),"Das System hat dein Bankkonto auf %d$ gesetzt.", ammount);
    38. SendClientMessage(id, COLOR_SYSTEM, string);
    39. PlayerInfo[id][pBmoney] = ammount;
    40. SaveUserStats(id);
    41. return 1;
    42. }
    43. }
    44. if(strcmp(item, "Festgeld", true) == 0)
    45. {
    46. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    47. {
    48. if(ammount >= 1250000)return SendClientMessage(playerid, COLOR_ERROR, "Du kannst nur 1.250.000$ als Festgeld anlegen");
    49. new string[128];
    50. format(string,sizeof(string),"Das System hat dein Festgeld auf %d$ gesetzt.", ammount);
    51. SendClientMessage(id, COLOR_SYSTEM, string);
    52. PlayerInfo[id][pFmoney] = ammount;
    53. SaveUserStats(id);
    54. return 1;
    55. }
    56. }
    57. if(strcmp(item, "Leben", true) == 0)
    58. {
    59. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    60. {
    61. new string[128];
    62. format(string,sizeof(string),"Das System hat dein Leben auf %d gesetzt.", ammount);
    63. SendClientMessage(id, COLOR_SYSTEM, string);
    64. SetPlayerHealth(id,ammount);
    65. SaveUserStats(id);
    66. return 1;
    67. }
    68. }
    69. if(strcmp(item, "Rüstung", true) == 0)
    70. {
    71. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    72. {
    73. new string[128];
    74. format(string,sizeof(string),"Das System hat deine Rüstugn auf %d gesetzt.", ammount);
    75. SendClientMessage(id, COLOR_SYSTEM, string);
    76. SetPlayerArmour(id, ammount);
    77. SaveUserStats(id);
    78. return 1;
    79. }
    80. }
    81. if(strcmp(item, "Premium", true) == 0)
    82. {
    83. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    84. {
    85. new string[128];
    86. format(string,sizeof(string),"Das System hat dein Premiumstatus auf %d gesetzt.", ammount);
    87. SendClientMessage(id, COLOR_SYSTEM, string);
    88. PlayerInfo[id][pPremium] = ammount;
    89. SaveUserStats(id);
    90. return 1;
    91. }
    92. }
    93. if(strcmp(item, "Skin", true) == 0)
    94. {
    95. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    96. {
    97. new string[128];
    98. format(string,sizeof(string),"Das System hat deinen Skin auf %d gesetzt.", ammount);
    99. SendClientMessage(id, COLOR_SYSTEM, string);
    100. PlayerInfo[id][pSkin] = ammount;
    101. SetPlayerSkin(id, ammount);
    102. SaveUserStats(id);
    103. return 1;
    104. }
    105. }
    106. if(strcmp(item, "Level", true) == 0)
    107. {
    108. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    109. {
    110. new string[128];
    111. format(string,sizeof(string),"Das System hat deinen Level auf %d gesetzt.", ammount);
    112. SendClientMessage(id, COLOR_SYSTEM, string);
    113. PlayerInfo[id][pLevel] = ammount;
    114. SaveUserStats(id);
    115. return 1;
    116. }
    117. }
    118. if(strcmp(item, "Kills", true) == 0)
    119. {
    120. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    121. {
    122. new string[128];
    123. format(string,sizeof(string),"Das System hat deine Kills auf %d gesetzt.", ammount);
    124. SendClientMessage(id, COLOR_SYSTEM, string);
    125. PlayerInfo[id][pKills] = ammount;
    126. SaveUserStats(id);
    127. return 1;
    128. }
    129. }
    130. if(strcmp(item, "Tode", true) == 0)
    131. {
    132. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    133. {
    134. new string[128];
    135. format(string,sizeof(string),"Das System hat deine Tode auf %d gesetzt.", ammount);
    136. SendClientMessage(id, COLOR_SYSTEM, string);
    137. PlayerInfo[id][pDeaths] = ammount;
    138. SaveUserStats(id);
    139. return 1;
    140. }
    141. }
    142. if(strcmp(item, "Fraktion", true) == 0)
    143. {
    144. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    145. {
    146. new string[128];
    147. format(string,sizeof(string),"Das System hat deine Fraktion auf %d gesetzt.", ammount);
    148. SendClientMessage(id, COLOR_SYSTEM, string);
    149. PlayerInfo[id][pFraction] = ammount;
    150. SaveUserStats(id);
    151. return 1;
    152. }
    153. }
    154. if(strcmp(item, "Rang", true) == 0)
    155. {
    156. if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    157. {
    158. new string[128];
    159. format(string,sizeof(string),"Das System hat deinen Fraktionsrang auf %d gesetzt.", ammount);
    160. SendClientMessage(id, COLOR_SYSTEM, string);
    161. PlayerInfo[id][pRang] = ammount;
    162. SaveUserStats(id);
    163. return 1;
    164. }
    165. }
    166. return 1;
    167. }
    Alles anzeigen


    PAWN-Quellcode

    1. stock SaveUserStats(playerid)
    2. {
    3. //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
    4. if(!PlayerInfo[playerid][pLoggedIn]) return 1;
    5. //Ansonsten speichere sie
    6. new query[1024];
    7. mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', bmoney = '%d', fmoney = '%d', kills = '%d', deaths = '%d', admin = '%d', skin = '%d', spawntyp = '%d', fraction = '%d', rang = '%d', leader = '%d', wanted = '%d', wantedreason = '%s', premium = '%d', banned = '%d', banadmin = '%s', banreason = '%s', contracted = '%d', kaution = '%d' WHERE name = '%e'",
    8. PlayerInfo[playerid][pLevel], GetPlayerMoney(playerid), PlayerInfo[playerid][pBmoney], PlayerInfo[playerid][pFmoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pSpawntyp], PlayerInfo[playerid][pFraction], PlayerInfo[playerid][pRang], PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pWanted], PlayerInfo[playerid][pWantedreason], PlayerInfo[playerid][pPremium],
    9. PlayerInfo[playerid][pBanned], PlayerInfo[playerid][pBanadmin], PlayerInfo[playerid][pBanreason], PlayerInfo[playerid][pContracted], PlayerInfo[playerid][pKaution], PlayerInfo[playerid][pName]);
    10. //Das Query wird abgesendet
    11. mysql_pquery(handle, query);
    12. printf("Account gespeichert - Name: %s", PlayerInfo[playerid][pName]);
    13. return 1;
    14. }
    Alles anzeigen
  • BrightLeaN schrieb:

    Wenn ich einem Anhänger eine Respawntime gebe, heißt ja wenn niemand im Fahrzeug ist...
    Oder respawnt mein Anhänger nicht, wenn dieser an einem LKW dran ist?
    Sagen wir mal aus Spaß du gibst ihm eine Respawn-Zeit von 5 Sekunden, dann gilt folgendes:

    1. Verschiebst du den Anhänger, respawnt dieser nicht, diese ganze respawn Zeit wird erst getriggert durch das Anhängen an ein Fahrzeug.
    2. 5 Sekunden nachdem der Anhänger entkuppelt wurde, respawnt er.
    3. 5 Sekunden nachdem der Fahrer ausgestiegen ist, respawnt der Anhänger.
    4. Ist der Spieler im Fahrzeug, aber 5 Sekunden AFK, respawnt der Anhänger leider auch.


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/

  • BrightLeaN schrieb:

    Warum auch immer man den 4. Punkt eingeführt hat, sehr fragwürdig...
    Naja technisch betrachtet, wenn man auf dem Desktop ist, befindet man sich nicht wirklich im Fahrzeug (deshalb greift Punkt 3)

    Ob das mit dem respawn sinnvoll ist oder nicht, das musst du entscheiden xD

    Aber klingt ganz plausibel ;)


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/

    Beitrag von FutureStunt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Selbst gefixxt ().
  • Hey, die vorherigen Probleme konnte ich lösen. Es hat eine Spalte in der Tabelle gefehlt. @Kaliber

    Kannst du mir mal nen Denkanstoß geben wieso mein Befehl nicht funktioniert?
    Ich erstelle eine Schleife und gehe Schritt für Schritt durch alle Pickups durch(Pickup ist erstellt).
    Leider kann ich es nicht betreten.

    PAWN-Quellcode

    1. COMMAND:enter(playerid)
    2. {
    3. for(new i=0; i<MAX_ENTERPICKUPS; i++)
    4. {
    5. if(IsPlayerInRangeOfPoint(playerid, pickInfo[i][pickEnter_X], pickInfo[i][pickEnter_Y], pickInfo[i][pickEnter_Z], 5.0)){
    6. SetPlayerPos(playerid, pickInfo[i][pickExit_X], pickInfo[i][pickExit_Y], pickInfo[i][pickExit_Z]);
    7. SetPlayerInterior(playerid, pickInfo[i][pickInterior]);
    8. }else{
    9. SendClientMessage(playerid, -1, "Du bist an keinem Eingang");
    10. }
    11. }
    12. return 1;
    13. }
    Alles anzeigen

    Beitrag von itsMagic. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Du hast die Parameter in IsPlayerInRangeOfPoint vertauscht.

    Mach es so:


    C-Quellcode

    1. COMMAND:enter(playerid)
    2. {
    3. new i = GetInteriorEnterIndex(playerid);
    4. if(i == -1) return SendClientMessage(playerid, -1, "Du bist an keinem Eingang");
    5. SetPlayerPos(playerid, pickInfo[i][pickExit_X], pickInfo[i][pickExit_Y], pickInfo[i][pickExit_Z]);
    6. SetPlayerInterior(playerid, pickInfo[i][pickInterior]);
    7. return 1;
    8. }
    9. stock GetInteriorEnterIndex(playerid)
    10. {
    11. for(new i; i<MAX_ENTERPICKUPS; i++)
    12. {
    13. if(IsPlayerInRangeOfPoint(playerid, 5.0, pickInfo[i][pickEnter_X], pickInfo[i][pickEnter_Y], pickInfo[i][pickEnter_Z])) return i;
    14. }
    15. return -1;
    16. }
    Alles anzeigen
    Das hat den Vorteil, dass du die Funktion immer wieder verwenden kannst.


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Kaliber schrieb:

    Madness schrieb:

    Und zwar rechnet er keine 3.5 Prozent Zinsen auf das Geld, warum ?
    Was steht denn in der Variable Festgeld?
    Was ist der Unterschied zwischen pFestgeld und Festgeld?
    Festgeld ist sowas wie ein Sparbuch, wo Er 3.5 Prozent Zinsen kriegt.

    Das Festgeld ist unterschiedlich hoch mal 350000 oder mehr als 1000000...
    Mit freundlichen Grüßen
    ArcadioN
  • Kaliber schrieb:

    Ja, aber auf was soll er jetzt Zinsen bekommen?

    Mach das mal ein Pseudo-Beispiel..

    Zum Beispiel:

    pFestgeld = 5$
    Festegld = 100$
    Zinsen auf beides?! 105$ davon 3% Zinsen = 3.15$ die er zusätzlich bekommt?!

    PAWN-Quellcode

    1. floatround(Spieler[playerid][pFestgeld]/3.5);
    2. Spieler[playerid][pKonto] += Spieler[playerid][pFestgeld];
    3. format(string,sizeof(string),"* SYSTEM hat dir %d$ überwiesen. Betreff: Festgeld Auszahlung (3.50% Zinsen)",Spieler[playerid][pFestgeld]);
    4. SendClientMessage(playerid,Gruen,string);


    Er soll nur auf das Festgeld die 3.5 Prozent Zinsen bekommen.
    Mit freundlichen Grüßen
    ArcadioN