Moin wieder mal ne frage ich habe das problem das ich dem spieler eine kettensäge gegeben habe aber wie kann ich nun nur die kettensäge entfernen ohne ihm alle waffen zu nehmen?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Moin wieder mal ne frage ich habe das problem das ich dem spieler eine kettensäge gegeben habe aber wie kann ich nun nur die kettensäge entfernen ohne ihm alle waffen zu nehmen?
C
Alles anzeigenstock RemovePlayerWeapon(playerid, weaponid) { new plyWeapons[13],plyAmmo[13]; for(new slot,wep,ammo; slot < 13; slot++) { GetPlayerWeaponData(playerid, slot, wep, ammo); if(wep != weaponid) { plyWeapons[slot] = wep, plyAmmo[slot] = ammo; } } ResetPlayerWeapons(playerid); for(new slot; slot < 13; slot++) { GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]); } } //Zum Entfernen der Kettensäge dann einfach: RemovePlayerWeapon(playerid, WEAPON_CHAINSAW);
-
Moin ich mal wieder
ich habe ein problem beim auslesen der der taschen items.
ich bekomme in der Konsole diese nachricht.
Code[debug] Run time error 4: "Array index out of bounds" [debug] Attempted to read/write array element at index 15 in array of size 15 [debug] AMX backtrace: [debug] #0 0002a3fc in public ocmd_bag (1, 1170828) in LV-LIFE.amx [debug] #1 native CallLocalFunction () in samp-server.exe [debug] #2 0000072c in public OnPlayerCommandText (1, 1170808) in LV-LIFE.amx
mein befehl dazu
Code
Alles anzeigenocmd:bag(playerid) { if(sInfo[playerid][tasche] == 0) return SendClientMessage(playerid,COLOR_RED,"*Du besitzt keine Tasche*"); if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,COLOR_RED,"*Du musst stehen um in deine Tasche zu sehen*"); ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In",4.1,0,0,0,1,0,1); SetPlayerAttachedObject(playerid, 1, 11745, 9, 0.0119, 0.2389, 0.3939, 114.8000, -91.6000, 0.5999, 1.0000, 1.0000, 1.0000, 0xFFFFFFFF, 0xFFFFFFFF); print("bag aufgerufen"); new string[1000],header[128]; print("string erstellt"); format(header,sizeof(header),"\t\t{FF9FBB}***Tasche von {FFFFFF}%s{FF9FBB}***\t\t",getPlayerName(playerid)); format(string,sizeof(string),"{FF9FBB}DB-INVID: {FFFFFF}%i{FF9FBB}\n______________________\n",tInfo[playerid][db_tid]); for(new i=1; i<sizeof(tInfo[]); i++) { print("schleife gestartet"); if(!tInfo[playerid][item][i]) continue; { printf("Item %s: %i",BagItems[i],tInfo[playerid][item][i]); switch (i) { case 7:{ format(string,sizeof(string),"%s{FF9FBB}%s:\t\t{FFFFFF}vorhanden\n",string,BagItems[i]); } case 8:{ format(string,sizeof(string),"%s{FF9FBB}%s:\t\t{FFFFFF}%s\n",string,BagItems[i],angelnamen[tInfo[playerid][item][i]]); } default:{ format(string,sizeof(string),"%s{FF9FBB}%s:\t{FFFFFF}%i {FF9FBB}%s\n",string,BagItems[i],tInfo[playerid][item][i],BagItemEinheit[i],string); } } format(string,sizeof(string),"%s",string); } } ShowPlayerDialog(playerid,DIALOG_INV,DIALOG_STYLE_MSGBOX,header,string,"close",""); return 1; }
lauf konsole geht er auch alles durch
ingame bekomme ich auch wenn ich den befehl eingebe Unkowen commend obwohl er alles ausführt wie z.B. ApplyAnimation bis halt irgendwas mit dem auslesen
danke
-
Bei diesem Code fallen mir so viele komische Dinge auf, dass ich mich frage, wieso du nicht erst einmal die Basics mehr lernst...
- Der Hauptfehler besteht daran, dass vermutlich BagItems und tInfo nicht die selbe Größe haben...musst natürlich schauen, dass du die Schleife über die wesentliche Variable laufen lässt.
- Wieso startest du bei der Schleife bei 1?!?!?!?!?! Arrays starten bei 0
- Zeile 30 ist nonsense
- Zeile 16..wieso eine Klammer? Das ist Quatsch
- Wenn du schon DEBUGs machst, zeige uns doch diese auch
Aber wie gesagt, der Fehler liegt in der Schleife. Du greifst auf einen Index zu, der nicht existiert.
-
-
Ja sizeof(tInfo[]) ist Quatsch, du willst sizeof(BagItems) und lösche das =1...ich wiederhole: Arrays starten bei 0.
#Handy
-
Ja hab nochmal nachgedacht und ist ja logisch das ich die sizeof bagitems brauche 😅 Denkfehler
Moin mal ne frage wie heißt die funktion um Objekte ingame zu bewegen also mit diesem Koordinaten system wo ich xyz ziehen kann und auch abspeichern kann.
-
Kann mir wer verraten wie man eine Farbe abspeichert mit Dini?
-
Kann mir wer verraten wie man eine Farbe abspeichert mit Dini?
Eine Farbe ist eine Zahl, also ein Integer, also https://team.sa-mp.com/wiki/Us…unctions.html#dini_IntSet
-
Mal nen frage, es geht um die MySQL-Sachen.
Bei mir, wenn man sich registriert, dass der Leben auf 0 ist, aber das soll er nicht, sondern auf 100 %.
Und ich finde den Fehler auch nicht. Es soll, wenn man 3-mal Passwort falsch eingibt, Der Fenster kommen, das man gekickt Wirt.
Ich Habe mein Code im pastebin gepackt, dass hier Sons zulangt wäre
// Selfmade#include <a_samp>#include <a_mysql>#include <md5>#inc - Pastebin.comPastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.pastebin.com -
-
Code
forward OnPlayerRegister(playerid); public OnPlayerRegister(playerid) { pInfo[playerid][db_id]=cache_insert_id(Handle); TogglePlayerSpectating(playerid,0); print("OnPlayerRegister aufgerufen"); SpawnPlayer(playerid); SetCameraBehindPlayer(playerid); return 1; }
Setz ihm da das Leben doch einfach auf 100
-
Code
forward OnPlayerRegister(playerid); public OnPlayerRegister(playerid) { pInfo[playerid][db_id]=cache_insert_id(Handle); TogglePlayerSpectating(playerid,0); print("OnPlayerRegister aufgerufen"); SpawnPlayer(playerid); SetCameraBehindPlayer(playerid); return 1; }
Setz ihm da das Leben doch einfach auf 100
ich habe
hinzugefügt aber keine Veränderung.
Code
Alles anzeigenforward OnPlayerRegister(playerid); public OnPlayerRegister(playerid) { pInfo[playerid][db_id]=cache_insert_id(Handle); TogglePlayerSpectating(playerid,0); print("OnPlayerRegister aufgerufen"); pInfo[playerid][pLeben]=100; SpawnPlayer(playerid); SetCameraBehindPlayer(playerid); return 1; }
-
Code
Alles anzeigenforward OnPlayerRegister(playerid); public OnPlayerRegister(playerid) { pInfo[playerid][db_id]=cache_insert_id(Handle); TogglePlayerSpectating(playerid,0); print("OnPlayerRegister aufgerufen"); SetPlayerHealth(playerid, 100.0); SpawnPlayer(playerid); SetCameraBehindPlayer(playerid); return 1; }
Du solltest dafür auch die Game-Function nutzen.
-
Code
Alles anzeigenforward OnPlayerRegister(playerid); public OnPlayerRegister(playerid) { pInfo[playerid][db_id]=cache_insert_id(Handle); TogglePlayerSpectating(playerid,0); print("OnPlayerRegister aufgerufen"); SetPlayerHealth(playerid, 100.0); SpawnPlayer(playerid); SetCameraBehindPlayer(playerid); return 1; }
Du solltest dafür auch die Game-Function nutzen.
ich habe das so übernommen aber im datenbank steht immer noch 0
ich füge meine logs hinzu.
-
ich habe das so übernommen aber im datenbank steht immer noch 0
Natürlich hat das keine Auswirkungen auf deine Datenbank.
Nur weil du es setzt, wird es bekanntlich nicht gespeichert. In deinem Fall speichert er die HP beim Disconnect
-
Natürlich hat das keine Auswirkungen auf deine Datenbank.
Nur weil du es setzt, wird es bekanntlich nicht gespeichert. In deinem Fall speichert er die HP beim Disconnect
ich möchte gerne das nach Registrierung auf 100 ist und nicht erst nach Login.
also es soll auch im Datenbank stehen auf 100
-
ich möchte gerne das nach Registrierung auf 100 ist und nicht erst nach Login.
also es soll auch im Datenbank stehen auf 100
Dann musst du es nur initiieren. Genau wie du es in deinem SpielerSpeichern-Stock getan hast.
-
Beitrag von Ioannis20x ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: hat sich erledigt :) (). -
Beitrag von Ioannis20x ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: gelöst :) (). -
Ahoi, habe heute mit einen Kumpel auf dem Server Sachen getestet.
Allerdings bekommen wir beim anschießen keinen Schaden.
Wobei kann das liegen?
Welche Informationen benötigt ihr?
Video vom ganzen Geschehen: