Das was mir da spontan einfallen würde ist, das du einfach abfragst welche waffe du von Spieler XX löschen willst
dann fragen mit GetPlayerWeapon oder so ob er sie hat wenn ja dann setzt du einfach die Waffe erneut aber mit 0 Munnition dadurch verliert er die auch.
Einzelne Waffen
- Beavis
- Geschlossen
- Erledigt
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
-
-
Code
Alles anzeigenstock ResetPlayerWeaponsEx(playerid,...) { new W[] = { 0,0,1,1,1,1,1,1,1,1,10,10,10,10,10,10,8,8, 8,0,0,0,2,2,2,3,3,3,4,4,5,5,4,6,6,7,7,7,7, 8,12,9,9,9,11,11,11,11 }; new idx = 0, tmp = 0, weapons, args = numargs() - 1, bool:Reset[13] = {true,...}; if(IsPlayerConnected(playerid)) { if(args > 0) { if(args <= 46) { while(args > idx++) { new wep = getarg(idx); if(0 <= wep <= 46) { GetPlayerWeaponData(playerid,W[wep],weapons,tmp); if(weapons == wep) { Reset[W[wep]] = false; } } else { printf("ResetPlayerWeaponEx warning: invalid argument (argument: #%d)! \"%d\" is not a valid weapon!", idx+1,wep); } } for(new a = 0; a < 13; a ++) { if(Reset[a]) { GetPlayerWeaponData(playerid,a,weapons,tmp); if(weapons) { SetPlayerAmmo(playerid,weapons,0); weapons = -1; } } else { Reset[a] = true; } } return 1; } print("ResetPlayerWeaponsEx Error: You have specified over 46 weapons! Check for duplicate weapons"); return 1; } ResetPlayerWeapons(playerid); return 1; } return 1; }
Anwendung:
ResetPlayerWeaponsEx(playerid,24,25); // Entfernt die Deagle und Shotgun -
Ah danke, hab aber nen einfacheren Weg gefunden. Einfacht mit SetPlayerAmmo die Munni auf 0 setzen und weg ist die Waffe.
mfg
-
breadfish.de
Hat das Thema geschlossen.