Hi,
Ich bekomme diesen Fehler
error 017: undefined symbol "SetDynamicObjectMaterial"
Hab die neuste streamer version, streamer ist auch includiert
Gibts da ne neue definition für "SetDynamicObjectMaterial" ?
Hi,
Ich bekomme diesen Fehler
error 017: undefined symbol "SetDynamicObjectMaterial"
Hab die neuste streamer version, streamer ist auch includiert
Gibts da ne neue definition für "SetDynamicObjectMaterial" ?
Alles anzeigenHi,
Ich bekomme diesen Fehler
error 017: undefined symbol "SetDynamicObjectMaterial"
Hab die neuste streamer version, streamer ist auch includiert
Gibts da ne neue definition für "SetDynamicObjectMaterial" ?
Die Include sagt folgendes:
SetDynamicObjectMaterial(objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0)
Das deutet also darauf hin, dass du die falsche Include hast. Setze doch mal in die streamer Include:
sofern der Compiler nicht direkt beendet, musst du mal schauen ob du die oben genannte Zeile hast. Sofern ja, muss die Ursache eine andere sein.
Die Include sagt folgendes:
CodeSetDynamicObjectMaterial(objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0)Das deutet also darauf hin, dass du die falsche Include hast. Setze doch mal in die streamer Include:
sofern der Compiler nicht direkt beendet, musst du mal schauen ob du die oben genannte Zeile hast. Sofern ja, muss die Ursache eine andere sein.
Compiler gibt den Error einfach aus und beendet sich nicht.
Das einzige was ich gefunden habe ist:
native SetDynamicObjectMaterial(STREAMER_TAG_OBJECT objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0);
native SetDynamicObjectMaterialText(STREAMER_TAG_OBJECT objectid, materialindex, const text[], materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0);
// EDIT:
Bekomme auch die fehlermeldung das "SetDynamicObjectMaterialText" nicht definiert ist (aber beides vorhanden wie man oben sieht)
Zeig mal dein Code
Du öffnest wahrscheinlich die falsche pawno.exe ![]()
Du öffnest wahrscheinlich die falsche pawno.exe
Ich scripte jetzt auch nicht seit gestern xD
Zeig mal dein Code
Hi,
komme gerade komplett nicht weiter.
Bin gerade bei einem Kick-Befehl, der auch soweit funktioniert, allerdings bekommt der gekickte User die Kick Nachricht nicht.. Wieso?
forward KickTimer(playerid);
ocmd:kick(playerid,params[])
{
if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
if(isPlayerAnAdmin(playerid,2))
{
new pID, string[128], reason;
if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,GRAU, "Befehl: [Name/Spieler-ID] [Grund]");
{
format(string, sizeof(string),"AdmCMD: %s hat %s gekickt. Grund: %s", SpielerDaten[playerid][pName], SpielerDaten[pID][pName], reason);
SetTimerEx("KickTimer", 250, false, "i", pID);
{
SendClientMessage(pID, ADMCMD, string);
SendClientMessageToAll(ADMCMD, string);
Kick(pID);
}
}
}
return 1;
}
Hi,
komme gerade komplett nicht weiter.
Bin gerade bei einem Kick-Befehl, der auch soweit funktioniert, allerdings bekommt der gekickte User die Kick Nachricht nicht.. Wieso?
forward KickTimer(playerid);ocmd:kick(playerid,params[]){if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");if(isPlayerAnAdmin(playerid,2)){new pID, string[128], reason;if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,GRAU, "Befehl: [Name/Spieler-ID] [Grund]");{format(string, sizeof(string),"AdmCMD: %s hat %s gekickt. Grund: %s", SpielerDaten[playerid][pName], SpielerDaten[pID][pName], reason);SetTimerEx("KickTimer", 250, false, "i", pID);{SendClientMessage(pID, ADMCMD, string);SendClientMessageToAll(ADMCMD, string);Kick(pID);}}}return 1;}
Liegt an die Priorisierung der Pakete. Kick() wird zuerst umgesetzt als SendClientMessage(). Deswegen musst du per Timer Kick zeitversetzt ausführen lassen.
Bin gerade bei einem Kick-Befehl, der auch soweit funktioniert, allerdings bekommt der gekickte User die Kick Nachricht nicht.. Wieso?
Als einfachen Fix kannst du folgende Include nutzen, dann musst du am Code nichts ändern: Kick/Ban Fix
Hey,
Wollte mal kurz fragen wie man Fahrzeuge erstellen kann die Abgeschlossen sind bzw das man in die erst garnicht einsteigen kann? (Also nur als Dekorations Fahrzeuge)
Indem du die Fahrzeuge nach dem Erstellen abschließt.
http://wiki.sa-mp.com/wiki/SetVehicleParamsEx
Folgendes Problem: Bei untem genanntem Script treten folgende Bugs auf, mit denen wir schon mehrere Stunden am verweifeln sind...
1. Medic kann /d chat nicht lesen
2. Jede Fraktion kann /f Chat von jeder anderen lesen
3. /f für Medic funktioniert nicht
4. /f bei Hitman (Fraktion 3) braucht man ein manchmal ein Funkgerät
Fraktionen: 1 - Polizei
2- Medic
3- Hitmen
ocmd@2:f,funk(playerid,params[])
{
#pragma unused params
if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
if(SpielerDaten[playerid][pTot] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
if(SpielerDaten[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
new text[96], string[128], string2[128], fv = IsAFraktionsVeh(playerid);
if(sscanf(params, "s[96]", text))return SendClientMessage(playerid, GRAU, "Benutze: /funk [Nachricht]");
// if(SpielerDaten[playerid][pFunkgeraet] == 0 || fv != -1 && fVehicle[fv][vehFraktion] == SpielerDaten[playerid][pFraktion])return SendClientMessage(playerid, GRAU, "Du hast kein Funkgerät mit oder sitzt in keinem Fraktionsfahrzeug!");
if(!(SpielerDaten[playerid][pFraktion] == 1 || SpielerDaten[playerid][pFraktion] == 2 || SpielerDaten[playerid][pFraktion] == 3))return SendClientMessage(playerid, GRAU, "Diesen Befehl kannst du nicht nutzen!");
format(string, sizeof(string), "[Staatsfunk] %s [%s]: %s", GetRoleplayName(playerid), GetFrakAbkuerzung(playerid), text);
format(string2, sizeof(string2), "(( %s %s: %s ))", GetRankName(SpielerDaten[playerid][pFraktion], SpielerDaten[playerid][pRank]), GetRoleplayName(playerid) , text);
for(new i=0;i<GetMaxPlayers();i++)
{
if(Eingeloggt[i] == 1)
{
if(SpielerDaten[i][pFraktion] == 1 || SpielerDaten[i][pFraktion] == 2)
{
if(SpielerDaten[playerid][pFunkgeraet] == 0 || fv != -1 && fVehicle[fv][vehFraktion] == SpielerDaten[playerid][pFraktion])return SendClientMessage(playerid, GRAU, "Du hast kein Funkgerät mit oder sitzt in keinem Fraktionsfahrzeug!");
{
SendClientMessage(i, HELLBLAU, string);
}
}
else if(SpielerDaten[i][pFraktion] == 3)
{
SendClientMessage(i, HELLBLAU, string2);
}
}
}
return 1;
}
ocmd@2:d,department(playerid,params[])
{
#pragma unused params
if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
if(SpielerDaten[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
if(SpielerDaten[playerid][pTot] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
new text[96], string[128], fv = IsAFraktionsVeh(playerid);
if(sscanf(params, "s[96]", text))return SendClientMessage(playerid, GRAU, "Benutze: (/d)department [Nachricht]");
if(SpielerDaten[playerid][pFunkgeraet] == 0 || fv != -1 && fVehicle[fv][vehFraktion] == SpielerDaten[playerid][pFraktion])return SendClientMessage(playerid, GRAU, "Du hast kein Funkgerät mit oder sitzt in keinem Fraktionsfahrzeug!");
if(!(SpielerDaten[playerid][pFraktion] == 1 || SpielerDaten[playerid][pFraktion] == 2))return SendClientMessage(playerid, GRAU, "Diesen Befehl kannst du nicht nutzen!");
format(string ,sizeof(string), "[Funk] %s [%s]: %s", GetRoleplayName(playerid), GetRankName(SpielerDaten[playerid][pFraktion], SpielerDaten[playerid][pRank]), text);
for(new i=0;i<GetMaxPlayers();i++)
{
if(Eingeloggt[i] == 1)
{
if(SpielerDaten[i][pFraktion] == SpielerDaten[playerid][pFraktion])
{
SendClientMessage(i, COLOR_FRAKTIONSCHAT, string);
}
}
}
return 1;
}
1. Medic kann /d chat nicht lesen
Ein Medic kann den /d Chat nur lesen, wenn die Nachricht von einem Medic kommt, nicht von einem Polizist.
2. Jede Fraktion kann /f Chat von jeder anderen lesen
Nur Medic und Polizei können den Chat gemeinsam lesen.
3. /f für Medic funktioniert nicht
Was heißt es funktioniert nicht? Was passiert bzw. passiert nicht?
4. /f bei Hitman (Fraktion 3) braucht man ein manchmal ein Funkgerät
if(SpielerDaten[playerid][pFunkgeraet] == 0 || fv != -1 && fVehicle[fv][vehFraktion] == SpielerDaten[playerid][pFraktion])return SendClientMessage(playerid, GRAU, "Du hast kein Funkgerät mit oder sitzt in keinem Fraktionsfahrzeug!");
Diese Zeile muss aus der Schleife raus und unter Zeile 10 im Befehl eingefügt werden.
PS:
Dieser Thread ist eigentlich für kleine Scripting Fragen gedacht.
Bitte öffne für Fragen deiner Art nächstes mal einen separaten Thread.
WantedLevel[pid] = KTime[playerid];
PlayerInfo[pid][pJailTime] = KTime[playerid] * 60;
SetTimerEx("UnPrison",KTime,0,"i",playerid); // Fehlerzeile
Hab ich schon öfter gehabt, weiß nie wie ich das genau schreiben soll.
error 035: argument type mismatch (argument 2)
Hey,
wo definierst du KTime? und Wie
[b]SetTimerEx("UnPrison",KTime[playerid],0,"i",playerid);[/b]
Ich glaube bei dir Fehlt bei KTime das playerid
Hey,
wo definierst du KTime? und Wie
[b]SetTimerEx("UnPrison",KTime[playerid],0,"i",playerid);[/b]
Ich glaube bei dir Fehlt bei KTime das playerid
new pid;
new KTime[128];
Am anfang des Befehls (arrest)
Hierist der ganze Code
ocmd:arrestpl(playerid,params[])
{
new pid;
new KTime[128];
if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst!");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3.0, 198.0591,159.2369,1003.0234))
{
if(IsACop(pid))
{
SendClientMessage(playerid, COLOR_GRAD2, " Du kannst keinen Beamten einsperren!");
return 1;
}
}
if(GetDistanceBetweenPlayers(playerid,pid) < 5)
{
if(WantedLevel[pid] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht gesucht!");
return 1;
}
new string[128];
format(string, sizeof(string), "* Du hast %s eingesperrt für $%d Sekunden.!", GetName(pid),PlayerInfo[pid][pJailTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
//GivePlayerMoney(pid, -moneys);
format(string, sizeof(string), "Eingesperrt von %s ~n~ fuer $%d Sekunden", GetName(pid), PlayerInfo[pid][pJailTime]);
GameTextForPlayer(pid, string, 5000, 5);
ResetPlayerWeapons(pid);
//PlayerInfo[pid][WantedLevel] = KTime
WantedLevel[pid] = KTime[playerid];
PlayerInfo[pid][pJailTime] = KTime[playerid] * 60;
SetTimerEx("UnPrison",KTime,0,"i",playerid);
//PlayerInfo[pid][pJailTime] = KTime * 60
//WantedPoints[killerid] += 2
if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
{
format(string, sizeof(string), "<< LS Officer %s hat den Verdächtigen %s eingesperrt >>", GetName(playerid), GetName(pid));
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "<< SF Officer %s hat den Verdächtigen %s eingesperrt >>", GetName(playerid), GetName(pid));
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "<< Soldat %s hat den Verdächtigen %s eingesperrt >>", GetName(playerid), GetName(pid));
OOCNews(COLOR_LIGHTRED, string);
}
else if(PlayerInfo[playerid][pMember]==21||PlayerInfo[playerid][pLeader]==21)
{
format(string, sizeof(string), "<< FBI-Agent %s hat den Verdächtigen %s eingesperrt >>", GetName(playerid), GetName(pid));
OOCNews(COLOR_LIGHTRED, string);
}
PlayerInfo[pid][pJailed] = 1;
PlayerInfo[pid][pArrested] += 1;
SetPlayerInterior(pid, 3);
SetPlayerFree(pid,playerid, "Verhaftet");
WantedPoints[pid] = 0;
WantedLevel[pid] = 0;
SetPlayerWantedLevel(pid,0);
WantLawyer[pid] = 1;
}
else
{
SendClientMessage(playerid,-1,"Du bist kein Beamter.");
}
}
return 1;
}
Mit new KTime[128];
definierst du einen String, wenn es eine Zahl darstellen soll musst du [128] entfernen
new KTime; also so
KTime macht aber auch keinen Sinn da es durchgehend 0 ist!
Mit new KTime[128];
definierst du einen String, wenn es eine Zahl darstellen soll musst du [128] entfernen
new KTime; also so
KTime macht aber auch keinen Sinn da es durchgehend 0 ist!
Jetzt hab ich folgende Fehler
15479) : error 028: invalid subscript (not an array or too many subscripts): "KTime"
(15479) : warning 215: expression has no effect
(15479) : error 001: expected token: ";", but found "]"
(15479) : error 029: invalid expression, assumed zero
(15479) : fatal error 107: too many error messages on one line
Fehlerzeile:
WantedLevel[pid] = KTime[playerid];
Warte mal was möchtest du mit KTime bewirken?
kTime ist 0
WantedLevel[pid] = KTime[playerid];
Du gibst nun als WantedLevel den Wert den KTime hat also 0
Also ist nun WantedLevel 0.
Das heißt das dein KTime keinen Sinn hat in deinem Gesamten Code ergibt es keinen Sinn und bringt nichts