if(strval(inputtext) == randomCode)
[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
-
-
Benutze
if(oldstate == PLAYER_STATE_ONFOOT && newstate == KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 230.8787,184.3384,1003.0313))
{
SendClientMessage(playerid,-1,"hi");
}
}
undif(newstate & KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 230.8787,184.3384,1003.0313))
{
SendClientMessage(playerid,-1,"hi");
}
}Bekomme aber keine nachricht ?
Bin direkt neben dem Punkt
-
Benutze
Du bist im falschen Callback.
Du musst das unter: http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange verwenden.
Dort hast das newkeys und nicht newstate, das ist etwas anderes
-
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" ?
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.
-
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 -
Beitrag von Dr. Frauenarzt ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Erledigt (). -
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ätFraktionen: 1 - Polizei
2- Medic
3- Hitmenocmd@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); // FehlerzeileHab 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;
}