Habe es mitlerweile gefixxt.
Ich habe in der a_InfoText das Array vergrößert 200 > 256
[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
-
-
Du kannst auch die Angang der Größe im Funktionskopf komplett entfernen, sprich:
a_InfoText[] -
public OnVehicleMod(playerid, vehicleid, componentid){ if(GetPlayerInterior(playerid) >= 1 && GetPlayerInterior(playerid) <= 3) { switch(componentid) { case 1024: GivePlayerMoney(playerid, -50); case 1006: GivePlayerMoney(playerid, -80); case 1004, 1145, 1013, 1091, 1086: GivePlayerMoney(playerid, -100); case 1005, 1143, 1022, 1035, 1088: GivePlayerMoney(playerid, -150); case 1021, 1009, 1002, 1016, 1068, 1153: GivePlayerMoney(playerid, -200); case 1011: GivePlayerMoney(playerid, -220); case 1012, 1020, 1003, 1067: GivePlayerMoney(playerid, -250); case 1019: GivePlayerMoney(playerid, -300); case 1018, 1023, 1093: GivePlayerMoney(playerid, -350); case 1014, 1000: GivePlayerMoney(playerid, -400); case 1163, 1090, 1070: GivePlayerMoney(playerid, -450); case 1008, 1007, 1017, 1015, 1044, 1043, 1036: GivePlayerMoney(playerid, -500); case 1045: GivePlayerMoney(playerid, -510); case 1001, 1158, 1069, 1164: GivePlayerMoney(playerid, -550); case 1050, 1058, 1097: GivePlayerMoney(playerid, -620); case 1162, 1089: GivePlayerMoney(playerid, -650); case 1028, 1085: GivePlayerMoney(playerid, -770); case 1122, 1106, 1108, 1118: GivePlayerMoney(playerid, -780); case 1134: GivePlayerMoney(playerid, -800); case 1082: GivePlayerMoney(playerid, -820); case 1064, 1133: GivePlayerMoney(playerid, -830); case 1165, 1167, 1065: GivePlayerMoney(playerid, -850); case 1175, 1177, 1172, 1080: GivePlayerMoney(playerid, -900); case 1100, 1119, 1192: GivePlayerMoney(playerid, -940); case 1173, 1161, 1166, 1168: GivePlayerMoney(playerid, -950); case 1010, 1149, 1176, 1042, 1136, 1025, 1096, 1174: GivePlayerMoney(playerid, -1000); case 1155, 1154: GivePlayerMoney(playerid, -1030); case 1160, 1159: GivePlayerMoney(playerid, -1050); case 1150: GivePlayerMoney(playerid, -1090); case 1193, 1073: GivePlayerMoney(playerid, -1100); case 1190, 1078: GivePlayerMoney(playerid, -1200); case 1135, 1087: GivePlayerMoney(playerid, -1500); case 1083, 1076: GivePlayerMoney(playerid, -1560); case 1179, 1184: GivePlayerMoney(playerid, -2150); case 1046: GivePlayerMoney(playerid, -710); case 1152: GivePlayerMoney(playerid, -910); case 1151: GivePlayerMoney(playerid, -840); case 1054: GivePlayerMoney(playerid, -210); case 1053: GivePlayerMoney(playerid, -130); case 1049: GivePlayerMoney(playerid, -810); case 1047: GivePlayerMoney(playerid, -670); case 1048: GivePlayerMoney(playerid, -530); case 1066: GivePlayerMoney(playerid, -750); case 1034: GivePlayerMoney(playerid, -790); case 1037: GivePlayerMoney(playerid, -690); case 1171: GivePlayerMoney(playerid, -990); case 1148: GivePlayerMoney(playerid, -890); case 1038: GivePlayerMoney(playerid, -190); case 1146: GivePlayerMoney(playerid, -490); case 1039: GivePlayerMoney(playerid, -390); case 1059: GivePlayerMoney(playerid, -720); case 1157: GivePlayerMoney(playerid, -930); case 1156: GivePlayerMoney(playerid, -920); case 1055: GivePlayerMoney(playerid, -230); case 1061: GivePlayerMoney(playerid, -180); case 1060: GivePlayerMoney(playerid, -530); case 1056: GivePlayerMoney(playerid, -520); case 1057: GivePlayerMoney(playerid, -430); case 1029: GivePlayerMoney(playerid, -680); case 1169: GivePlayerMoney(playerid, -970); case 1170: GivePlayerMoney(playerid, -880); case 1141: GivePlayerMoney(playerid, -980); case 1140: GivePlayerMoney(playerid, -870); case 1032: GivePlayerMoney(playerid, -170); case 1033: GivePlayerMoney(playerid, -120); case 1138: GivePlayerMoney(playerid, -580); case 1139: GivePlayerMoney(playerid, -470); case 1026: GivePlayerMoney(playerid, -480); case 1031: GivePlayerMoney(playerid, -370); case 1092: GivePlayerMoney(playerid, -750); case 1128: GivePlayerMoney(playerid, -3340); case 1103: GivePlayerMoney(playerid, -3250); case 1183: GivePlayerMoney(playerid, -2040); case 1182: GivePlayerMoney(playerid, -2130); case 1181: GivePlayerMoney(playerid, -2050); case 1104: GivePlayerMoney(playerid, -1610); case 1105: GivePlayerMoney(playerid, -1540); case 1126: GivePlayerMoney(playerid, -3340); case 1127: GivePlayerMoney(playerid, -3250); case 1185: GivePlayerMoney(playerid, -2040); case 1180: GivePlayerMoney(playerid, -2130); case 1178: GivePlayerMoney(playerid, -2050); case 1123: GivePlayerMoney(playerid, -860); case 1125: GivePlayerMoney(playerid, -1120); case 1130: GivePlayerMoney(playerid, -3380); case 1131: GivePlayerMoney(playerid, -3290); case 1189: GivePlayerMoney(playerid, -2200); case 1188: GivePlayerMoney(playerid, -2080); case 1187: GivePlayerMoney(playerid, -2175); case 1186: GivePlayerMoney(playerid, -2095); case 1129: GivePlayerMoney(playerid, -1650); case 1132: GivePlayerMoney(playerid, -1590); case 1113: GivePlayerMoney(playerid, -3340); case 1114: GivePlayerMoney(playerid, -3250); case 1117: GivePlayerMoney(playerid, -2040); case 1115: GivePlayerMoney(playerid, -2130); case 1116: GivePlayerMoney(playerid, -2050); case 1109: GivePlayerMoney(playerid, -1610); case 1110: GivePlayerMoney(playerid, -1540); case 1191: GivePlayerMoney(playerid, -1040); case 1079: GivePlayerMoney(playerid, -1030); case 1075: GivePlayerMoney(playerid, -980); case 1077: GivePlayerMoney(playerid, -1620); case 1074: GivePlayerMoney(playerid, -1030); case 1081: GivePlayerMoney(playerid, -1230); case 1084: GivePlayerMoney(playerid, -1350); case 1098: GivePlayerMoney(playerid, -1140); } } return 1;}
Hatte ich noch hier, ich weiß dennoch nicht wer die Liste erstellt hatte (bin mir sicher das ich sie nicht erstellt habe :'d).Danke, sowas hatte ich gesucht.
Bin nun aber gleichzeitig auch fündig geworden.
-
Hmm wie kann ich GetPlayerColor in einem stock einbauen?
Hab es so, aber das geht ja so nicht..
stock pColor(playerid){ GetPlayerColor(playerid) >>> 8);}
Edit:
Ach hat sich erledigt, so geht's richtig xD
stock pColor(playerid)
{
GetPlayerColor(playerid) >>> 8
} -
Wieso wird bei mir immer nur ein Object erstellt ?
forward LadeBlitzerSystem();
public LadeBlitzerSystem(){
new rows, fields, result[128], Blitzerr = 0;
cache_get_data(rows, fields);
if(rows){
while(Blitzerr < rows){
if(Blitzerr < MAX_BLITZER){
Blitzer[Blitzerr][b_x] = cache_get_field_content_float(0, "x");
Blitzer[Blitzerr][b_y] = cache_get_field_content_float(0, "y");
Blitzer[Blitzerr][b_z] = cache_get_field_content_float(0, "z");
Blitzer[Blitzerr][b_a] = cache_get_field_content_float(0, "a");
Blitzer[Blitzerr][b_gesch] = cache_get_field_content_int(0, "geschwindigkeit");
cache_get_field_content(0, "position", result);
format(Blitzer[Blitzerr][b_ort], 100, "%s", result);
if(Blitzer[Blitzerr][b_x] != 0.0){
Blitzer[Blitzerr][b_erstellt] = 1;
Blitzer[Blitzerr][b_obj] = CreateDynamicObject(18880,Blitzer[Blitzerr][b_x],Blitzer[Blitzerr][b_y],Blitzer[Blitzerr][b_z]-2.0,0.0,0.0,Blitzer[Blitzerr][b_a]+180);
}
Blitzerr++;
}
}
}
printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows);
return 1;
} -
Wieso wird bei mir immer nur ein Object erstellt ?
forward LadeBlitzerSystem();public LadeBlitzerSystem(){ new rows, fields, result[128], Blitzerr = 0; cache_get_data(rows, fields); if(rows){ while(Blitzerr < rows){ if(Blitzerr < MAX_BLITZER){ Blitzer[Blitzerr][b_x] = cache_get_field_content_float(0, "x"); Blitzer[Blitzerr][b_y] = cache_get_field_content_float(0, "y"); Blitzer[Blitzerr][b_z] = cache_get_field_content_float(0, "z"); Blitzer[Blitzerr][b_a] = cache_get_field_content_float(0, "a"); Blitzer[Blitzerr][b_gesch] = cache_get_field_content_int(0, "geschwindigkeit"); cache_get_field_content(0, "position", result); format(Blitzer[Blitzerr][b_ort], 100, "%s", result); if(Blitzer[Blitzerr][b_x] != 0.0){ Blitzer[Blitzerr][b_erstellt] = 1; Blitzer[Blitzerr][b_obj] = CreateDynamicObject(18880,Blitzer[Blitzerr][b_x],Blitzer[Blitzerr][b_y],Blitzer[Blitzerr][b_z]-2.0,0.0,0.0,Blitzer[Blitzerr][b_a]+180); } Blitzerr++; } } } printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows); return 1;}
So müsste es funktionieren.forward LadeBlitzerSystem();
public LadeBlitzerSystem(){
new rows, fields, result[128];
cache_get_data(rows, fields);
if(rows)
{
for(new rowid = 0; rowid < rows; rowid++)
{
if(rowid >= MAX_BLITZER)
break;
Blitzer[rowid][b_x] = cache_get_field_content_float(rowid, "x");
Blitzer[rowid][b_y] = cache_get_field_content_float(rowid, "y");
Blitzer[rowid][b_z] = cache_get_field_content_float(rowid, "z");
Blitzer[rowid][b_a] = cache_get_field_content_float(rowid, "a");
Blitzer[rowid][b_gesch] = cache_get_field_content_int(rowid, "geschwindigkeit");
cache_get_field_content(rowid, "position", result);
format(Blitzer[rowid][b_ort], 100, "%s", result);
if(Blitzer[rowid][b_x] != 0.0)
{
Blitzer[rowid][b_erstellt] = 1;
Blitzer[rowid][b_obj] = CreateDynamicObject(18880,Blitzer[rowid][b_x],Blitzer[rowid][b_y],Blitzer[rowid][b_z]-2.0,0.0,0.0,Blitzer[rowid][b_a]+180);
}
}
}
printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows);
return 1;
} -
Hi, wird der Rest meines Codes im Public aufgerufen wenn ich return 0; in der folgenden Funktion verwende?
if(AntiWeaponHackSetting == false)
{
AntiWeap[playerid] = SetTimerEx("AntiWeaponHack", 5000, true, "i", playerid);
return 0;
}Also, alles was danach steht (public) wird das noch ausgeführt?
-
Hey, kann mir jemand sagen, warum mein 3DTextLabel nicht angezeigt wird?
Codeformat(string,sizeof(string),"Zum Verkauf:\n%s\n%d",GetVehicleName(ahCars[i][vehID]),ahCars[i][price]); Create3DTextLabel(string,COLOR_WHITE,ahCars[i][posX],ahCars[i][posY],ahCars[i][posZ],20.0,0,0);Hier die GetVehicleName Methode, sie müsste funktionieren, da sie bei meinem Tacho auch funktioniert.
-
Anstatt COLOR_WHITE probier mal -1

-
Hi, wird der Rest meines Codes im Public aufgerufen wenn ich return 0; in der folgenden Funktion verwende?
Nein, außer AntiWeaponHackSetting ist true, sprich der Timer und das return 0 werden nicht aufgerufen. Sobald aber return 0 aufgerufen wird, wird das aktuelle public beendet.
-
Anstatt COLOR_WHITE probier mal -1
Funktioniert trotzdem net.

//Edit
Habs geschafft, ich dummerchen habe immer die ModelID übergeben nicht die ID des Vehicles. -
Hey, ich arbeite an einem kleinen System, habe ein Ansatz wie ich das machen soll aber weiß nicht wie ich das 100 % richtig mache.
Du hast als Spieler die Möglichkeit ein Feature zu kaufen, solltest du dieses Feature besitzen hast du die Chance in der Nähe eines Spielers zu spawnen.
Aktuell sieht das so aus:
Frage:
Wie frage ich die Position von nur einem einzigen Spieler ab und teleportiere den Spieler auch nur einmal? Ist sonst alles andere richtig oder habe ich was falsch gemacht?
if(pData[playerid][P_SpawnPeople] == 1) //Prüfen ob der Spieler das Feauture besitzt
{
if(pData[playerid][P_Watching] == false || IsInLobby[playerid] == false || InDuel[playerid] == false) //Gegner befindet sich nicht im Spec, in der Lobby oder im Duel
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float: x, Float: y, Float:z;
GetPlayerPos(i, x, y, z); //Position vom Gegner abfragen
SetPlayerPos(playerid, x+2, y, z); //Spieler zum Gegner teleportieren
}
}else //Spieler besitzt nicht das Feature und wird normal gespawnt
{
SetPlayerRandomPos(playerid);
}return 1;
} -
Alles anzeigen
Hey, ich arbeite an einem kleinen System, habe ein Ansatz wie ich das machen soll aber weiß nicht wie ich das 100 % richtig mache.
Du hast als Spieler die Möglichkeit ein Feature zu kaufen, solltest du dieses Feature besitzen hast du die Chance in der Nähe eines Spielers zu spawnen.
Aktuell sieht das so aus:
Frage:
Wie frage ich die Position von nur einem einzigen Spieler ab und teleportiere den Spieler auch nur einmal? Ist sonst alles andere richtig oder habe ich was falsch gemacht?
if(pData[playerid][P_SpawnPeople] == 1) //Prüfen ob der Spieler das Feauture besitzt { if(pData[playerid][P_Watching] == false || IsInLobby[playerid] == false || InDuel[playerid] == false) //Gegner befindet sich nicht im Spec, in der Lobby oder im Duel for(new i = 0; i < MAX_PLAYERS; i++) { new Float: x, Float: y, Float:z; GetPlayerPos(i, x, y, z); //Position vom Gegner abfragen SetPlayerPos(playerid, x+2, y, z); //Spieler zum Gegner teleportieren } } else //Spieler besitzt nicht das Feature und wird normal gespawnt { SetPlayerRandomPos(playerid); } return 1;}
lass die schleife unterbrechen sobald er einen der die vorausetzungen erfüllt gefunden hat (glaube nach den SetPlayerPOs darunter break; machen
-
Code
Alles anzeigenif(pData[playerid][P_SpawnPeople] == 1) //Prüfen ob der Spieler das Feauture besitzt { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue; // Logisch if(pData[i][P_Watching] != false || IsInLobby[i] != false || InDuel[i] != false)continue; //i befindet sich im Spec, in der Lobby oder im Duel new Float: x, Float: y, Float:z; GetPlayerPos(i, x, y, z); //Position vom Gegner abfragen SetPlayerPos(playerid, x+2, y, z); //Spieler zum Gegner teleportieren break; } return 1; } else SetPlayerRandomPos(playerid); return 1; -
Hmm habe das so eingefügt, es scheint nicht zu funktionieren (ich werde zum 0 Punkt teleportiert (Blueberry))
Habe Nachrichten ausgeben lassen um zu überprüfen ob es aufgerufen wird:
"Feature activated" taucht einmal auf, aber man wird nicht zu den Spielern teleportiert.
"Normal Spawn appeared" taucht komischerweise zwei mal auf.if(pData[playerid][P_SpawnPeople] == 1) //Prüfen ob der Spieler das Feauture besitzt
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue; // Logisch
if(pData[i][P_Watching] != false || IsInLobby[i] != false || InDuel[i] != false)continue; //i befindet sich im Spec, in der Lobby oder im Duel
new Float: x, Float: y, Float:z;
GetPlayerPos(i, x, y, z); //Position vom Gegner abfragen
SetPlayerPos(playerid, x+2, y, z); //Spieler zum Gegner teleportieren
SendClientMessage(playerid, -1, "Feature activated");
break;
}
return 1;
}else
{
SetPlayerRandomPos(playerid);
SendClientMessage(playerid, -1, "Normal spawned appeared");
}return 1;
}
-
Irgendwie möchte mein 3DTextLabel nicht erstellt werden. Findet jemand den Fehler?
updateATM(id)
{
Delete3DTextLabel(atmInfo[id][a_text]); // Im Enum ist a_text als Text3D: ... deklariert.
new string[128];
format(string,sizeof(string),"ATM\nATM verbleidendes Geld: %i$\nATM momentaner Inhalt: %i$",atmInfo[id][a_inventory],atmInfo[id][a_savedmoney]);
atmInfo[id][a_text]=Create3DTextLabel(string,CLR_YELLOW,atmInfo[id][ax],atmInfo[id][ay],atmInfo[id][az],10,0,1);
printf("ID: %i X: %f Y: %f Z: %f",id,atmInfo[id][ax],atmInfo[id][ay],atmInfo[id][az]);
return 1;
}sqlLoadATMs()
{
new query[256],num_fields,num_rows,count;
mysql_format(dbhandle,query,sizeof(query),"SELECT * FROM atms");
mysql_query(dbhandle,query);
cache_get_data(num_rows,num_fields,dbhandle);
if(!num_rows)return 1;
for(new i=0;i<num_rows;i++)
{
count++;
atmInfo[i][a_dbid]=cache_get_field_content_int(i,"id");
atmInfo[i][ax]=cache_get_field_content_float(i,"x");
atmInfo[i][ay]=cache_get_field_content_float(i,"y");
atmInfo[i][az]=cache_get_field_content_float(i,"z");
atmInfo[i][arx]=cache_get_field_content_float(i,"rx");
atmInfo[i][ary]=cache_get_field_content_float(i,"ry");
atmInfo[i][arz]=cache_get_field_content_float(i,"rz");
atmInfo[i][a_inventory]=cache_get_field_content_int(i,"inventory");
atmInfo[i][a_savedmoney]=cache_get_field_content_int(i,"savedmoney");
atmInfo[i][a_id]=CreateObject(2942,atmInfo[i][ax],atmInfo[i][ay],atmInfo[i][az],atmInfo[i][arx],atmInfo[i][ary],atmInfo[i][arz]);
updateATM(i);
}
printf("Es wurde(n) %i ATM(s) geladen.",count);
return 1;
} -
Du hast den Schnipsel anscheint geändert, vielleicht liegt es daran.
Code
Alles anzeigenif(pData[playerid][P_SpawnPeople] == 1) //Prüfen ob der Spieler das Feauture besitzt { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue; // Logisch if(pData[i][P_Watching] != false || IsInLobby[i] != false || InDuel[i] != false)continue; //i befindet sich im Spec, in der Lobby oder im Duel new Float: x, Float: y, Float:z; GetPlayerPos(i, x, y, z); //Position vom Gegner abfragen SetPlayerPos(playerid, x+2, y, z); //Spieler zum Gegner teleportieren SendClientMessage(playerid, -1, "Feature activated"); break; } return 1; } else { SetPlayerRandomPos(playerid); SendClientMessage(playerid, -1, "Normal spawned appeared"); return 1; }Du musst das so in dein Code einfügen.
-
Hab ein Problem mit meinem Biz System und zwar in dem Abschnitt
Code
Alles anzeigenstock IsBusinessCreated(businessid) { new query[200]; format(query, sizeof(query), "SELECT * FROM `firma` WHERE ID = %i", businessid); mysql_tquery(dbhandle,query); mysql_free_result(); new rows = mysql_num_rows(); mysql_free_result(); if(!rows) return false; else return true; return 1; } stock IsBusinessOwned(businessid) { new query[200]; format(query, sizeof(query), "SELECT Besitzer FROM 'firma' WHERE ID = %i", businessid); mysql_tquery(dbhandle,query); mysql_free_result(); new rows = mysql_num_rows(); mysql_free_result(); if(!rows) return false; else return true; return 1; }
Bekomme ich diese Errors -
Deine Mysql Verion beinhaltet keine Funktion wie ( mysql_free_result, mysql_num_rows, mysql_free_result ).
Hast du eine Neue Mysql Version genommen ? -
Deine Mysql Verion beinhaltet keine Funktion wie ( mysql_free_result, mysql_num_rows, mysql_free_result ).
Hast du eine Neue Mysql Version genommen ?Äh Ja hab die Aktuellste, wie könnte man das am besten umschreiben? bin noch nicht 100% mit Mysql geworden

-
