Jetzt geht er die Schleife durch aber zu "Destroy" kommt er nicht.
[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
-
-
Dann funktionieren entweder die Funktionen nicht richtig, oder die Objekte werden gar nicht mit dem Streamer erstellt (wenn Valid überall 0 ist).
-
Kann es eventuell Möglich sein das die Funktion "IsValidDynamicObject()" rum spinnt?
Hatte das schon mal, dann hab ich es raus genommen dann ging es, ich kann es ja mal ohne Probieren.//EDIT:
Jeffry: Sorry, wenn ich dich immer direkt anspreche
for (new id = 0, j = 1000; id < j; id++)
{
if ( Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID) <= 89)
{
printf("Destroy");
DestroyDynamicObject(id);
}
}
print("Fertig.");So hat es geklappt, ob die Objekte jetzt entfernt wurden konnte ich nicht sehen, aber es wurde immer Destroy ausgegeben.

-
Hey,
habe ein Problem mit "meinem" Spectator-System.
Wenn der zu beobachtende Spieler das Interior und die virtuelle Welt wechselt updatet Spec nichtCode:
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
if(IsBeingSpeced[playerid] == 1){
for(new i=0;i<MAX_PLAYERS;i++){
if(spectatorid[i] == playerid){
SetPlayerInterior(i,GetPlayerInterior(playerid));
SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(playerid));
}
}
}
return 1;
}Mehr Infos im Hauptthread, wo ich es fast 1:1 auf mein Script übernommen habe (außer dem foreach alles gleich - habe es mit GetPlayerPos() versucht, geht nicht). Grund ist, dass der Codeschnipsel für einge verwirrend sein kann:
http://forum.sa-mp.com/showthread.php?t=298656
Mit freundlichen Grüßen
Domain -
So hat es geklappt, ob die Objekte jetzt entfernt wurden konnte ich nicht sehen, aber es wurde immer Destroy ausgegeben.
Klar, weil wohl immer 0 ausgegeben wird, und 0 ist kleiner als 89. Aber schau mal ob die Objekte weg sind.Domain_26:
Das ist keine kleine Frage.
Mache bitte einen Thread auf und poste deinen Spectate-Befehl. -
Warum benutzt du statt GetPlayerInterior(playerid) nicht einfach die festgelegte Variable newinterior?
Wenn es dort nicht klappt, könntest du ja mal bei OnPlayerUpdate Probieren.Ansonsten Probiere das mal:
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
if(IsBeingSpeced[playerid] == 1){
for(new i=0;i<MAX_PLAYERS;i++){
if(spectatorid[i] == playerid){
TogglePlayerSpectating(i, false);
SetPlayerInterior(i,GetPlayerInterior(playerid));
SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(playerid));
TogglePlayerSpectating(i, true);
}
}
}
return 1;
}Jeffry, die Objekte sollten weg sein, hatte mir ein kleinen befehl gebastelt der Zählt wieviel Dynamische Objekte noch sind und sie wurden immer entfernt, Danke

-
Kann mir jemand sagen wie ich vorran gehen soll um eine Funktion einzubauen mit der ich mich teleportieren kann, zu dem Punkt wohin ich mit einer Waffe schieße?
Das Ganze möchte ich aber nicht mit den fX, fY unf fZ Koordinaten machen, es sollte schon Möglich sein sich auf gemappte Objekte zu teleportieren. Ich habe ein Tipp von Slice bekommen und er meinte ich kann das mit z.B. 10 Timern machen, kann mir jemand den Anfang geben?
-
Kann mir jemand sagen wie ich vorran gehen soll um eine Funktion einzubauen mit der ich mich teleportieren kann, zu dem Punkt wohin ich mit einer Waffe schieße?
Das Ganze möchte ich aber nicht mit den fX, fY unf fZ Koordinaten machen, es sollte schon Möglich sein sich auf gemappte Objekte zu teleportieren. Ich habe ein Tipp von Slice bekommen und er meinte ich kann das mit z.B. 10 Timern machen, kann mir jemand den Anfang geben?
Probiere es doch mal mit dem Callback.
https://wiki.sa-mp.com/wiki/OnPlayerWeaponShotDas sollte schon damit Möglich sein, verstehe nicht warum du es nicht damit machen willst.
-
Probiere es doch mal mit dem Callback.
https://wiki.sa-mp.com/wiki/OnPlayerWeaponShotDas sollte schon damit Möglich sein, verstehe nicht warum du es nicht damit machen willst.
Weil ich damit nicht auf gemappte Objekte schießen kann, und zu Bluebery teleportiert werde, steht ja dort..
-
Dann würde es aber noch vom Streamer ein Callback geben.
public OnShootDynamicObject(playerid, weaponid, objectid, Float:fX, Float:fY, Float:fZ)
{
}//EDIT:
Jeffry:
for (new id = 0, j = CountDynamicObjects(); id < j; id++)
{
if (Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID) <= 89)
{
DestroyDynamicObject(id);
}
}So klappt es leider auch nicht, der entfernt trotzdem jedes Object, egal in welcher Welt.
-
-
Dann musst du es doch über die Position machen, anders geht es dann nicht, wenn du keinen Zugriff auf den Code hast.
-
case DIALOG_UPGRADE_HEAL:
{
new headerstring[32];
if(response == 0)
{
format(headerstring,sizeof(headerstring),""#SERVERFARBE"Upgrade "#HTML_GREEN"(%ip)",Spieler[playerid][pUpgradePoints]);
format(string,sizeof(string),""#HTML_WHITE"Spawnheal "#HTML_PURPEL"(%i/100)\n"#HTML_WHITE"Handelsgeschick "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Drogensucht "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Alkohol "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Fähigkeitsstärke "#HTML_PURPEL"(%i/5)",
20*Spieler[playerid][pUpgradeSkill][0],Spieler[playerid][pUpgradeSkill][1],Spieler[playerid][pUpgradeSkill][2],Spieler[playerid][pUpgradeSkill][3],Spieler[playerid][pUpgradeSkill][4]);
return ShowPlayerDialog(playerid,DIALOG_UPGRADE_LIST,DIALOG_STYLE_LIST,headerstring,string,"Auswählen","Abbrechen");
}
else
{
if((Spieler[playerid][pUpgradeSkill][0]) >= 5)return SendClientMessage(playerid,GRAU,"Du hast bereits die volles Spawnheal");
if((Spieler[playerid][pUpgradePoints] - 20) < 0)return SendClientMessage(playerid,GRAU,"Du hast nicht genug Upgradepunkte (20p)");
Spieler[playerid][pUpgradePoints] -= 20;
Spieler[playerid][pUpgradeSkill][0]++;
format(string,sizeof(string),""#HTML_PURPEL"[SPAWNHEAL]"#HTML_WHITE": Du spawnst nun immer mit %i Leben",Spieler[playerid][pUpgradeSkill][0]*20);
SendClientMessage(playerid,WEISS,string);
return 1;
}
}Drücke ich auf "Auswählen" so stürzt komplett der server ab.. kann wer mir sagen woran es liegen kann?
-
Man könnte so nur schätzen bzw man müsste lange danach suchen. Nehme das crashdetect plugin und zeige uns dann den code, wenn der server nochmals abstürzt
-
Hi, also
es wird nicht eingespeichert in die Datenbank, wieso?if(strlen(Haus[HausID][hMieter1]) < 1)
{
format(SQL1, sizeof(SQL1), "UPDATE hauser SET Mieter1 = '%s' WHERE ID = '%d'",GetName(playerid), HausID);
mysql_query(SQL1);
return 1;
} -
printf("Länge: %d", strlen(Haus[HausID][hMieter1]));
if(strlen(Haus[HausID][hMieter1]) < 1)
{
printf("Aufgerufen");
format(SQL1, sizeof(SQL1), "UPDATE hauser SET Mieter1 = '%s' WHERE ID = '%d'",GetName(playerid), HausID);
mysql_query(SQL1);
printf("Query: %s", SQL1);
return 1;
}Was steht so im Server Log?
-
Länge: 1
Aufgerufen
Query: -
Wie hast du SQL1 deklariert?
-
Beitrag von [KoSoVa] ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Jeffry: oder all die anderen

Woran liegt das Problem? Die Include befindet sich im Ordner..
C:\Users\Dave\Desktop\JustMe's Wonderland\pawno\include\YSI\y_hooks\impl.pwn(70) : fatal error 100: cannot read from file: "internal\y_version"
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
-
Starte die pawno.exe aus dem /pawno/ Ordner, und öffne deinen Code über die "Öffnen" Funktion.
Wenn das nicht geht, dann ist die Include wohl nicht in /pawno/includes/... drin, sondern vielleicht nur in dem /includes/ Ordner (der im Hauptordner), dort geht es nicht. -